想象一下,你是一個(gè)營養(yǎng)學(xué)家試圖探索食物的營養(yǎng)成分。那么什么是區(qū)分食品的最佳方式?通過維生素含量?蛋白水平?或者兩者的組合?
想知道這個(gè)問題,你需要這個(gè)——主成分分析
以下內(nèi)容譯自Algobeans
區(qū)分識(shí)別一個(gè)整體里有什么成分,最直觀的就是可視化以及揭示集群,例如,在食品中,我們可以識(shí)別廣泛的類別,如肉類和蔬菜,以及子類別,如蔬菜類型。
但是如何找出這些成分呢?
主成分分析定義
主成分分析(PCA)是在大型數(shù)據(jù)集中找出少量基礎(chǔ)變量(被稱為“主成本”)的技術(shù)。主要思想為降維,把多指標(biāo)轉(zhuǎn)化為幾個(gè)綜合指標(biāo)。
主成分可以由一個(gè)或多個(gè)現(xiàn)有變量表示。
舉例來說:
我們可以用單一變量「維生素C」來區(qū)分食物,因?yàn)榫S生素C只在蔬菜中但不存在于肉類中。 但是用這樣的變量,肉類將全部聚集在一起(因?yàn)樗腥忸悓S生素C的反應(yīng)都為0,無法分開)(圖一最左所示)
圖一:用變量分類
為了把肉類的子類也表示出來,我們可以用多個(gè)變量「維生素C-脂肪」來表示,因?yàn)椴煌娜忸愔竞坎煌沂卟酥胁缓兄?,這樣我們就把蔬菜和肉類以及所含有的子類也分別開來了。(圖一中間)
如果想要得到更精細(xì)的分類,我們可以用「維生素C+纖維-脂肪」這樣的變量來把蔬菜的子類更好的展開。(圖一最右)
以上就是我們用重復(fù)的實(shí)驗(yàn)和腦子獲得主成分,但這用來應(yīng)付「天朝食物」還遠(yuǎn)遠(yuǎn)不夠。但是你還有強(qiáng)大的電腦啊!
接下來就厲害了,我們可以通過主成分分析法來分析一個(gè)隨機(jī)的食物樣品。
ps:樣本來自美國農(nóng)業(yè)部數(shù)據(jù),以100g生食物為標(biāo)準(zhǔn)測試,分析四個(gè)營養(yǎng)變量:維生素C、脂肪、纖維、蛋白質(zhì)。
數(shù)據(jù)發(fā)現(xiàn),某些營養(yǎng)素的存在似乎相關(guān)。脂肪和蛋白質(zhì)似乎在一同增長,而纖維和維生素C一同增長。
為了證實(shí)我們的假設(shè),我們可以用相關(guān)性分析檢查營養(yǎng)變量之間的相關(guān)性。正如所料,脂肪和蛋白質(zhì)水平(r = -0.56)之間以及纖維和維生素C水平之間存在大的正相關(guān)(r = 0.57)。
在發(fā)現(xiàn)了這樣的關(guān)系之后,我們可以把高度相關(guān)的變量看作一個(gè)變量,我們就可以把四個(gè)維度降維成兩個(gè)維度來考慮。那么對食物集做主成分分析就可得以下結(jié)果:
數(shù)字表示用于組合變量以導(dǎo)出主成分的權(quán)重。例如,為了得到特定食品的最高主成分(PC1)值,我們加上它包含的纖維和維生素C的量,稍微強(qiáng)調(diào)纖維,然后從中減去脂肪和它含有的蛋白質(zhì),與蛋白質(zhì)抵消的程度較大。
我們觀察到,主要成分(PC1)總結(jié)了我們的目前為止的研究結(jié)果 – 它已配對脂肪與蛋白質(zhì)和纖維與維生素C.它還考慮到對之間的反向關(guān)系。因此,PC1可能用于區(qū)分肉類和蔬菜。第二主成分(PC2)是兩個(gè)不相關(guān)的營養(yǎng)變量 – 脂肪和維生素C的組合。它用于進(jìn)一步區(qū)分肉(使用脂肪)和蔬菜(使用維生素C)中的子類別。
用這樣兩個(gè)變量在做食物分組的話,將得到最為詳細(xì)的分類:
肉類項(xiàng)目(藍(lán)色)具有低PC1值,因此集中在圖的左側(cè),與蔬菜項(xiàng)目(橙色)相對的一側(cè)。在肉類中,海產(chǎn)品(深藍(lán)色)具有較低的脂肪含量,因此它們具有較低的PC2值,并且位于圖的底部。幾種具有較低維生素C含量的非葉狀素食物(深橙色)也具有較低的PC2值,并出現(xiàn)在底部。
(在堅(jiān)持一會(huì) 快下課了?。?/p>
主成分分析好像很厲害的樣子,但是,是個(gè)算法就有他的局限性,
PCA就有不少局限:
最大化傳播:PCA的主要假設(shè)是,顯示數(shù)據(jù)點(diǎn)之間最大差異的維度是最有用的。但是,這可能不是真的。例如,識(shí)別技術(shù)堆中數(shù)據(jù)點(diǎn)的個(gè)數(shù)。為了計(jì)算數(shù)量,沿縱軸將每個(gè)數(shù)據(jù)點(diǎn)分開,但是如果堆棧很短,PCA會(huì)錯(cuò)誤地識(shí)別水平軸為任務(wù)的有效成分,因?yàn)檫@是具有最大擴(kuò)展的維度。
解釋組件:PCA需要用具體的變量組合來表示組件,但是通常在現(xiàn)實(shí)中是很難實(shí)現(xiàn)的。
正交變量:PCA的一個(gè)主要缺點(diǎn)是其生成的主分量必須不在空間中重疊,否則稱為正交分量。這意味著組件總是彼此以90度定位。為了解決這個(gè)問題,我們可以使用一種稱為獨(dú)立分量分析(ICA)的替代技術(shù)。