#### 1. 原始特征值的標(biāo)準(zhǔn)化 PCA中所用的標(biāo)準(zhǔn)化方式為零均值標(biāo)準(zhǔn)化,公式如下 對(duì)于每一個(gè)特征,在原始值的基礎(chǔ)上減去平均值,然后除以標(biāo)準(zhǔn)差,通過(guò)這一操作將不同量綱的特征統(tǒng)一歸一化成標(biāo)準(zhǔn)正態(tài)分布,可以進(jìn)行統(tǒng)一比較。 #### 2, 計(jì)算協(xié)方差矩陣 協(xié)方差用于衡量?jī)蓚€(gè)變量之間的相關(guān)性,這個(gè)概念是在方差的基礎(chǔ)上延伸而來(lái),方差的定義如下 方差用于衡量變量偏移均值的程度,而協(xié)方差的公式如下 同時(shí)考慮了x和y兩個(gè)變量偏移均值的程度,而且由于是相乘操作,所以當(dāng)協(xié)方差的值大于0時(shí),x和y的變化方向相同,小于0時(shí),x和y的變化方向相反。因此,協(xié)方差的值可以反映兩個(gè)變量之間的相關(guān)性,而且相關(guān)系數(shù)也就是在協(xié)方差的基礎(chǔ)上除以兩個(gè)變量的標(biāo)準(zhǔn)差得到的,pearson相關(guān)系數(shù)的公式如下 協(xié)方差矩陣就是多個(gè)變量?jī)蓛芍g協(xié)方差所構(gòu)成的矩陣,以3個(gè)特征為例,對(duì)應(yīng)的協(xié)方差矩陣如下 對(duì)于變量與自身的協(xié)方差,其值就是對(duì)應(yīng)的方差了,所以在協(xié)方差矩陣中,對(duì)角線的值是各個(gè)變量的方差。 #### 3. 計(jì)算協(xié)方差矩陣的特征值和特征向量 這一步是PCA的核心,PCA中所謂的主成分就是特征值最大的特征向量了。所以首先計(jì)算特征值和特征向量。從這里看出,PCA降維之后的主成分,并不是原來(lái)輸入的特征了,而是原始特征的線性組合。 #### 4. 選取topN主成分 將特征值按照從大到小排序,選取topN個(gè)特征向量,構(gòu)成新的特征矩陣。 #### 5. 投影 將樣本點(diǎn)投影到特征向量上,以二維數(shù)據(jù)為例,投影前的結(jié)果如下 投影到特征向量之后的結(jié)果如下 對(duì)于每一個(gè)主成分而言,有一個(gè)方差,這個(gè)值就是投影到該主成分之后的值對(duì)應(yīng)的方差,示意如下 在篩選主成分的時(shí)候,我們會(huì)利用如下所示的碎石圖 圖中橫坐標(biāo)表示每個(gè)主成分,依次為PC1, PC2, 對(duì)應(yīng)的方差值由大變小,通過(guò)判斷折線圖的拐點(diǎn)來(lái)篩選topN個(gè)主成分。 在scikit-learn中,進(jìn)行PCA降維的代碼如下 >>> from sklearn import datasets 可視化的代碼如下 >>> import matplotlib.pyplot as plt 結(jié)果如下 作為應(yīng)用最廣泛的降維算法,PCA方法計(jì)算簡(jiǎn)便,易于實(shí)現(xiàn),但是解釋性較差,因?yàn)樾碌闹鞒煞质窃继卣鞯慕M合,無(wú)法與原始特征一一對(duì)應(yīng)。 |
|
來(lái)自: 生信修煉手冊(cè) > 《待分類》