【機(jī)器學(xué)習(xí)】入門筆記系列(11) | 降維算法--主成分分析算法(PCA)

主成分分析(PCA, Principal Component Analysis)

主成分分析算法(PCA)是最流行的降維(降低維度)的算法目胡。降維就是將高維特征 x_1, x_2, .., x_n 映射到低維度特征 z_1, z_2, ..., z_k,其中 k \leq n剪况。

降維的好處主要有 3 個(gè):

  1. 數(shù)據(jù)壓縮,減小數(shù)據(jù)所占內(nèi)存或者硬盤空間桃纯;
  2. 降低運(yùn)算量业簿,提高機(jī)器學(xué)習(xí)的速度;
  3. 將數(shù)據(jù)維度降至三維或者二維寺酪,可以對(duì)數(shù)據(jù)可視化。

PCA 工作內(nèi)容

PCA 所做的就是找到一個(gè)低維(k \leq n)子空間對(duì)數(shù)據(jù)進(jìn)行投影竭缝,然后數(shù)據(jù)由該數(shù)據(jù)在投影空間的投影向量表示房维,同時(shí) PCA 會(huì)最小化投影誤差沼瘫。其中抬纸,「投影誤差」是所有的數(shù)據(jù)點(diǎn)到該投影線的距離之和。

用公式解釋「投影誤差」耿戚,假設(shè) x^{(i)} 投影到低維子空間中的點(diǎn) x_{approx}^{(i)}湿故,那么「投影誤差」 = \sum^{m}_{i=1} ||x^{(i)} - x_{approx}^{(i)}||^2

二維降至一維空間

以二維降至一維空間為例,PCA 所做的是找到一條投影線膜蛔,使得所有的數(shù)據(jù)點(diǎn)到該投影線的距離之和最小坛猪。最后,每個(gè)樣本表示從二維 (x_1^{(i)}, x_2^{(i)}) 變?yōu)橐痪S z_1^{(i)}皂股。

PCA 計(jì)算

Step1:數(shù)據(jù)預(yù)處理墅茉,對(duì) 對(duì) x^{(i)}_j 進(jìn)行特征縮放 / 均值歸一化;

Step2:計(jì)算協(xié)方差矩陣呜呐;Sigma = \frac{1} {m} \sum_{m}^{i=1}(x^{(i)})(x^{(i)})^T = \frac{1} {m} X^T X

Step3:計(jì)算協(xié)方差矩陣的特征向量就斤,其中 svd()函數(shù)是奇異值分解,Sigma \in \mathbb{R}^{n*n},U \in \mathbb{R}^{n*n} ,S \in \mathbb{R}^{n*n}蘑辑;[U, S, V] = svd(Sigma)

Step4:取矩陣 U 的前 k 列并計(jì)算 z^{(i)} 來(lái)表示 x^{(i)}洋机,其中z^{(i)} \in \mathbb{R}^{k*1},x^{(i)} \in \mathbb{R}^{n*1}洋魂。
z^{(i)} = U_{reduce}^T x^{(i)} = U(:,1:k)^T x^{(i)} = \begin{bmatrix} | & | & ... & |\\ u^{(1)} & u^{(2)} & ... & u^{(k)}\\ | & | & ... & | \end{bmatrix}^T \begin{bmatrix} x_1^{(i)}\\ x_2^{(i)}\\ ...\\ x_n^{(i)} \end{bmatrix}

用下圖總結(jié)一下整個(gè)計(jì)算過(guò)程:

PCA 計(jì)算過(guò)程

下面用 MATLAB 代碼表示 PCA 計(jì)算過(guò)程:

Sigma = (1/m) * X' * X; % compute the covariance matrix
[U,S,V] = svd(Sigma);   % compute our projected directions
Ureduce = U(:,1:k);     % take the first k directions
Z = X * Ureduce;        % compute the projected data points

涉及數(shù)學(xué)知識(shí)比較難绷旗,這里就暫時(shí)不解釋原理喜鼓。

主成分的數(shù)量 k 值的選取

如何選擇主成分的數(shù)量 k ?

k 值選取公式

通過(guò)上圖的公式選取出來(lái)的 k 值衔肢,它保留 99% 差異性庄岖,即降維后依舊保持著原本維度數(shù)據(jù) 99% 的變化情況,因此這樣的降維改變并不會(huì)有多少影響角骤。就分類的精確度而言顿锰,數(shù)據(jù)降維后對(duì)學(xué)習(xí)算法幾乎沒(méi)有什么影響。

一般启搂,k 值選取是保留 99% 差異性硼控,還有一個(gè)常用的是保留 95%、90% 差異性胳赌。

但如果實(shí)際上牢撼,一個(gè)一個(gè)遍歷 k 值并重新計(jì)算上述公式,這種選取方法比較慢且運(yùn)算量大疑苫。那么有沒(méi)有一種更好的方法呢熏版?

當(dāng)然有啦!PCA 計(jì)算過(guò)程 Step3捍掺,得到矩陣 S撼短,利用矩陣 S 來(lái)選擇 k 值。通過(guò)遍歷 k 值挺勿,選取滿足 1 - \frac{\sum_{i=1}^k S_{ii}} {\sum_{i=1}^n S_{ii}} \leq 0.01 的 k 值曲横。這種方法還不需要重新計(jì)算矩陣 S。

K 值選取的實(shí)際算法

降維后恢復(fù)

如果我們使用PCA來(lái)壓縮我們的數(shù)據(jù)不瓶,那么禾嫉,如何解壓我們的數(shù)據(jù)且回到原始數(shù)據(jù)?

降維后恢復(fù)

需要注意的是蚊丐,x_{approx}^{(i)} 就是之前所說(shuō)的原始點(diǎn)投影在投影空間上的點(diǎn)熙参,故此 x_{approx}^{(i)}x_^{(i)} 有一定的誤差。

應(yīng)用:為機(jī)器學(xué)習(xí)提速

在機(jī)器學(xué)習(xí)中麦备,使用 PCA 給數(shù)據(jù)降維可以減小運(yùn)算量從而達(dá)到提高機(jī)器學(xué)習(xí)速度的功能孽椰。

需要注意的是,在訓(xùn)練集中運(yùn)用了 PCA 將 z^{(i)} \rightarrow x_{train}^{(i)}凛篙,那么在驗(yàn)證集和測(cè)試集都要運(yùn)用 PCA 黍匾。

而企圖因?yàn)?PCA 能夠降維,希望借此達(dá)到解決過(guò)擬合問(wèn)題的想法是錯(cuò)誤的鞋诗。

總之膀捷,PCA 在為機(jī)器學(xué)習(xí)提速應(yīng)用效果很好;而 PCA 在處理過(guò)擬合問(wèn)題效果很差削彬,處理過(guò)擬合問(wèn)題還是要用正則化全庸。

建議

一開(kāi)始不要將 PCA方法就直接放到算法里秀仲,先使用原始數(shù)據(jù) x^{(i)} 看看效果。

只有一個(gè)原因可以考慮使用 PCA:學(xué)習(xí)算法收斂地非常緩慢且占用內(nèi)存或者硬盤空間非常大壶笼,那么就考慮用 PCA 來(lái)進(jìn)行壓縮數(shù)據(jù) 神僵。

總結(jié)

參考文獻(xiàn)

  1. 吳恩達(dá)機(jī)器學(xué)習(xí) week8
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市覆劈,隨后出現(xiàn)的幾起案子保礼,更是在濱河造成了極大的恐慌,老刑警劉巖责语,帶你破解...
    沈念sama閱讀 222,378評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件炮障,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡坤候,警方通過(guò)查閱死者的電腦和手機(jī)胁赢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)白筹,“玉大人智末,你說(shuō)我怎么就攤上這事⊥胶樱” “怎么了系馆?”我有些...
    開(kāi)封第一講書人閱讀 168,983評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)顽照。 經(jīng)常有香客問(wèn)我由蘑,道長(zhǎng),這世上最難降的妖魔是什么棒厘? 我笑而不...
    開(kāi)封第一講書人閱讀 59,938評(píng)論 1 299
  • 正文 為了忘掉前任纵穿,我火速辦了婚禮下隧,結(jié)果婚禮上奢人,老公的妹妹穿的比我還像新娘。我一直安慰自己淆院,他們只是感情好何乎,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著土辩,像睡著了一般支救。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拷淘,一...
    開(kāi)封第一講書人閱讀 52,549評(píng)論 1 312
  • 那天各墨,我揣著相機(jī)與錄音,去河邊找鬼启涯。 笑死贬堵,一個(gè)胖子當(dāng)著我的面吹牛恃轩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播黎做,決...
    沈念sama閱讀 41,063評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼叉跛,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了蒸殿?” 一聲冷哼從身側(cè)響起筷厘,我...
    開(kāi)封第一講書人閱讀 39,991評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎宏所,沒(méi)想到半個(gè)月后酥艳,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,522評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡爬骤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評(píng)論 3 342
  • 正文 我和宋清朗相戀三年玖雁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盖腕。...
    茶點(diǎn)故事閱讀 40,742評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡赫冬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出溃列,到底是詐尸還是另有隱情劲厌,我是刑警寧澤,帶...
    沈念sama閱讀 36,413評(píng)論 5 351
  • 正文 年R本政府宣布听隐,位于F島的核電站补鼻,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏雅任。R本人自食惡果不足惜风范,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望沪么。 院中可真熱鬧硼婿,春花似錦、人聲如沸禽车。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,572評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)殉摔。三九已至州胳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間逸月,已是汗流浹背栓撞。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,671評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留碗硬,地道東北人瓤湘。 一個(gè)月前我還...
    沈念sama閱讀 49,159評(píng)論 3 378
  • 正文 我出身青樓捌归,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親岭粤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子惜索,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評(píng)論 2 361

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

  • (第一部分 機(jī)器學(xué)習(xí)基礎(chǔ))第01章 機(jī)器學(xué)習(xí)概覽第02章 一個(gè)完整的機(jī)器學(xué)習(xí)項(xiàng)目(上)第02章 一個(gè)完整的機(jī)器學(xué)習(xí)...
    SeanCheney閱讀 4,105評(píng)論 0 26
  • 前言 PCA是一種無(wú)參數(shù)的數(shù)據(jù)降維方法,在機(jī)器學(xué)習(xí)中很常用剃浇,這篇文章主要從三個(gè)角度來(lái)說(shuō)明PCA是怎么降維的分別是方...
    WZFish0408閱讀 51,619評(píng)論 6 36
  • 轉(zhuǎn)自:主成分分析 - xiaoyu714543065的專欄 - 博客頻道 - CSDN.NET 問(wèn)題...
    horu閱讀 1,204評(píng)論 1 3
  • Day8 7月16日 昨晚虎囚,吳師傅確定地告訴我角塑,因?yàn)榻裉煸缟纤?:30就要接一個(gè)團(tuán)去黃果樹(shù)瀑布,故送我們?nèi)ベF陽(yáng)北...
    劉瓊媛閱讀 669評(píng)論 1 3
  • 今晚看了兒子的數(shù)學(xué)卷子和口算天天練淘讥,看完后有些生氣圃伶,最近口算題總是頻繁的出錯(cuò),8×8三番五次的把得數(shù)寫成...
    李璽辰媽媽閱讀 95評(píng)論 0 3