PCA基本原理
1.引入及理解
What
PCA(主成分分析)是采取一種數(shù)學(xué)降維的方法斯议,找出幾個(gè)綜合變量來代替原來眾多的變量产捞,使這些綜合變量能盡可能地代表原來變量的信息量,而且彼此之間互不相關(guān)哼御。
Why
多變量問題是經(jīng)常會(huì)遇到的坯临。變量太多,無疑會(huì)增加分析問題的難度與復(fù)雜性恋昼。
How
在許多實(shí)際問題中看靠,多個(gè)變量之間是具有一定的相關(guān)關(guān)系的挟炬。因此谤祖,在各個(gè)變量之間相關(guān)關(guān)系研究的基礎(chǔ)上泊脐,用較少的新變量代替原來較多的變量容客,而且使這些較少的新變量盡可能多地保留原來較多的變量所反映的信息缩挑?
幾何解釋
此情況下供置,對(duì)于上圖的數(shù)據(jù)分布芥丧,數(shù)據(jù)較較分散的分布在X2上,X1方向上的數(shù)據(jù)取值近似擅耽,將數(shù)據(jù)在X1上的取值去掉乖仇,保留在X2上的取值乃沙。
此情況下警儒,對(duì)于原先的X1冷蚂、X2坐標(biāo)系下汛闸,數(shù)據(jù)在X1和X2上的取值都比較均勻诸老,去掉任一坐標(biāo)維度對(duì)數(shù)據(jù)都有很大的影響(導(dǎo)致數(shù)據(jù)重疊)别伏。對(duì)于新建的y1厘肮、y2紅色坐標(biāo)系类茂,這個(gè)問題就同圖1問題了巩检,保留數(shù)據(jù)在y1上取值信息兢哭,去掉數(shù)據(jù)在y2上的取值信息夫嗓。
從幾何解釋中可以得出:
主成分分析可以讓數(shù)據(jù)的投影到那些數(shù)據(jù)分布比較分散的維度上,如上圖的y1劳跃,忽視數(shù)據(jù)分布較集中的維度浙垫,如上圖的y2夹姥,保留較少的維度表示數(shù)據(jù)辙售,進(jìn)而達(dá)到降維的目的旦部。
2.問題
如何可以將數(shù)據(jù)投影到分布分散的平面內(nèi),而忽略掉分布集中的平面容燕。如上面的圖2蘸秘,大部分?jǐn)?shù)據(jù)投影到y(tǒng)1坐標(biāo)系中的話醋虏,數(shù)據(jù)分布會(huì)比較分散颈嚼,投影到x1饭寺、x2等其他坐標(biāo)軸分布會(huì)相對(duì)集中佩研,其中旬薯,投影到y(tǒng)2上面分布最集中。所以我們盡可能將數(shù)據(jù)轉(zhuǎn)化到紅色坐標(biāo)系硕舆,然后去掉y2坐標(biāo) 抚官?
3.PCA原理
主成分:這些互相正交的新變量(上圖y1,y2)是原先變量的線性組合(矩陣變換),叫做主成分钦听。(principal component)朴上。
從幾何解釋可以看出:
第一個(gè)要求:使得樣本在選擇的基底(坐標(biāo)軸)上盡可能的分散痪宰。
我們知道方差可以用來表示數(shù)據(jù)之間的離散程度畔裕,那么要求數(shù)據(jù)在基底上分散即就是樣本在這個(gè)基底上的坐標(biāo)的方差(數(shù)據(jù)之間的離散程度)盡可能大扮饶。
第二個(gè)要求:使得各個(gè)選擇的基底關(guān)聯(lián)程度最小贴届。(正交)
協(xié)方差矩陣定義:對(duì)n個(gè)維度,任意兩個(gè)維度都計(jì)算一個(gè)協(xié)方差,組成矩陣元潘,定義如下:
直觀的對(duì)于一個(gè)含有x,y,z三個(gè)維度的樣本翩概,協(xié)方差矩陣如下:
類比上式钥庇,可以得出咖摹,對(duì)于原mxn大小的樣本矩陣萤晴,其協(xié)方差矩陣的對(duì)角線代表了原來樣本在各個(gè)維度上的方差,其他元素代表了各個(gè)維度之間的協(xié)方差嗦枢。
對(duì)于上述兩點(diǎn)要求文虏,也就是經(jīng)過PCA處理后的數(shù)據(jù)矩陣氧秘,它的協(xié)方差矩陣敏储,對(duì)角線上的元素?cái)?shù)值大(方差大,滿足第一點(diǎn)要求)妥箕,對(duì)角線以外的元素為0(協(xié)方差為零畦幢,選擇的基底正交缆蝉,滿足第二點(diǎn)要求)刊头。即處后的數(shù)據(jù)矩陣協(xié)方差為?對(duì)角陣形式原杂。
假設(shè)對(duì)于原始數(shù)據(jù)矩陣,經(jīng)PCA降維后的矩陣?年局,要使得Y的協(xié)方差矩陣為?的形式矢否,有:
由以上形式知:經(jīng)PCA處理后的矩陣?中的 ?即就是原始矩陣?的協(xié)方差矩陣?每個(gè)特征值對(duì)應(yīng)特征向量組成的特征矩陣。
?的特征值?從小到大排列后衣迷,取前?大特征值對(duì)應(yīng)的特征向量組成矩陣?,?即為保留主成分個(gè)數(shù)為?的降維后的矩陣云矫,通常?让禀。
數(shù)學(xué)優(yōu)化方法對(duì)于PCA原理的推導(dǎo)巡揍。
4.最好的k和誤差
可解釋性方差大腥小:即特征矩陣?中每個(gè)新特征向量所帶的信息量大小,所對(duì)應(yīng)的特征值越大糜工,方差越大捌木,信息量越大刨裆。
可解釋性方差貢獻(xiàn)率:降維后每個(gè)新特征向量所占的信息量占原始數(shù)據(jù)總信息量的百分比帆啃。
觀察實(shí)際所需指標(biāo)隨著k的閾值選取的變化情況链瓦,擇優(yōu)選取。
假設(shè)選取前?主成分拥峦,降維后的矩陣即為?
對(duì)于上式 :?為經(jīng)過PCA降維后再重構(gòu)的矩陣略号。
?
假設(shè): ??玄柠,,取?的2列宫患,即就是k=2,得?
由(1)得??,的廣義右逆矩陣?
可得:
所以, ?蛋辈,且重構(gòu)的誤差來源于冷溶,降維后P矩陣信息的丟失礼预,求?時(shí)的不可還原虏劲。
另一種理解励堡。
5.算法步驟
設(shè)有m條n維數(shù)據(jù)应结。
1.樣本矩陣
2.將X的每一列進(jìn)行零均值化鹅龄,即減去這一列的均值扮休,得到矩陣?玷坠;(為求協(xié)方差矩陣)
3.求出協(xié)方差矩陣?
4.求出協(xié)方差矩陣的特征值以及對(duì)應(yīng)的特征向量
5.將特征向量按對(duì)應(yīng)特征值大小按列組成矩陣,取前k列組成矩陣?
6.?即為降維到維后的數(shù)據(jù)。
對(duì)于圖像數(shù)據(jù)的重構(gòu),通過步驟6缝龄,由?可得二拐。
6.應(yīng)用舉例
a.鳶尾花數(shù)據(jù)(150x4),有三類品種凳兵,4個(gè)特征百新,花萼長度、寬度庐扫、花瓣長度饭望、寬度
經(jīng)PCA降維至2,即150x2, 進(jìn)行可視化。
b.人臉數(shù)據(jù) 1348x62x47(1348x2914)
原始圖片
選擇降維至150形庭,?維度2914x150铅辞,查看?(新的特征空間)圖像:
降維后還原到原空間得到的數(shù)據(jù)和原始圖像:(第一行為原始圖像,第二行為降維后還原圖像)
代碼萨醒。