特征提取與特征選擇(一)主成分分析PCA:小朋友狭瞎,你是否有很多問號(hào)细移??熊锭?

一弧轧、前言

毫不夸張地說雪侥,主成分分析(Principal Component Analysis)面前,在座的各位都是小朋友精绎,PCA算法距離1901年提出已經(jīng)過了一百多年速缨,縱然世紀(jì)更迭,但是許多人對(duì)PCA算法在人臉識(shí)別領(lǐng)域中的應(yīng)用仍然逃不過真香定律捺典,它仍然是目前最簡單的以特征量分析多維度統(tǒng)計(jì)分布的方法鸟廓,沒有之一,可以說是算法必掌握之利器襟己。


image

二引谜、為什么要有主成分分析

和這個(gè)系列名對(duì)應(yīng),主成分分析是特征提取的一個(gè)常用算法擎浴。這時(shí)肯定有人對(duì)特征提取和特征選擇的區(qū)別產(chǎn)生疑問员咽,簡單來說,特征提取是從N個(gè)特征中贮预,通過構(gòu)造M個(gè)函數(shù)的方式贝室,獲得M個(gè)特征,這里每個(gè)特征都是包含了前N個(gè)特征得出的仿吞。而特征選擇就是“單純的”從樣本的N個(gè)特征中選出前M個(gè)最matter(比如在人臉識(shí)別中使得識(shí)別率最高的)的特征滑频。這兩種情況下,M都是小于N的唤冈,直觀來講峡迷,比如我從樣本集中拿出一個(gè)神奇寶貝X_i,他可能包含有N個(gè)特征你虹,比如X_{i1}是它的類系绘搞,X_{i2}使它的攻擊力,X_{i3}使它的防御力傅物,等等夯辖,那么由此得來的樣本X_{i}的特征空間可以表示為X_i = \left[ \begin{matrix} X_{i1}\\ X_{i2} \\ X_{i3} \\ ... \\ X_{iN} \\ \end{matrix} \right],而這樣的N個(gè)維度有時(shí)對(duì)于實(shí)際問題來說可能太多了董饰,需要減少樣本的維度蒿褂,而這時(shí)候,主成分分析就要來秀一波了卒暂,它是降低數(shù)據(jù)維度的一把好手贮缅,比如這個(gè)問題,他就可以提取出M個(gè)特征使得神奇寶貝的勝率達(dá)到最高介却。
但是要注意谴供,這里重新得到的X_{i1}X_{i2}齿坷,等等已經(jīng)和之前的不一樣了桂肌,事實(shí)上数焊,這里的每個(gè)新特征(X_{im} ,m \in 1到M)是關(guān)于之前N個(gè)特征的綜合考慮崎场,可以表示為佩耳,X_i = \left[ \begin{matrix} f_{1}(X_{i1},...,X_{iN})\\ f_{2}(X_{i1},...,X_{iN}) \\ f_{3}(X_{i1},...,X_{iN}) \\ ... \\ f_{M}(X_{i1},...,X_{iN}) \\ \end{matrix} \right],\,M<N

三、二維主成分分析

OK,我們由淺入深谭跨,先來考慮一下二維情況時(shí)的主成分分析干厚,也就是N=2,M=1的情況,這樣每個(gè)樣本點(diǎn)都分布在一個(gè)二維平面上螃宙,我們可以用一個(gè)二維坐標(biāo)系表示蛮瞄。

優(yōu)化問題得出

好,那我們要拿主成分分析來干嘛呢谆扎?我們想要作特征提取挂捅,也就是把X_1,X_2這兩個(gè)特征“融合”成一個(gè)特征用來作后續(xù)勝率的分析。試想一下堂湖,如果我們要考慮皮卡丘和杰尼龜(假設(shè)只有攻擊力和防御力這兩個(gè)特征)戰(zhàn)斗的勝率闲先,X_1表示攻擊力,X_2表示防御力无蜂,那么我們希望找一個(gè)特征(也就是找一個(gè)軸)伺糠,把原本在二維坐標(biāo)系上的點(diǎn)還能投影到這個(gè)坐標(biāo)軸上的對(duì)應(yīng)位置,以使得所有樣本分布盡可能不變斥季。

image

我們可以畫出這樣的坐標(biāo)系训桶,皮卡丘和杰尼龜分別用P和J點(diǎn)代替,皮卡丘的攻擊力較高泻肯,杰尼龜?shù)姆烙^高,那怎么判斷誰獲勝的可能性比較大呢慰照?很顯然灶挟,對(duì)這兩個(gè)特征做個(gè)綜合,具體怎么說呢毒租?就是給分別一個(gè)權(quán)重稚铣,然后得到一個(gè)新的特征能力值綜合考慮了他們的攻擊力和防御力,這樣把P1墅垮,J1這兩個(gè)二維坐標(biāo)投影到一維上惕医,然后比較P2,J2算色,就能估計(jì)勝率啦抬伺!

image

很好喷众,照著這個(gè)思路蔓彩,也就是我們需要構(gòu)造一個(gè)函數(shù),也就是找出A和b使得所有的樣本點(diǎn)在這條線上的投影盡可能分散妇垢,以便我們借助我們新得的這個(gè)特征Y盡可能區(qū)分開他們夭委,由此我們得出,也就是上圖中的F1方向能岩。

假設(shè)現(xiàn)在我們有P個(gè)樣本點(diǎn)寞宫,\left\{X_i\right\},i= 1到p,這樣拉鹃,可以把Y = AX + b改造為Y = A(X - \bar X)辈赋,其中\bar X = \frac{1}{p}\sum_{i=1}^pX_p,當(dāng)我們想要把N維向量降為M維時(shí),很顯然(X - \bar X)應(yīng)該是Mx1的矩陣膏燕,而A應(yīng)該是NxM的矩陣钥屈,假設(shè)A = \left[ \begin{matrix} a1\\ a2 \\ a3 \\ ... \\ a_M \\ \end{matrix} \right],其中a向量是Mx1的矩陣煌寇,這里的a1等等實(shí)際上就表示M個(gè)方向焕蹄,在這M個(gè)方向上投影就得到M個(gè)值。(Tips:搞清楚各個(gè)向量的維度對(duì)理解后續(xù)推導(dǎo)至關(guān)重要阀溶,請(qǐng)停下來思考一下腻脏。),所以Y向量為银锻,Y = \left[ \begin{matrix} Y_{i1}\\ Y_{i2} \\ Y_{i3} \\ ... \\ Y_{iM} \\ \end{matrix} \right] =\left[ \begin{matrix} a1(X_i-\bar X)\\ a2(X_i-\bar X) \\ a3(X_i-\bar X) \\ ... \\ a_M(X_i-\bar X) \\ \end{matrix} \right]

Great!通過前面這樣的一通分析永品,我們終于有了目標(biāo),有了目標(biāo)就可以嘗試得出優(yōu)化問題的目標(biāo)函數(shù)和約束击纬,現(xiàn)在鼎姐,我們只考慮有p個(gè)樣本的二維情況,所以N=2更振,M=1炕桨,這樣很簡單,Y就是一個(gè)值肯腕,我們要最大化方差献宫,也就是最大化\sum_{i=1}^p(y_{i1}-\bar y_{i1})^2,接下來我們就嘗試把這個(gè)目標(biāo)函數(shù)化為樣本點(diǎn)X相關(guān),過程很容易实撒。
實(shí)際上\bar y_{i1} = 0姊途,所以
\sum_{i=1}^p(y_{i1}-\bar y_{i1})^2 =\sum_{i=1}^p(y_{i1})^2=\sum_{i=1}^p[a1(X_i-\bar X)]^2

=\sum_{i=1}^p[a1(X_i-\bar X)][a1(X_i-\bar X)]^T

= a1[\sum_{i=1}^p(X_i-\bar X)(X_i-\bar X)^T] a1^T

我們定義\sum_{i=1}^p(X_i-\bar X)(X_i-\bar X)^T為協(xié)方差矩陣\sum(covariance matrix),這樣目標(biāo)函數(shù)可以簡化為Maxmize \,\,a1\sum a1^T知态,約束條件可以在a1方向上單位化捷兰,不影響方向表示,卻可以極大簡化后續(xù)計(jì)算负敏。所以優(yōu)化問題為贡茅,
Maxmize \,\,(a_1\sum a_1^T)$$$$Subject \,to:\,a_1a_1^T = 1 \tag 1

解優(yōu)化問題

得到要解的優(yōu)化問題后,又又又到了我們喜聞樂見的拉格朗日乘子法和求導(dǎo)運(yùn)算其做,求極值的階段了友扰。(貼一下這位可愛的科學(xué)家)

image

這次優(yōu)化問題的解相比于前面幾篇支持向量機(jī)的推導(dǎo)要簡單很多彤叉,我會(huì)用最簡單的方法介紹,各位看官耐心且看村怪。
首先利用拉格朗日乘子法構(gòu)造函數(shù)
接下來秽浇,祖?zhèn)魇炙嚽髮?dǎo),
所以甚负,柬焕,怎么樣?看這個(gè)式子是不是很熟悉梭域,沒錯(cuò)斑举,是協(xié)方差矩陣的特征向量,是協(xié)方差矩陣的特征值病涨。
怎么理解特征值和特征向量呢富玷?比如我們把矩陣看作運(yùn)動(dòng),對(duì)于運(yùn)動(dòng)而言既穆,它最重要的特征當(dāng)然是速度和方向赎懦,

  • 特征值就表示運(yùn)動(dòng)的速度
  • 特征向量就表示運(yùn)動(dòng)的方向

那這里的這里的特征值和特征向量表示什么意義呢?我們思考一波幻工,我們要最大化a_1\sum a_1^T,由上面(1)式励两,也就是最大化a_1\lambda a_1^T,又約束條件a_1 a_1^T =1囊颅,所当悔!以!我們就是要最大化特征值\lambda(也就是最大化目標(biāo)函數(shù)方差呀朋友萌L叽)盲憎,到這里,我們總結(jié)出胳挎,
{\color{red} a_1 表示使Y分布方差最大的方向}饼疙, {\color{red}而 \lambda 表示方差}
所以\lambda\sum最大的特征值,a_1\sum最大的特征值\lambda對(duì)應(yīng)的特征向量串远,并且a_1 a_1^T =1宏多。

Good job!我們找到了a_1儿惫,也就找到了二維問題中使方差最大的方向澡罚。

四、多維情況求解

解決掉可以直觀想象的分布統(tǒng)計(jì)問題之后肾请,我們來點(diǎn)稍有挑戰(zhàn)性的留搔,怎么求多維(N>2)向量除a_1外的其它維度a_2,a_3,a_4,....,a_M呢?一開始铛铁,我們就說明矩陣A的各個(gè)維度實(shí)際上表示的是不同的方向隔显,我們要在每個(gè)方向都盡可能使方差大却妨,比如我們要找a_2方向,那么同樣括眠,Maxmize \,\,(a_2\sum a_2^T)$$$$Subject \,to: \,\,\,\,\,a_2a_2^T = 1$$$$a_2a_1^T = a_1 a_2^T = 0 \tag 3彪标,注意,這里唯一的不同就是掷豺,要添加a_1a_2正交捞烟,說明在三維降二維時(shí),a_2方向是唯一確定的当船,莫得選擇题画。
接下來,繼續(xù)祖?zhèn)魇炙嚴(yán)窭嗜粘俗臃忧髮?dǎo)德频,引入系數(shù)\lambda\beta苍息,構(gòu)造函數(shù)\Theta(a_1) = a_2\sum a_2^T - \lambda(a_2a_2^T-1) - \beta a_1 a_2^T接下來竞思,和前面二維情況差不多衙四,\frac{\partial \Theta}{\partial a_2} = (\sum a_2^T - \lambda a_2^T-\beta a_1^T)^T =0
以下传蹈,簡單推導(dǎo)一下吧惦界,方便理解沾歪,\frac{\partial \Theta}{\partial a_2} = (a_2 \sum - \lambda a_2-\beta a_1)^T =0,兩邊同乘以a_1^T狂窑,得到\frac{\partial \Theta}{\partial a_2} = (a_2 \sum a_1^T - \lambda a_2a_1^T-\beta (a_1a_1^T))^T =0泉哈,就等于\frac{\partial \Theta}{\partial a_2} = (a_2 \lambda a_1^T - \lambda a_2a_1^T-\beta) =0看看這個(gè)式子丛晦,u1s1,漂亮匹层!全都能照著約束條件約去(現(xiàn)在體會(huì)到約束的好處了吧)锌蓄,得到
\beta =0煤率,同時(shí)蝶糯,\sum a_2^T = \lambda a_2^T识虚,所以怎么樣担锤,是不是第二個(gè)優(yōu)化問題(3)和第一個(gè)優(yōu)化問題(1)就一樣了肛循?最大化a_2\sum a_2^T = \lambda,再次求最大的\lambda多糠,但是此時(shí)最大已經(jīng)被a_1占去夹孔,咋辦搭伤?嗐怜俐,退而求其次佑菩,取第二大吧。

image

所以殿漠,嚴(yán)肅嚴(yán)肅,我們要放大招了绞幌,拋出結(jié)論,

相信聰明的你已經(jīng)猜到了NxM矩陣A的其他維度的值了一忱,就不用我一遍一遍重復(fù)推導(dǎo)了吧。
image

得出結(jié)論帘营,就是協(xié)方差矩陣第三大特征值對(duì)應(yīng)的特征向量票渠,依次類推芬迄。由此確定了NxM矩陣问顷,這就是一個(gè)M維度的坐標(biāo)系呀杜窄,盆友萌,我們成功把N維坐標(biāo)系的樣本成功移到我們自己構(gòu)建的M維坐標(biāo)系上了呀嘴瓤,撒花撒花畏浆!其中每個(gè)軸都是我們自己辛苦求出來的哦。

五狞贱、總結(jié)一波

好的刻获,經(jīng)過你不懈的努力,總算把PCA算法盤下來了瞎嬉,我們最后總結(jié)一下蝎毡,回顧一遍,你能有更深的理解氧枣。

  1. 拿到一堆樣本沐兵,果斷求協(xié)方差矩陣\sum =\sum_{i=1}^p(X_i-\bar X)(X_i-\bar X)^T
  2. 有了結(jié)論便监,直接用扎谎。求出\sum的特征值及其對(duì)應(yīng)的特征向量碳想,并且從大到小排序,以備取用毁靶;
  3. 歸一化所有的方向a_i;
  4. 得到前M維方向向量A = \left[ \begin{matrix} a1\\ a2 \\ a3 \\ ... \\ a_M \\ \end{matrix} \right]
  5. 得到M維坐標(biāo)系后胧奔,果斷把這P個(gè)在N維坐標(biāo)系上的樣本點(diǎn)映射過去,Y = A(X_i - \bar X)预吆,其中i=1 到 P龙填。

PCA:“小朋友,讀到這里拐叉,你還有很多問號(hào)嗎岩遗?”

原文搬運(yùn)自我的博客,歡迎持續(xù)關(guān)注凤瘦。
創(chuàng)作不易宿礁,你的鼓勵(lì)是我創(chuàng)作的動(dòng)力,如果你有收獲蔬芥,點(diǎn)個(gè)贊吧??


我接下來還會(huì)陸續(xù)更新機(jī)器學(xué)習(xí)相關(guān)的學(xué)習(xí)筆記窘拯,補(bǔ)充這個(gè)系列。如果看到這里的話坝茎,說明你有認(rèn)真看這篇文章涤姊,希望你能有所收獲!最后嗤放,歡迎交流指正思喊!

還有不明白的歡迎閱讀其他文章:
通俗講解支持向量機(jī)SVM(一)面試官:什么?線性模型你不會(huì)不清楚吧次酌?
通俗講解支持向量機(jī)SVM(二)另辟蹊徑恨课!對(duì)偶性的幾何解釋
通俗講解支持向量機(jī)SVM(三)SVM處理非線性問題及軟間隔之引出
通俗講解支持向量機(jī)SVM(四)用盡洪荒之力把核函數(shù)與核技巧講得明明白白(精華篇)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市岳服,隨后出現(xiàn)的幾起案子剂公,更是在濱河造成了極大的恐慌,老刑警劉巖吊宋,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纲辽,死亡現(xiàn)場離奇詭異,居然都是意外死亡璃搜,警方通過查閱死者的電腦和手機(jī)拖吼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來这吻,“玉大人吊档,你說我怎么就攤上這事⊥倥矗” “怎么了怠硼?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵鬼贱,是天一觀的道長。 經(jīng)常有香客問我香璃,道長这难,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任增显,我火速辦了婚禮,結(jié)果婚禮上脐帝,老公的妹妹穿的比我還像新娘同云。我一直安慰自己,他們只是感情好堵腹,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布炸站。 她就那樣靜靜地躺著,像睡著了一般疚顷。 火紅的嫁衣襯著肌膚如雪旱易。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天腿堤,我揣著相機(jī)與錄音阀坏,去河邊找鬼。 笑死笆檀,一個(gè)胖子當(dāng)著我的面吹牛忌堂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播酗洒,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼士修,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了樱衷?” 一聲冷哼從身側(cè)響起棋嘲,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎矩桂,沒想到半個(gè)月后沸移,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡侄榴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年阔籽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牲蜀。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡笆制,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出涣达,到底是詐尸還是另有隱情在辆,我是刑警寧澤证薇,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站匆篓,受9級(jí)特大地震影響浑度,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鸦概,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一箩张、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧窗市,春花似錦先慷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至摄狱,卻和暖如春脓诡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背媒役。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來泰國打工祝谚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人酣衷。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓踊跟,卻偏偏與公主長得像,于是被迫代替她去往敵國和親鸥诽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子商玫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

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

  • 在前面我們學(xué)習(xí)了一種有監(jiān)督的降維方法——線性判別分析(Linear Dscriminant Analysis,LD...
    井底蛙蛙呱呱呱閱讀 3,553評(píng)論 1 14
  • 西瓜書第10章講解的是降維和度量學(xué)習(xí)的相關(guān)內(nèi)容 image 維度 對(duì)于數(shù)組和Series而言牡借,維度就是shape返...
    皮皮大閱讀 2,285評(píng)論 0 6
  • 轉(zhuǎn)自:主成分分析 - xiaoyu714543065的專欄 - 博客頻道 - CSDN.NET 問題...
    horu閱讀 1,195評(píng)論 1 3
  • 本文先簡要明了地介紹了特征向量和其與矩陣的關(guān)系拳昌,然后再以其為基礎(chǔ)解釋協(xié)方差矩陣和主成分分析法的基本概念,最后我們結(jié)...
    xiao_dong_zi閱讀 3,860評(píng)論 0 10
  • 73.8kg 早飯:一盒純牛奶钠龙,一根油條炬藤,一塊韭菜餅,一碗豆?jié){碴里。 午飯:一杯奶昔沈矿,半個(gè)梨,一盒純牛奶咬腋。 晚飯:一個(gè)...
    yummy0632閱讀 90評(píng)論 0 0