![]() PCA簡(jiǎn)單的說(shuō),它是一種通用的降維工具。在我們處理高維數(shù)據(jù)的時(shí)候,
了能降低后續(xù)計(jì)算的復(fù)雜度,在“預(yù)處理”階段通常要先對(duì)原始數(shù)據(jù)進(jìn)行降維,而PCA就是干這個(gè)事的 本質(zhì)上講,PCA就是將高維的數(shù)據(jù)通過(guò)線性變換投影到低維空間上去,但這個(gè)投影可不是隨便投投, 遵循一個(gè)指導(dǎo)思想,那就是:找出最能夠代表原始數(shù)據(jù)的投影方法。這里怎么理解這個(gè)思想呢?“最 表原始數(shù)據(jù)”希望降維后的數(shù)據(jù)不能失真,也就是說(shuō),被PCA降掉的那些維度只能是那些噪聲或是冗 數(shù)據(jù)。這里的噪聲和冗余我認(rèn)為可以這樣認(rèn)識(shí): 噪聲:我們常說(shuō)“噪音污染”,意思就是“噪聲”干擾我們想聽(tīng)到的真正聲音。同樣,假設(shè)樣本中某 主要的維度A,它能代表原始數(shù)據(jù),是“我們真正想聽(tīng)到的東西”,它本身含有的“能量”(即該維度 方差,為啥?別急,后文該解釋的時(shí)候就有啦~)本來(lái)應(yīng)該是很大的,但由于它與其他維度有那 些千絲萬(wàn)縷的相關(guān)性,受到這些個(gè)相關(guān)維度的干擾,它的能量被削弱了,我們就希望通過(guò)PCA 理后,使維度A與其他維度的相關(guān)性盡可能減弱,進(jìn)而恢復(fù)維度A應(yīng)有的能量,讓我們“聽(tīng)的更清 楚”! 冗余:冗余也就是多余的意思,就是有它沒(méi)它都一樣,放著就是占地方。同樣,假如樣本中有 個(gè)維度,在所有的樣本上變化不明顯(極端情況:在所有的樣本中該維度都等于同一個(gè)數(shù)),也 說(shuō)該維度上的方差接近于零,那么顯然它對(duì)區(qū)分不同的樣本絲毫起不到任何作用,這個(gè)維度即 冗余的,有它沒(méi)它一個(gè)樣,所以PCA應(yīng)該去掉這些維度。 ,PCA的目的就是“降噪”和“去冗余”?!敖翟搿钡哪康木褪鞘贡A粝聛?lái)的維度間的相關(guān)性盡可
能小,而“去冗余”的目的就是使保留下來(lái)的維度含有的“能量”即方差盡可能大。那首先的首先,我們得需 要知道各維度間的相關(guān)性以及個(gè)維度上的方差?。∧怯惺裁磾?shù)據(jù)結(jié)構(gòu)能同時(shí)表現(xiàn)不同維度間的相關(guān)性以 及各個(gè)維度上的方差呢?自然是非協(xié)方差矩陣莫屬。協(xié)方差矩陣度量的是維度與維度之間的關(guān)系,而非樣本與樣本之間。協(xié)方差矩陣的主對(duì)角線上的元素是各個(gè)維度上的 方差(即能量),其他元素是兩兩維度間的協(xié)方差(即相關(guān)性)。我們要的東西協(xié)方差矩陣都有了,先來(lái) 看“降噪”,讓保留下的不同維度間的相關(guān)性盡可能小,也就是說(shuō)讓協(xié)方差矩陣中非對(duì)角線元素都基本為 零。達(dá)到這個(gè)目的的方式自然不用說(shuō),線代中獎(jiǎng)的很明確——矩陣對(duì)角化。而對(duì)角化后得到的矩陣,其 對(duì)角線上是協(xié)方差矩陣的特征值,它還有兩個(gè)身份:首先,它還是各個(gè)維度上的新方差;其次,它是各 個(gè)維度本身應(yīng)該擁有的能量(能量的概念伴隨特征值而來(lái))。這也就是我們?yōu)楹卧谇懊娣Q(chēng)“方差”為“能量”的 原因。也許第二點(diǎn)可能存在疑問(wèn),但我們應(yīng)該注意到這個(gè)事實(shí),通過(guò)對(duì)角化后,剩余維度間的相關(guān)性已 經(jīng)減到最弱,已經(jīng)不會(huì)再受“噪聲”的影響了,故此時(shí)擁有的能量應(yīng)該比先前大了??赐炅恕敖翟搿?,我們 的“去冗余”還沒(méi)完呢。對(duì)角化后的協(xié)方差矩陣,對(duì)角線上較小的新方差對(duì)應(yīng)的就是那些該去掉的維度。 所以我們只取那些含有較大能量(特征值)的維度,其余的就舍掉即可。PCA的本質(zhì)其實(shí)就是對(duì)角化協(xié)方 差矩陣。 我也是剛學(xué)的,代碼如下
for i=1:29
Xnor(i,:)=X(i,:)./sum(X(i,:)); end [p,t,latent]=princomp(Xnor,'econ'); latent=latent./sum(latent)*100; latent(1:10) 第一步導(dǎo)入矩陣29 X 14 前15對(duì)照組求特征值 plot(t(1:15,1),t(1:15,2),'o') hold on plot(t(16:29,1),t(16:29,2),'*') xlabel('PC1(36.3%)') ylabel('PC2(26.9%)') http://blog.sciencenet.cn/blog-265205-544681.html 此文來(lái)自科學(xué)網(wǎng)陳波博客,轉(zhuǎn)載請(qǐng)注明出處。 上一篇:用Python進(jìn)行生物信息學(xué)分析,Blast后結(jié)果的分析。 下一篇:網(wǎng)傳浙大博士生月補(bǔ)助要漲到3500元(搜集相關(guān)資料報(bào)道應(yīng)該真的) |
|
來(lái)自: stillyuyi > 《待分類(lèi)》