講講降維算法:PCA 主成分分析
在機(jī)器學(xué)習(xí)的領(lǐng)域中,我們對(duì)原始數(shù)據(jù)進(jìn)行特征提取,經(jīng)常會(huì)得到高維度的特征向量。在這些多特征的高維空間中,會(huì)包含一些冗余和噪聲。所以我們希望通過降維的方式來尋找數(shù)據(jù)內(nèi)部的特性,提升特征表達(dá)能力,降低模型的訓(xùn)練成本。PCA是一種降維的經(jīng)典算法,屬于線性、非監(jiān)督、全局的降維方法。
一、PCA原理
PCA的原理是線性映射,簡單的說就是將高維空間數(shù)據(jù)投影到低維空間上,然后將數(shù)據(jù)包含信息量大的主成分保留下來,忽略掉對(duì)數(shù)據(jù)描述不重要的次要信息。而對(duì)于正交屬性空間中的樣本,如何用一個(gè)超平面對(duì)所有樣本進(jìn)行恰當(dāng)合適的表達(dá)呢?若存在這樣的超平面,應(yīng)該具有兩種性質(zhì):
- 所有樣本點(diǎn)到超平面的距離最近
- 樣本點(diǎn)在這個(gè)超平面的投影盡可能分開
以上兩種性質(zhì)便是主成分分析的兩種等價(jià)的推導(dǎo),即PCA最小平方誤差理論和PCA最大方差理論,本篇主要為大家介紹最大方差理論。 PCA的降維操作是選取數(shù)據(jù)離散程度最大的方向(方差最大的方向)作為第一主成分,第二主成分選擇方差次大的方向,并且與第一個(gè)主成分正交。不算重復(fù)這個(gè)過程直到找到k個(gè)主成分。
數(shù)據(jù)點(diǎn)分布在主成分方向上的離散程度最大,且主成分向量彼此之間正交。
二、PCA算法實(shí)現(xiàn)步驟
1、對(duì)所有數(shù)據(jù)特征進(jìn)行中心化和歸一化對(duì)樣本進(jìn)行平移使其重心在原點(diǎn),并且消除不同特征數(shù)值大小的影響,轉(zhuǎn)換為統(tǒng)一量綱:
2、計(jì)算樣本的協(xié)方差矩陣
協(xié)方差是對(duì)兩個(gè)隨機(jī)變量聯(lián)合分布線性相關(guān)程度的一種度量;
3、對(duì)協(xié)方差矩陣求解特征值和特征向量
注意點(diǎn):1、對(duì)稱矩陣的特征向量相互正交,其點(diǎn)乘為02、數(shù)據(jù)點(diǎn)在特征向量上投影的方差,為對(duì)應(yīng)的特征值,選擇特征值大的特征向量,就是選擇點(diǎn)投影方差大的方向,即是具有高信息量的主成分;次佳投影方向位于最佳投影方向的正交空間,是第二大特征值對(duì)應(yīng)的特征向量,以此類推;
4、選取k個(gè)最大大特征值對(duì)應(yīng)的特征向量,即是k個(gè)主成分
U是協(xié)方差矩陣所有的特征向量構(gòu)成的矩陣,對(duì)應(yīng)的特征值滿足:λ1>λ2>?>λn,同時(shí)使其滿足在主成分向量上投影的方差和占總方差的99%或者95%以上,即確定了k的選取。
三、降維python實(shí)現(xiàn)
1、配置環(huán)境,導(dǎo)入相關(guān)包
2、讀取數(shù)據(jù)
3、讀取特征、標(biāo)簽列,并進(jìn)行中心化歸一化,選取主成分個(gè)數(shù),前2個(gè)主成分的方差和>95%
4、將降維后特征可視化,橫縱坐標(biāo)代表兩個(gè)主成分,顏色代表結(jié)果標(biāo)簽分類,即可根據(jù)主成分進(jìn)行后續(xù)分析、建模
以上PCA主成分分析就講完了,本文進(jìn)行了樣本點(diǎn)在超平面的投影盡可能分開的推導(dǎo)原理闡述,大家感興趣的可以研究另一種等價(jià)推導(dǎo),即樣本點(diǎn)到超平面的距離最近。