数据分析:主成分分析(PCA)1
目錄:
文章目錄
- 目錄:
- 主成分分析
- 1K-L變換(卡洛南-洛伊(Karhunen-Loeve)變換):最優正交變換
- 小結一下:
- 2pca分析
#前言
怕什么真理無窮,進一寸有一寸的歡喜——胡適
學以致用,以學促用。
最近在分析數據,發現幾大分析方法,PCA,ICA,CCA,在學后發覺看過讀過是沒有用的,還要有輸出檢驗,因此,開始寫這個系列的帖子了。
主成分分析
之前對PCA算法有過一段時間的研究,但沒整理成文章,最近,又剛好再用這個做人臉重構,故趁熱打鐵整理下PCA算法的知識。
本文觀點旨在拋磚引玉,有異議的大家可以再評論下面寫出來,一起討論。
主成分分析(PCA)是多元統計分析中用來分析數據的一種方法,它通過矩陣變換用一組數量更少的特征對樣本進行描述,從而降低了數據的維度。它的本質實際上是K-L變換。PCA方法最著名的應用應該是在人臉識別中特征提取及數據降維,我們知道如果輸入一張200*200大小的人臉圖像,單單光是提取它的灰度值作為原始特征,則這個原始特征將達到40000維,這給后面的處理將帶來極大的難度。著名的人臉識別Eigenface算法就是采用PCA算法,用一個低維子空間描述人臉圖像,同時又保存了識別所需要的信息。
為了先讓大家有一點兒直觀的印象,先給出幾張圖。
1比如現在我們有這樣一些數據(xi,yi)(x_i,y_i)(xi?,yi?),它們在二維平面上的分布如圖所示,為了減少他們所占的內存,我們將其壓縮到1維,那怎么壓縮呢?
可供選擇的投影方向有很多,在具體操作時,是將它們投影到綠色的線還是紅色的線?
是投影到綠色的線還是紅色的線?
現在先不解答,相信大家看完之后,心里會有自己的答案。
下面先介紹下PCA算法的本質K-L變換
1K-L變換(卡洛南-洛伊(Karhunen-Loeve)變換):最優正交變換
它具有如下優點:
- 一種常用的特征提取方法;
- 最小均方誤差意義下的最優正交變換;
- 在消除模式特征之間的相關性、突出差異性方面有最優的效果。
離散K-L變換:對一個向量x用確定的完備正交歸一向量基uju_juj?展開:
x=∑j=1∞yj?ujx=\quad\sum_{j=1}^{\infty} y_j*u_j x=j=1∑∞?yj??uj?
補充說明正交基的意思是說
Uj?UjU_j*U_jUj??Uj?只在i=j的時候等于1,其他時候等于0.
也因此:
yj=yj?ujT?uj=ujT?(∑j=1∞yj?uj)=ujT?xy_j=y_j*u_j^T*u_j=u_j^T*(\quad\sum_{j=1}^\infty y_j*u_j)=u_j^T*xyj?=yj??ujT??uj?=ujT??(∑j=1∞?yj??uj?)=ujT??x
上面的公式看懂的話,就可以繼續下面的推導了,如果,實在看不懂,可以再看幾遍。
現在我們希望降低維度,依舊是少用幾個基來表示xxx
也就是說:
x^=∑j=1dyjuj\hat x=\quad\sum_{j=1}^dy_ju_jx^=∑j=1d?yj?uj?
但這么做,肯定會帶來誤差,我們希望誤差最小化。
先把誤差(均方誤差意義下)表示出來:
?=E[(x?x^)T(x?x^)]\epsilon =E[(x-\hat x)^T(x-\hat x)]?=E[(x?x^)T(x?x^)]
$ =E[(\quad\sum_{j=d+1}{\infty}(y_j*u_jT)(\quad\sum_{j=d+1}^{\infty}(y_ju_j)]$
=E[∑d+1∞yj2]=E[\quad\sum_{d+1}^\infty y_j^2]=E[∑d+1∞?yj2?]
$=\quad\sum_{d+1}\infty[u_jTE(xx^T)u_j] $
令R=E(xxT)R=E(xx^T)R=E(xxT)
$ = \quad\sum_{d+1}^\infty [u_j^TRu_j]$
使其最小,通過langrange乘子法進行求解:
g(uj)=∑d+1∞[ujTRuj]?∑d+1∞rj(ujTuj?1)g(u_j)=\quad\sum_{d+1}^\infty [u_j^TRu_j]-\quad\sum_{d+1}^\infty r_j(u_j^Tu_j-1)g(uj?)=∑d+1∞?[ujT?Ruj?]?∑d+1∞?rj?(ujT?uj??1)
求偏導后得到:
R?uj=rj?ujR*u_j=r_j*u_jR?uj?=rj??uj?
滿足上市時,誤差取得最小值。
即相關矩陣R的d個特征向量(對應d個特征值從大到小排列)為基向量來展開向量x時,其均方誤差最小,為:
?=∑d+1∞rj\epsilon=\quad\sum _{d+1}^\infty r_j?=∑d+1∞?rj?
因此,K-L變換定義:當取矩陣R的d個最大特征值對應的特征向量來展開x時,其截斷均方誤差最小,是剩余的最小的n-d個之和。這d個特征向量組成的正交坐標系稱作x所在的D維空間的d維K-L變換坐標系, x在K-L坐標系上的展開系數向量y稱作x的K-L變換。
小結一下:
k-l變換將均方誤差轉換成矩陣n-d個特征值最小也就是d個特征值最大這樣的等價問題。
因此,可以將最大的d個特征值對應的特征向量構建成一個正交基,然后,對原數據進行變換,得到均方誤差最小的降維表示。
2pca分析
主成分分析(PCA)的原理就是將一個高維向量x,通過一個特殊的特征向量矩陣U,投影到一個低維的向量空間中,表征為一個低維向量y,并且僅僅損失了一些次要信息。也就是說,通過低維表征的向量和特征向量矩陣,可以基本重構出所對應的原始高維向量。
參考
pca分析介紹
總結
以上是生活随笔為你收集整理的数据分析:主成分分析(PCA)1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python慕课笔记_MOOC pyth
- 下一篇: mac pip安装mysql_Mac p