机器学习降维算法一:PCA(主成分分析算法)
引言:
機(jī)器學(xué)習(xí)領(lǐng)域中所謂的降維就是指采用某種映射方法,將原高維空間中的數(shù)據(jù)點(diǎn)映射到低維度的空間中。降維的本質(zhì)是學(xué)習(xí)一個(gè)映射函數(shù) f : x->y,其中x是原始數(shù)據(jù)點(diǎn)的表達(dá),目前最多使用向量表達(dá)形式。 y是數(shù)據(jù)點(diǎn)映射后的低維向量表達(dá),通常y的維度小于x的維度(當(dāng)然提高維度也是可以的)。f可能是顯式的或隱式的、線性的或非線性的。
目前大部分降維算法處理向量表達(dá)的數(shù)據(jù),也有一些降維算法處理高階張量表達(dá)的數(shù)據(jù)。之所以使用降維后的數(shù)據(jù)表示是因?yàn)樵谠嫉母呔S空間中,包含有冗余信息以及噪音信息,在實(shí)際應(yīng)用例如圖像識(shí)別中造成了誤差,降低了準(zhǔn)確率;而通過降維,我們希望減少冗余信息所造成的誤差,提高識(shí)別(或其他應(yīng)用)的精度。又或者希望通過降維算法來尋找數(shù)據(jù)內(nèi)部的本質(zhì)結(jié)構(gòu)特征。
在很多算法中,降維算法成為了數(shù)據(jù)預(yù)處理的一部分,如PCA。事實(shí)上,有一些算法如果沒有降維預(yù)處理,其實(shí)是很難得到很好的效果的。
?
注:我寫的東西有一些口語化,而且受限于網(wǎng)頁blog的編輯功能,很多地方可能有一些簡單。
主成分分析算法(PCA)
Principal Component Analysis(PCA)是最常用的線性降維方法,它的目標(biāo)是通過某種線性投影,將高維的數(shù)據(jù)映射到低維的空間中表示,并期望在所投影的維度上數(shù)據(jù)的方差最大,以此使用較少的數(shù)據(jù)維度,同時(shí)保留住較多的原數(shù)據(jù)點(diǎn)的特性。
通俗的理解,如果把所有的點(diǎn)都映射到一起,那么幾乎所有的信息(如點(diǎn)和點(diǎn)之間的距離關(guān)系)都丟失了,而如果映射后方差盡可能的大,那么數(shù)據(jù)點(diǎn)則會(huì)分散開來,以此來保留更多的信息。可以證明,PCA是丟失原始數(shù)據(jù)信息最少的一種線性降維方式。(實(shí)際上就是最接近原始數(shù)據(jù),但是PCA并不試圖去探索數(shù)據(jù)內(nèi)在結(jié)構(gòu))
設(shè)n維向量w為目標(biāo)子空間的一個(gè)坐標(biāo)軸方向(稱為映射向量),最大化數(shù)據(jù)映射后的方差,有:
其中m是數(shù)據(jù)實(shí)例的個(gè)數(shù), xi是數(shù)據(jù)實(shí)例i的向量表達(dá), x拔是所有數(shù)據(jù)實(shí)例的平均向量。定義W為包含所有映射向量為列向量的矩陣,經(jīng)過線性代數(shù)變換,可以得到如下優(yōu)化目標(biāo)函數(shù):
?
?
?其中tr表示矩陣的跡,A是數(shù)據(jù)協(xié)方差矩陣。
容易得到最優(yōu)的W是由數(shù)據(jù)協(xié)方差矩陣前k個(gè)最大的特征值對應(yīng)的特征向量作為列向量構(gòu)成的。這些特征向量形成一組正交基并且最好地保留了數(shù)據(jù)中的信息。
PCA的輸出就是Y = W‘X,由X的原始維度降低到了k維。
?
PCA追求的是在降維之后能夠最大化保持?jǐn)?shù)據(jù)的內(nèi)在信息,并通過衡量在投影方向上的數(shù)據(jù)方差的大小來衡量該方向的重要性。但是這樣投影以后對數(shù)據(jù)的區(qū)分作用并不大,反而可能使得數(shù)據(jù)點(diǎn)揉雜在一起無法區(qū)分。這也是PCA存在的最大一個(gè)問題,這導(dǎo)致使用PCA在很多情況下的分類效果并不好。具體可以看下圖所示,若使用PCA將數(shù)據(jù)點(diǎn)投影至一維空間上時(shí),PCA會(huì)選擇2軸,這使得原本很容易區(qū)分的兩簇點(diǎn)被揉雜在一起變得無法區(qū)分;而這時(shí)若選擇1軸將會(huì)得到很好的區(qū)分結(jié)果。
?
Discriminant Analysis所追求的目標(biāo)與PCA不同,不是希望保持?jǐn)?shù)據(jù)最多的信息,而是希望數(shù)據(jù)在降維后能夠很容易地被區(qū)分開來。后面會(huì)介紹LDA的方法,是另一種常見的線性降維方法。另外一些非線性的降維方法利用數(shù)據(jù)點(diǎn)的局部性質(zhì),也可以做到比較好地區(qū)分結(jié)果,例如LLE,Laplacian Eigenmap等。以后會(huì)介紹。
?
引用請注明:?http://blog.csdn.net/xbinworld/article/details/6773885
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/yihaha/archive/2011/09/22/7265355.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的机器学习降维算法一:PCA(主成分分析算法)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 导致女人不孕不育的主要原因是什么?
- 下一篇: 冷库建造多少钱啊?