tft每日頭條

 > 生活

 > 機器學習用什麼線性代數教程

機器學習用什麼線性代數教程

生活 更新时间:2024-07-29 21:08:04

機器學習與線性代數簡明教程(上)

線性代數在機器學習(ML)和深度學習(DL)中是必不可少的。即使我們努力為許多理論創建精确的機器學習模型,線性代數仍然是這些研究中的重要工具。

正交矩陣

如果方形矩陣a的所有列/行都是正交的,那麼a就是一個正交矩陣

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)1

如果Q由q1到qn列組成,它們彼此正交,如果i = j,内積⟨ qᵢ,qⱼ ⟩等于1,否則為0。因此,QᵀQ= I。方程式Qᵀ= Q-1非常重要。求逆通常是困難的,但對于正交矩陣就不是這樣了。因此,如果我們能将一個矩陣分解成正交矩陣,那将是一個好消息。對于對稱矩陣,我們可以分解它為Q個Λ Q ᵀ,其中Q是一個正交矩陣,Λ是對角矩陣。

奇異和非奇異矩陣

讓我們回顧一下奇異n×n矩陣A的一些屬性:

  • 它不可逆轉。
  • 它的行列式等于零。
  • 列/行是線性相關的。
  • 它的pivots數小于n,也就是說,在行消去之後,它的變量至少有一行是0。
  • 它的特征值等于零。根據特征值定義,如果特征值λ為零,則det(A) = 0,因此,它是奇異的。(我們稍後會讨論特征值。)

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)2

讓我們總結一下奇異和非奇異n×n矩陣之間的區别。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)3

基(Basis)

向量空間的一組基是一系列張成這個空間的線性無關的向量。不同的基可以有不同的向量。但是所有的基都有相同數量的向量。一個子空間的維數等于張成這個子空間的線性無關向量的個數。在執行行消去之後,所有的pivot行/列都可以用來構成a的行/列空間的一組基。Ax=0的n - r特解可以構成n (a)的零空間的一組基。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)4

消去,置換,旋轉,反射矩陣

在線性代數中,我們可以使用矩陣乘法來定義一些矩陣運算。行消去可以被視為将矩陣與消去矩陣相乘。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)5

置換矩陣,交換矩陣中的行。對于每個行和列,它隻允許一個元素等于1,其他元素必須為0。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)6

旋轉矩陣的形式為

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)7

反射矩陣的形式為

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)8

這就産生了沿u的反射。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)9

所有置換,旋轉,反射矩陣都是正交矩陣。它的逆矩陣等于它的轉置,P -1 =Pᵀ。

LU分解

如所讨論的,高斯消元中的步驟可以表示為矩陣乘法。例如,在下面的3×3矩陣A中,我們使用矩陣E 21來使用第1行消去第2行的前導元素。它的結果等于U,一個上三角矩陣我們用回代來計算結果。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)10

Eᵢⱼ和它們的組合E都是下三角矩陣。我們将E形成L(L = E -1)。L也是下三角矩陣。LU分解就是把A分解成下三角矩陣L和上三角矩陣U。

例,

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)11

或者,有時我們希望L和U的對角元素都是1。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)12

其中D是一個對角矩陣,它的對角元素包含了pivots。

這是我們第一個矩陣分解的例子。它們在線性代數中起着非常重要的作用。例如,高斯消元可以被視為矩陣分解過程。

矩陣乘法表示

為了計算矩陣乘法(C ^ = AB),我們計算C元素ᵢⱼ作為A的rowiB的column的點積。

AB的乘法結果的列i是A與相應的列i (B)的乘積。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)13

或者,乘法結果的第i行是A的第i行與B的乘法。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)14

或者,乘法的結果是A中的第i列和B中的第i行使用外積的乘積的和。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)15

以下是一個示例,右下方的每個項都在rank 1。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)16

回想起來,我們也可以将矩陣和向量的乘法視為

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)17

投影

在下圖中,我們将向量b投影到a上。 投影向量p的長度x等于内積aᵀb。 并且p等于

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)18

e垂直于p并将p和b連接在一起。在一種情況下,投影試圖最小化這個可以看作誤差向量的向量e。現在來看看一個更難的問題。對于一個多維空間,我們如何将一個向量投影到a的列空間上(空間由Ax張成)?讓我們用xᵢ和A(aᵢ)的基來表示p

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)19

我們将用投影矩陣P來建模這個投影

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)20

其中P和p可以從A算出

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)21

證明

因為p正交于e,基中的每個向量也垂直于e。我們可以将這些條件(如下圖所示)改寫成矩陣形式。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)22

我們可以解這個等式

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)23

注意:我們可以解逆(AᵀA)-1,其中A(AᵀA)-1Aᵀ變為A A -1(Aᵀ)-1Aᵀ,即I。因此,p = b。這是錯誤的,因為隻有當A是可逆的時,(AᵀA)-1等于A -1(Aᵀ)-1。即使對于非方形矩陣,A也是不可逆的。

此外,P = P²= Pⁿ——因為列空間上的投影向量,其投影等于本身。

最小二乘方誤差

通常,不可能找到Ax = b的精确解。相反,我們希望找到最适合數據的x,例如,我們希望最小二乘方誤差

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)24

上面的等式與我們的預測具有相同的目标。Recall

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)25

x̂将實現我們的解

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)26

因此,我們可以使用上面的等式來計算x(使用b和A)。然而,在機器學習中,數據是有噪聲的。 測量或觀察到的b具有噪聲。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)27

但是,如果我們知道b是如何分布的,以及成分是如何相關的,我們可以将這些信息轉換為對x進行更好的估計。協方差和方差定義為

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)28

方差衡量屬性(變量)如何變化,而協方差是兩個屬性如何變化的方式。下面的左圖是一般協方差矩陣。如果所有屬性彼此無關,則所有非對角元素将為零,如下面的中間圖所示。當這些數據也标準化時,就會出現右圖。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)29

配備b的協方差矩陣V,我們可以解決x

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)30

在前面的等式中,對于每個維度(屬性),最小二乘方誤差被相等地計數。用新的等式,V - 1項标準化數據。換句話說,方差較小的特定維度上的誤差對加權最小平方誤差的權重更大,而該維度上的誤差的權重更大。新方程将為x提供更好的值。此外,計算出的x的方差将減小到

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)31

讓我們再次仔細檢查這個等式。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)32

如果V = I,它會回到上一個等式。即,當所有變量都标準化且不相關時,兩個方程都是相同的。

Gram-Schmidt過程

如前所述,我們喜歡正交矩陣。對于給定的矩陣a,列向量不太可能是正交的。Gram-Schmidt對角化幫助我們找到一組基它張成a的相同列空間。

假設我們有一個矩陣A由a,b和c列組成。我們如何找到張成A的相同列空間的正交向量q 1,q 2和q 3 。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)33

這樣我們就可以将A分解成A = QR。 我們從q 1'作為a。 然後q 2'等于b減去沿q 1'的b的投影。 接下來,q 3等于c減去沿q 1和q 2的c的投影。 簡而言之,我們嘗試在形成正交向量的前一個方向上取出投影部分。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)34

完成後,我們将q 1',q 2'和q 3' 歸一化,形成單位長度q 1,q 2和q 3。我們可以将a,b,c重寫為

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)35

因此,A可以分解成QR,R等于

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)36

矩陣中的二次型方程

二次方程可以寫成:

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)37

二次方程的矩陣形式是:

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)38

對于三個變量:

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)39

這種表示很重要,因為機器學習(ML)中的誤差,如均方誤差,通常表示為二次方程。

行列式

3×3矩陣的行列式是:

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)40

該定義可以擴展為遞歸地計算n×n矩陣的行列式。或者,它可以在視覺上計算為:

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)41

屬性

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)42

如果A的行列式的絕對值大于1,則Ax會擴展輸出空間。如果它介于0和1之間,則會縮小空間。這對于理解系統的穩定性非常重要。

範數

深度學習使用範數來計算誤差或執行正則化。這裡有不同類型的範數。

L1範數(曼哈頓距離):

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)43

L2範數

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)44

LP-範數

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)45

Max-norm

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)46

Frobenius範數

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)47

比較L1和L2範數

與l1 -範數相比,l2 -範數對大值誤差模型的變化更為顯著。此外,L1-norm增加了模型權重的稀疏性。這是許多機器學習問題所需要的。然而,在L2範數中,梯度變化在0附近更平滑。因此,随着梯度的逐漸變化,l2 -範數訓練更加穩定。這使得L2-norm在一般情況下更受歡迎。

矩陣範數

矩陣的範數是任何向量x的最大增長因子。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)48

這與約束x具有單位長度相同。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)49

規範可以計算為:

  • 如果矩陣是正定的,則​​範數是A的最大特征值。
  • 如果矩陣是對稱的,我們取特征值的絕對值并選擇最大值。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)50

  • 否則,它是A的最大奇異值。即AᵀA的最大特征值的平方根。
瑞利熵(Rayleigh quotient)

找到A的矩陣範數與查找下面瑞利熵的最大值相同。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)51

讓我們用内積重寫瑞利熵。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)52

我們用上面的Qx代替x。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)53

因此Rayleigh熵是AᵀA的特征值的加權平均值。由于加權平均值小于或等于其最大值,

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)54

我們經常按降序重新調整λ。 因此λ1保持最大的特征值。 因此,A的範數是AᵀA的最大特征值的根(A的奇異值σ1)。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)55

對于對稱矩陣S,

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)56

條件數

在線性代數中,我們使用條件數來跟蹤輸出對輸入的誤差的敏感程度。消去方法的準确性由條件數反映

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)57

迹是A的對角線元素的總和。它可用于驗證特征值。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)58

屬性

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)59

相似矩陣

如果,兩個矩陣A和B相似(A ~ B)

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)60

對于任意可逆矩陣P,給定A和B, P有很多解,從概念上講,在線性變換的背景下,P是由x到x’的基變換的矩陣。。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)61

如果我們對x應用變換A,則x'基上的相應變換是P-1AP。物理定律不應随着參考系(基)的變化而改變。

相似矩陣:

  • 具有相同的特征值。
  • 相同的行列式
  • 相同的秩
  • 單數或非單數。

如果A是非奇異的,矩陣可以對角化為對角矩陣Λ(矩陣中的所有非對角元素都是零)。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)62

這和矩陣相似度的定義是一樣的。因此,A相似于對角矩陣Λ。在實踐中,如果這個矩陣像Λ一樣簡單,我們可以很容易地找到原始矩陣的特征值或行列式。

Jordan形矩陣

Jordan block可以有很多大小, 但是它的對角元素包含一個特征值,而特征值右邊的元素必須是一個。

機器學習用什麼線性代數教程(機器學習與線性代數簡明教程)63

我們可以将矩陣分解為Jordan形,我們使用它的特征值來創建不同大小的Jordan block。

機器學習與線性代數簡明教程(上)

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved