機(jī)器學(xué)習(xí)筆記033 | 主成分分析法(PCA)

進(jìn)行維數(shù)約減(Dimensionality Reduction)漾肮,目前最常用的算法是主成分分析法 (Principal Componet Analysis, PCA)

使用主成分分析法進(jìn)行數(shù)據(jù)的降維處理茎毁,具體的原理和過程是怎么樣的呢克懊?

下面讓我一一道來。

1 信息損失最少

例如這樣一些二維數(shù)據(jù):

我們想要將數(shù)據(jù)降到一維七蜘,到底是圖中的紅線好呢還是綠線好呢谭溉?

降維就意味著信息的丟失,我們需要做的橡卤,就是盡可能將這樣的信息損失降低扮念。

我們可以很直觀地看到,數(shù)據(jù)點(diǎn)和直線的距離就在降維的過程中丟失掉了碧库。

顯然柜与,綠線丟失的數(shù)據(jù)要比紅線多。

所以嵌灰,我們可以判斷弄匕,使用紅線相比綠線會(huì)更好。

我們也注意到沽瞭,投影到紅線上的藍(lán)點(diǎn)迁匠,離散的程度大于投影到綠線上的藍(lán)點(diǎn),這也從另一個(gè)角度說明投影到紅線丟失的信息相對(duì)更少驹溃。

這個(gè)離散的程度城丧,我們使用藍(lán)點(diǎn)之間的方差進(jìn)行衡量:

其中:

為了方便計(jì)算,我們將所有的特征都減去該特征的均值豌鹤,并依然用 ai 來表示亡哄,所以藍(lán)點(diǎn)之間的方差可以記為:

2 特征不相關(guān)

上面是二維降為一維的情況,只需要找到使得方差最大化的一個(gè)向量就可以了:

但是對(duì)于更高的維度布疙,應(yīng)該如何處理呢磺平?例如三維降為二維魂仍。

當(dāng)然我們可以首先找到一個(gè)使得投影方差最大方向,然后在這個(gè)基礎(chǔ)上拣挪,找到和這個(gè)方向不相關(guān)的另外一個(gè)使得投影方差最大的方向擦酌。

所謂的不相關(guān),就是指第二個(gè)方向向量和第一個(gè)方向向量正交菠劝,體現(xiàn)在二維平面上就是垂直的關(guān)系:

我們先找到了使得投影方差最大方向赊舶,其方向向量為 u(1) ,然后找到了和它垂直的投影方差最大的方向赶诊,其方向向量為 u(2) 笼平。

這里兩個(gè)方向的相關(guān)程度,我們使用協(xié)方差進(jìn)行衡量:

這里的 a舔痪, b 均已減去特征的均值寓调。

當(dāng)協(xié)方差 Cov(a,b) = 0 的時(shí)候,兩個(gè)特征向量正交锄码,也就是兩個(gè)特征不相關(guān)夺英。

3 PCA的推導(dǎo)過程

假設(shè)我們的訓(xùn)練數(shù)據(jù)有 m 行數(shù)據(jù),有 n 個(gè)特征維度滋捶,那么矩陣 X 是一個(gè) m × n 的矩陣痛悯,可以表達(dá)為:

X 的協(xié)方差矩陣 C 可以通過以下公式得到:

那么 C 為一個(gè) n × n 的矩陣:

可以直觀地看到,協(xié)方差矩陣 C 是一個(gè)對(duì)稱矩陣重窟,Cij = Cji 载萌,對(duì)角線是各個(gè)特征的方差。

因?yàn)榫仃?C 是一個(gè)實(shí)對(duì)稱矩陣巡扇,所以 C 也具備一些實(shí)對(duì)稱矩陣的特征:

C 的不同特征值對(duì)應(yīng)的特征向量是正交的扭仁;
C 的特征值都是實(shí)數(shù),特征向量都是實(shí)向量厅翔;
C 可對(duì)角化斋枢,且相似對(duì)角陣上的元素即為矩陣本身特征值。

根據(jù)這些性質(zhì)知给,我們可以得到 n 個(gè)線性無關(guān)的非零特征向量 e1, e2, … , en ,這些特征向量構(gòu)成的特征矩陣 E = ( e1 e2 … en ) 滿足:

Λ 是一個(gè)對(duì)角矩陣描姚,除了對(duì)角線有值涩赢,其他位置(空白處)都是 0 。

對(duì)于特征矩陣 X 轩勘,因?yàn)榭赡艽嬖诖罅康娜哂鄶?shù)據(jù)筒扒,我們將它轉(zhuǎn)換到另外一個(gè)特征空間,得到新的特征矩陣 Z:

我們希望這個(gè)特征空間中各個(gè)特征的彼此是線性無關(guān)的绊寻,也就是說希望各個(gè)特征向量是正交關(guān)系花墩。

那么在新的特征空間中悬秉,其協(xié)方差矩陣應(yīng)該是一個(gè)對(duì)角矩陣:

對(duì)角線是方差,其他位置(空白處)是協(xié)方差冰蘑。協(xié)方差為 0 和泌,代表著兩個(gè)向量正交。

假設(shè)特征空間轉(zhuǎn)換的過程可以表達(dá)為 Z = XU 祠肥,矩陣 D 代入該表達(dá)式可以得到:

也就是說 U = E 武氓,U 就是矩陣 C 特征向量所組成的矩陣。矩陣 D 對(duì)角線上每個(gè)值就是矩陣 C 的特征值仇箱。

如果我們把 D 中的特征值按照從大到小县恕,將特征向量從左到右進(jìn)行排序,然后取其中前 k 個(gè)剂桥,經(jīng)過壓縮轉(zhuǎn)換(Z = XU)忠烛,就得到了我們降維之后的數(shù)據(jù)矩陣 Z :

X 是 m × n 的矩陣, U 是 n × k 的矩陣权逗,Z 是 m × k 的矩陣美尸。

4 PCA的計(jì)算過程

第一步:首先對(duì)特征進(jìn)行歸一化處理。

第二步:計(jì)算協(xié)方差矩陣旬迹。

第三步:計(jì)算協(xié)方差矩陣的特征向量并按照特征大從大到小排序火惊。

第四步:提取特征向量矩陣的前 k 列。

第五步:通過矩陣乘法計(jì)算得到新的特征 Z 奔垦。其中計(jì)算的公式為:

至此我們算是完成了降維屹耐。

5 特征數(shù) k 的選擇

不過有時(shí)候,降維的效果可能并不好椿猎。要么可能維度壓縮不多惶岭,內(nèi)存占用和計(jì)算速度依然沒有改善,要么可能維度壓縮太過犯眠,信息丟失太大按灶。

這其實(shí)取決于特征數(shù) k 的選擇。

因?yàn)榫仃?U 中每個(gè)特征向量是相互正交的筐咧,矩陣 U 也是一個(gè)正交矩陣鸯旁,所以有 UUT = E , E 為單位矩陣量蕊。

經(jīng)過如下推導(dǎo)铺罢,我們可以反壓縮得到矩陣 X:

因?yàn)楸A舻奶卣鲾?shù) k 小于 m,所以這個(gè)反壓縮得到的結(jié)果是不等于 X 的残炮。

例如一維還原到二維韭赘,最終反壓縮得到的結(jié)果是:

而不是:

這是因?yàn)樘卣鬓D(zhuǎn)換的過程中,丟失了一部分的信息势就。

所以使用 Xapprox 進(jìn)行標(biāo)記更加合適:

有了 Xapprox 泉瞻,其實(shí)我們就能計(jì)算信息丟失率:

如果損失小于 1%脉漏,那么我們可以說保留了 99% 的差異性。

當(dāng)然袖牙,差異性的百分比還有另外一個(gè)獲得侧巨,那就是前 k 個(gè)特征值之和除以所有的特征值之和。

因?yàn)槲覀円呀?jīng)對(duì)特征值進(jìn)行了降序排序贼陶,所以前面 k 個(gè)特征應(yīng)該能夠比較好的代表全部的特征刃泡。

注意,這個(gè)特征值是指對(duì)角矩陣對(duì)角線上的數(shù)值:

如果對(duì)于每個(gè)特征值碉怔,我們使用 Sii 進(jìn)行標(biāo)記烘贴,那么公式就是:

大于 k 小于 m 部分的特征值,就是丟失的數(shù)據(jù)撮胧,所以信息丟失率也可以通過下面的公式計(jì)算:

我們需要做的桨踪,是設(shè)置一個(gè)差異性保留的百分比,然后從小到大對(duì) k 進(jìn)行遍歷芹啥,差異性滿足條件锻离,k 就是我們要的結(jié)果。

例如計(jì)算得到的數(shù)據(jù)差異性百分比和 k 的關(guān)系如下:

k = 1 :60%
k = 2 :77%
k = 3 :88%
k = 4 :93%
k = 5 :97%
k = 6 :99%

如果我們要保留 90% 的數(shù)據(jù)墓怀,那么 k 的取值應(yīng)該是 4 汽纠;
如果我們要保留 99% 的數(shù)據(jù),那么 k 的取值應(yīng)該是 6 傀履。

6 關(guān)于PCA的注意事項(xiàng)

注意一:如果使用了PCA對(duì)訓(xùn)練集的數(shù)據(jù)進(jìn)行了處理虱朵,那么對(duì)于驗(yàn)證集和測(cè)試集也需要進(jìn)行相對(duì)應(yīng)的處理。

我們?cè)谔幚碛?xùn)練集的過程中得到了特征的均值 μ 和方差 σ 钓账,以及特征向量 U 碴犬,我們需要使用這些參數(shù)先對(duì)數(shù)據(jù)進(jìn)行歸一化處理,然后轉(zhuǎn)換到新的特征空間梆暮。

注意二:在使用PCA進(jìn)行壓縮之前服协,先使用原數(shù)據(jù)進(jìn)行訓(xùn)練,這樣我們才能對(duì)比壓縮前后的效果啦粹。

如果不是占用內(nèi)存空間太大偿荷,或者算法運(yùn)行速度過慢,其實(shí)沒有必要進(jìn)行壓縮唠椭。

注意三:不要使用PCA來避免過度擬合跳纳。

因?yàn)橥ㄟ^這樣的方式皮避免度擬合,不僅效果很差泪蔫,并且會(huì)丟失部分?jǐn)?shù)據(jù)。

文章轉(zhuǎn)載自公眾號(hào):止一之路

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末喘批,一起剝皮案震驚了整個(gè)濱河市撩荣,隨后出現(xiàn)的幾起案子铣揉,更是在濱河造成了極大的恐慌,老刑警劉巖餐曹,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件逛拱,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡台猴,警方通過查閱死者的電腦和手機(jī)朽合,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來饱狂,“玉大人曹步,你說我怎么就攤上這事⌒莼洌” “怎么了讲婚?”我有些...
    開封第一講書人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長俊柔。 經(jīng)常有香客問我筹麸,道長,這世上最難降的妖魔是什么雏婶? 我笑而不...
    開封第一講書人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任物赶,我火速辦了婚禮,結(jié)果婚禮上留晚,老公的妹妹穿的比我還像新娘酵紫。我一直安慰自己,他們只是感情好倔丈,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開白布憨闰。 她就那樣靜靜地躺著,像睡著了一般需五。 火紅的嫁衣襯著肌膚如雪鹉动。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評(píng)論 1 310
  • 那天宏邮,我揣著相機(jī)與錄音泽示,去河邊找鬼。 笑死蜜氨,一個(gè)胖子當(dāng)著我的面吹牛械筛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播飒炎,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼埋哟,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起赤赊,我...
    開封第一講書人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤闯狱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后抛计,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體哄孤,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年吹截,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瘦陈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡波俄,死狀恐怖晨逝,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情弟断,我是刑警寧澤咏花,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站阀趴,受9級(jí)特大地震影響昏翰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜刘急,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一棚菊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧叔汁,春花似錦统求、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至另假,卻和暖如春像屋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背边篮。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來泰國打工己莺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人戈轿。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓凌受,卻偏偏與公主長得像,于是被迫代替她去往敵國和親思杯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子胜蛉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容