PCA主成分分析—個人理解

PCA大多數時候用來降維,在做畢設人臉識別的時候學的。

降維只是把某些維度捨棄,把源數據投影到一個新的基底,x軸y軸都是基底單位爲1,新基底最好相互正交。

怎麼投影呢,兩個向量做內積A*B=|A|*|B|*cos<A,B>,其中|A|*cos<A,B>就是A在B上的投影,B爲基底那麼應該|B|==1;

所以只需要將B單位化然後A*B就得到了新的基下的向量了。

捨棄那些維度,保留那些維度呢,我們希望保留的維度是相互獨立的,而且在這個維度內各個樣本值是分散的,相差的越多越好,越有自己的特色越好。所以剛好對應了協方差和方差,協方差表示各個維度的相關性如果協方差爲0則相互獨立>0正相關<0負相關,方差表示樣本離散程度不用多說。

那麼設m個樣本n個維度的一個數據矩陣每列對應每個維度減去這個維度內的各個元素的平均值得到A,A爲m行n列,A'表示A的轉置矩陣,C=A'A,C=C/m是A的協方差矩陣,C是n*n的矩陣,C的主對角線元素正好對應了各個維度內的方差,而其他元素對應了協方差,要使協方差爲0,那麼就形成了一個對角矩陣,就是除了主對角線元素全爲0。故要把協方差矩陣對角化。

協方差矩陣C是一個是對稱矩陣,在線性代數上,實對稱矩陣有一系列非常好的性質:

1)實對稱矩陣不同特徵值對應的特徵向量必然正交。

2)設特徵向量重數爲r,則必然存在r個線性無關的特徵向量相對應,因此可以將這r個特徵向量單位正交化。

所以C可以得到n個特徵值和特徵向量,把特徵值從大到小排好序組成一個矩陣D,特徵向量正交單位化後按列從左到右組成矩陣P,P逆CP=D,PD==CP。

P取前k列後,k列n行,AP=Y就得到了降維後的結果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章