1. 程式人生 > >特徵值分解、奇異值分解、PCA概念整理

特徵值分解、奇異值分解、PCA概念整理


這裡V就是上面的右奇異向量,另外還有:

這裡的σ就是奇異值,u就是上面說的左奇異向量。【證明那個哥們也沒給

奇異值σ跟特徵值類似,在矩陣Σ中也是從大到小排列,而且σ的減少特別的快,在很多情況下,前10%甚至1%的奇異值的和就佔了全部的奇異值之和的99%以上了。也就是說,我們也可以用前r( r遠小於m、n )個的奇異值來近似描述矩陣,即部分奇異值分解:

右邊的三個矩陣相乘的結果將會是一個接近於A的矩陣,在這兒,r越接近於n,則相乘的結果越接近於A。

三、PCA主成份分析

主成分分析(PrincipalComponents Analysis。即PCA,也稱為K-L變換),是影象壓縮中的一種最優正交變換。PCA用於統計特徵提取構成了子空間法模式識別的基礎。它從影象整體代數特徵出發,基於影象的總體資訊進行分類識別。PCA的核心思想是利用較少數量的特徵對樣本進行描述以達到降低特徵空間維數的目的。

1.  PCA理論

給定一副N*N大小影象,將它表示成一個N2*1維向量,向量中元素為畫素點灰度,按行儲存,如下列公式分別表示第i張圖片和n張圖片平均值:


令N2*n矩陣X為:


注意,矩陣減去平均值相當於將座標系原點移動到平均值位置。

設Q=XXT,則Q是一個N2* N2矩陣:


,Q是方陣

,Q是對稱矩陣。

,Q被成為協方差矩陣,

,Q的資料量非常龐大

    那麼,X中的每個元素xj可以被如下表達:


其中,ei是Q中非零特徵值對應的特徵向量。由特徵向量e1,e2,…,en組成的空間叫做張成特徵空間。對於N*N影象,e1,e2,…,en是N2*1維相互正交的向量。尺度gji

是xj在空間中的座標。

2.  實現PCA

為了降維,可以對特徵值設定閾值或按照其他準則,尋找協方差矩陣Q中前k個特徵向量。這裡Q十分龐大,對於一副256*256的影象,Q的大小為65536*65536!替代方案是,考慮矩陣


.P和Q都是對稱矩陣

.P≠QT

.Q的大小是N2*N2,而P大小為n*n

.n為訓練樣本影象數量,通常n<<N

設e是矩陣P的特徵值λ對應的特徵向量,則有:



這裡,X*e也是矩陣Q的特徵值λ對應的特徵向量【這是用求特徵值分解方法,下面介紹用SVD方法】

3.  PCA與奇異值分解SVD

任何一個m*n矩陣都能進行奇異值分解,拆分為3個矩陣相乘的形式。由於SVD得出的奇異向量也是從奇異值由大到小排列的,按PCA的觀點來看,就是方差最大的座標軸就是第一個奇異向量,方差次大的座標軸就是第二個奇異向量…。我們可以對Q進行奇異值分解。


.U就是QQT的特徵向量

.V就是QTQ的特徵向量

.D中奇異值的平方就是QQT和QTQ的特徵值