矩陣論是對線性代數的延伸,頗有必要深刻研究。研究矩陣論能夠加深對PCA,SVD,矩陣分解的理解,尤爲是第一章入門的線性空間的理解,在知識圖譜向量化,self_attention等論文中會涉及大量的矩陣論的知識。本文對此作一個總結,分爲如下結構:數組
第一部分:矩陣的線性空間,矩陣的意義;機器學習
第二部分:矩陣的範數理解,self_attention以及transD論文核心技術解讀;學習
第三部分:矩陣的分解以及PCA,SVDspa
1.線性空間,矩陣的意義3d
這部份內容是理解矩陣的基礎也是最關鍵的部分。對於線性空間的基本概念沒必要多解釋,都說矩陣的本質是線性變換,這裏有必要總結一下。通常而言,矩陣乘以向量後結果仍然是向量,至關於對向量進行了變換。這個變換包括方向和幅度,方向指的是座標軸,幅度通常值向量的特徵值。舉一個最直觀的例子:blog
好比說下面的一個矩陣: 它其實對應的線性變換是下面的形式:get
上面的矩陣是對稱的,因此這個變換是一個對x,y軸的方向一個拉伸變換(每個對角線上的元素將會對一個維度進行拉伸變換,當值>1時,是拉長,當值<1時時縮短),當矩陣不是對稱的時候,假如說矩陣是下面的樣子: it
上面的M矩陣,其實已是特徵值了,呵呵。下面從最專業的矩陣論理論,具體解釋矩陣的本質。前面的變換實際上是對向量的左邊進行拉伸或者旋轉,因此先介紹一下在矩陣論中座標軸,座標系和座標的概念。
對於線性空間Vn ,空間的基e1,e2,……是一組非線性相關向量,就是這些向量組成的行列式不爲0。空間中的任一貫量均可以寫成這些基的線性組合,這些組合係數稱之爲向量的座標。空間的基對應空間的座標系,座標是對應在座標系中的。那麼一個變換矩陣應該如何理解呢?現有空間裏的一個向量x,Tx爲向量的象,也就是通過變換後的向量。現推導以下:
首先半正定矩陣定義爲:
其中X 是向量,M 是變換矩陣
咱們換一個思路看這個問題,矩陣變換中,MX表明對向量 X進行變換,咱們假設變換後的向量爲Y,記作Y = MX。因而半正定矩陣能夠寫成:
這個是否是很熟悉呢? 他是兩個向量的內積。 同時咱們也有公式:
||X||, ||Y||表明向量 X,Y的長度,是他們之間的夾角。 因而半正定矩陣意味着
, 這下明白了麼?正定、半正定矩陣的直覺表明一個向量通過它的變化後的向量與其自己的夾角小於等於90度。
下面從上面推導的過程來理解,考慮矩陣的特徵值:
若全部特徵值均不小於零,則稱爲半正定。
若全部特徵值均大於零,則稱爲正定。
矩陣通過特徵值分解後的特徵值是一個對角陣,就是原空間某一個基在變換後的空間的長度變化係數,大於0表示方向一致,小於0表示方向相反,每一個向量都會通過變換矩陣A的每列係數組合變換,而A通過分解後分爲特徵值和座標軸兩部分,每一個特徵值代表了基的自身變換方向與幅度,>0代表同向變換。若是每一個特徵值都>0的話,因爲向量是由空間的基線性組合而成最終致使變換後的向量與原向量同向變化。
2.矩陣的範數
矩陣的範數和向量的範數沒有太大的不一樣,惟一添加的就是相容性。證實的矩陣的範數時只需證實4條就能夠了。一般所說的矩陣一階範數指的是列和範數,即取每列絕對值之和最大的數。矩陣的F範數應用是很廣的。相似於用向量的歐式距離,把一個mxn的矩陣當作是碾平的向量,取歐氏距離便可。在self_attention論文中,核心就是矩陣的F範數結構化約束。有興趣能夠讀一讀並復現論文,用在工程之中。在知識圖譜的transD論文裏關於entity和relation的相互投影問題以及h和t不在一個空間的問題,能夠很好地用矩陣論來解釋。
3.矩陣的QR分解以及PCA,SVD
矩陣的QR分解理論對PCA和SVD具備很是好的指導意義。矩陣論裏面很是好地闡釋了QR分解和SVD的關係,這裏不作推導了。PCA實際上是SVD的外部封裝。特徵值分解和奇異值分解在機器學習領域都是屬於滿地可見的方法。二者有着很緊密的關係,特徵值分解和奇異值分解的目的都是同樣,就是提取出一個矩陣最重要的特徵。先談談特徵值分解吧:
若是說一個向量v是方陣A的特徵向量,將必定能夠表示成下面的形式: 這時候λ就被稱爲特徵向量v對應的特徵值,一個矩陣的一組特徵向量是一組正交向量。特徵值分解是將一個矩陣分解成下面的形式:
其中Q是這個矩陣A的標準正交特徵向量系組成的矩陣,Σ是一個對角陣,每個對角線上的元素就是一個特徵值。這個結論實際上是QR分解的一個推廣,這個公式更能直觀地解釋第一部分關於半正定矩陣的解釋。咱們來看看奇異值分解和PCA的關係吧:
矩陣論中關於奇異值的講解,比網上其餘的博客要正統不少。