SVD奇異值分解
SVD奇異值分解
1 正交矩陣
正交矩陣對應的行(列)向量都是相互正交的單位向量,且滿足逆矩陣等於轉置矩陣。
正交矩陣對應的變換為正交變換,正交變換映射表現為旋轉和反射:
正交變換不改變向量的尺寸和夾角,如圖,對應在正交坐標系基向量為[e1,e2]下的A為[a,b],對應進行正交變換後,只是對A用另一組正交坐標基[e1‘,e2‘]表示,對應變換後的A為[a‘,b‘],對向量A沒有拉伸。這種變換為旋轉變換。
正交變換對應有一組正交坐標基映射為另一組正交坐標基。
對應求得正交變換矩陣U:
由圖可知:
所以U為:
2 特征值分解
設m*m矩陣A為對稱矩陣,則A必能相似對角化,且不同特征值對應的特征向量相互正交:
可以得到A的特征值分解:
現在假設有一個x向量,用A對x進行變換:
也就是先對用UT對x進行正交變換,假設x在新的坐標系(坐標基為A的特征項向量)下為:
轉變為:
接著對在新坐標系下的x進行拉伸和壓縮,如果對應位置的特征向量為0,則發生維度退化,之後再用U進行正交變換,U是UT的逆變換,使又回到原來的坐標系下:
如果A是2*2矩陣,其特征向量對應矩形,其邊,經過UT變換後,坐標基為矩形邊所在的方向,在經過拉伸後,進行U變換,回到原來坐標系,這樣經過變換後還是矩形。
3 奇異值分解
奇異值分解就是對任意m*n矩陣,找到這樣的一個正交坐標基,使其變換後還是正交坐標基。
假設m*n矩陣A,在n維空間中找到一組正交坐標基,使其經過A變換後還是正交坐標基。
假設正交坐標基為,vi是n*1向量:
經過A變換後:
同時保證變換後還是正交坐標基:
使vj使ATA的第j個特征向量的話:
又因為:
所以vj是ATA的第j個特征向量保證了變換後還是正交坐標基。
再將映射後的正交基單位化:
取單位向量:
由此可得:
再將{u1,u2,...,uk}擴展為{u1,u2,...,um},使得其為m維空間的一組單位正交基。
再將{v1,v2,...,vk}擴展為{v1,v2,...,vn},其中{vk+1,...vn}為AX=0的基礎解系,對應的奇異值σ為0。
可得:
最後得A的奇異值分解:
4 滿秩分解
定義:對於m×n的矩陣A,假設其秩rr,若存在秩同樣為r兩個矩陣:Fm×r(列滿秩)和Gr×n(行滿秩),使得A=FG,則稱其為矩陣A的滿秩分解。
任何一個非零矩陣都有滿秩分解。
利用SVD進行滿秩分解:
利用分塊矩陣乘法得:
第二項為0:
令:
則A=XY即是A的滿秩分解。
SVD奇異值分解