奇異值分解(SVD)和主成分分析(PCA)
阿新 • • 發佈:2019-01-29
設X是一個n*m的資料矩陣(在此不把它理解成變換),每一列表示一個數據點,每一行表示一維特徵。
對X做主成分分析(PCA)的時候,需要求出各維特徵的協方差,這個協方差矩陣是。
(其實需要先把資料平移使得資料的均值為0,不過在此忽略這些細節)
PCA做的事情,是對這個協方差矩陣做對角化:
可以這樣理解上式右邊各項的物理意義:用一個均值為0的多維正態分佈來擬合數據,則正交矩陣P的每一列是正態分佈的概率密度函式的等高線(橢圓)的各個軸的方向,而對角矩陣的對角線元素是資料在這些方向上的方差,它們的平方根跟橢圓各個軸的長度成正比。
現在來看資料矩陣X的奇異值分解:,其中U、V各列是單位正交的,S是對角陣,對角元非零。
由此式可以得到
也就是說,SVD中的矩陣U相當於PCA中的矩陣P,不過僅保留了的非零特徵值對應的那些特徵向量,而(也只保留了非零特徵值)。
所以,SVD中的U代表了X中資料形成的正態分佈的軸的方向(一組單位正交基),代表了這些軸的長度(分佈的標準差)。
那麼V呢?可以把US放在一起看成一個由伸縮和旋轉組成的座標變換(不包括平移),資料矩陣X是由資料矩陣經此變換得來的,而的各列(V的各行)則服從標準正態分佈。這也就是說,的各維特徵(的各行,V的各列)是互不相關的且各自的方差均為1,也就是說V的各列是單位正交的。
現在換一個角度,把X中的各行看作資料,那麼就也有了新的理解。
現在,的各行(V的各列)就成了X的各行形成的正態分佈的軸向(單位正交基),