我們看一下在坐标軸上的幾何變化:
1、左乘對角陣:
2、左乘對稱陣:
3、左乘任意陣
對于任意的矩陣,我們總能找到一組坐标軸,來表示該向量。這個新的坐标體系是由原來的坐标軸通過縮放和旋轉得到。
二、SVD的幾何意義
奇異值分解SVD ( The singular value decomposition )從幾何意義上來說:對于任意矩陣M,通過SVD。可以将一個相互垂直的坐标變換到另外一個相互垂直的坐标。
問題描述:
用v1和v2分别表示原來坐标系中的單位向量, 經過左乘矩陣M後,向量Mv1和 Mv2 正交。用u1 和 u2分别表示Mv1 和 Mv2方向上的單位向量,那麼:
σ1* u1 = Mv1
σ2* u2 = Mv2
σ2 和 σ2分别表示這不同方向向量上的模。
設現有一個向量x,那麼在變換前,其表達式為:
x = (v1·x) *v1 (v2·x) *v2向量點乘v1·x,表示x在v1上投影乘以v1的模,由于v1是單位向量,模為1,所以這個向量點乘,就是x在v1上投影,向量x在兩個正交向量的投影乘對應的向量,然後相加就是向量x。
經過M線性變換後的向量的表達形式:
Mx = (v1·x) σ1u1 (v2·x) σ2u2
而我們對原坐标空間表達式,等式兩邊同乘以矩陣M:
Mx = (v1· x) Mv1 (v2· x) Mv2
由于v1· x是一個标量, Mv1是一個向量,所以可以變換位置如下:
Mx = u1σ1 v1Tx u2σ2 v2Tx
進而,由于u1和v1都是列向量,u1σ1 v1T就是兩個向量點乘後乘以一個标量
于是可得:
M = u1σ1 v1T u2σ2 v2T
表示成:
M = UΣVT
u 矩陣的列向量分别是u1,u2 ,Σ 是一個對角矩陣,對角元素分别是對應的σ1 和 σ2,V 矩陣的列向量分别是v1,v2。
以上表明任意矩陣 M 是可以分解成三個矩陣。V 表示了原始域的标準正交基,u 表示經過 M 變換後的标準正交基,Σ 表示V 中的向量與u 中 相對應向量之間的關系。
三、與PCA的關系
将一個m * n的矩陣A的進行坐标軸的變化,P是變換矩陣,把一個m×n維的空間變換到另一個m×n維的空間,在空間中就會進行一些類似于旋轉、拉伸的變化。
如果降低特征空間維度,隻提取r個特征,那麼就是:
這就是PCA,如果要詳細了解PCA原理,請閱讀本頭條号另一篇非常易懂PCA的文章《深度剖析:Eigenfaces算法原理及其中PCA幾何意義(人臉系列一)》
跟PCA一樣,SVD也是按照奇異值由大到小排列的,方差最大的坐标軸是第一個奇異向量,以此類推, SVD表達式:
在矩陣的兩邊同時乘上一個矩陣V,由于V是一個正交的矩陣,所以V轉置乘以V得到單位陣I,所以可以化成後面的式子:
對比變換
,這裡是将一個m * n 的矩陣壓縮到一個m * r的矩陣,也就是對列進行壓縮。
同樣我們寫出一個通用的行壓縮例子:
這樣就從一個m行的矩陣壓縮到一個r行的矩陣了,對SVD來說也是一樣的,我們對SVD分解的式子兩邊乘以U的轉置UT
注意上式,m×r後轉置,符合矩陣相乘的左矩陣列數與右矩陣行數相等的要求。
綜上,可見,PCA是SVD的一個特例,我們實現了SVD,那也就實現了PCA,或者說,我們可以得到兩個方向的PCA,如果我們對ATA進行特征值的分解,隻能得到一個方向的PCA。
總結如下:
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!