PCA算法概念及作用


https://blog.csdn.net/u010376788/article/details/46957957

PCA(Principal Component Analysis,主成分分析)是一種常用的數據分析方法。PCA通過線性變換將原始數據變換為一組各維度線性無關的表示,可用於提取數據的主要特征分量,常用於高維數據的降維。網上關於PCA的文章有很多,但是大多數只描述了PCA的分析過程,而沒有講述其中的原理。這篇文章的目的是介紹PCA的基本數學原理,幫助讀者了解PCA的工作機制是什么。

當然我並不打算把文章寫成純數學文章,而是希望用直觀和易懂的方式敘述PCA的數學原理,所以整個文章不會引入嚴格的數學推導。希望讀者在看完這篇文章后能更好的明白PCA的工作原理。

 

數據的向量表示及降維問題

一般情況下,在數據挖掘和機器學習中,數據被表示為向量。例如某個淘寶店2012年全年的流量及交易情況可以看成一組記錄的集合,其中每一天的數據是一條記錄,格式如下:

(日期, 瀏覽量, 訪客數, 下單數, 成交數, 成交金額)

其中“日期”是一個記錄標志而非度量值,而數據挖掘關心的大多是度量值,因此如果我們忽略日期這個字段后,我們得到一組記錄,每條記錄可以被表示為一個五維向量,其中一條看起來大約是這個樣子:

注意這里我用了轉置,因為習慣上使用列向量表示一條記錄(后面會看到原因),本文后面也會遵循這個准則。不過為了方便有時我會省略轉置符號,但我們說到向量默認都是指列向量。
我們當然可以對這一組五維向量進行分析和挖掘,不過我們知道,很多機器學習算法的復雜度和數據的維數有着密切關系,甚至與維數呈指數級關聯。當然,這里區區五維的數據,也許還無所謂,但是實際機器學習中處理成千上萬甚至幾十萬維的情況也並不罕見,在這種情況下,機器學習的資源消耗是不可接受的,因此我們必須對數據進行降維。
降維當然意味着信息的丟失,不過鑒於實際數據本身常常存在的相關性,我們可以想辦法在降維的同時將信息的損失盡量降低。
舉個例子,假如某學籍數據有兩列M和F,其中M列的取值是如何此學生為男性取值1,為女性取值0;而F列是學生為女性取值1,男性取值0。此時如果我們統計全部學籍數據,會發現對於任何一條記錄來說,當M為1時F必定為0,反之當M為0時F必定為1。在這種情況下,我們將M或F去掉實際上沒有任何信息的損失,因為只要保留一列就可以完全還原另一列。
當然上面是一個極端的情況,在現實中也許不會出現,不過類似的情況還是很常見的。例如上面淘寶店鋪的數據,從經驗我們可以知道,“瀏覽量”和“訪客數”往往具有較強的相關關系,而“下單數”和“成交數”也具有較強的相關關系。這里我們非正式的使用“相關關系”這個詞,可以直觀理解為“當某一天這個店鋪的瀏覽量較高(或較低)時,我們應該很大程度上認為這天的訪客數也較高(或較低)”。后面的章節中我們會給出相關性的嚴格數學定義。
這種情況表明,如果我們刪除瀏覽量或訪客數其中一個指標,我們應該期待並不會丟失太多信息。因此我們可以刪除一個,以降低機器學習算法的復雜度。
上面給出的是降維的朴素思想描述,可以有助於直觀理解降維的動機和可行性,但並不具有操作指導意義。例如,我們到底刪除哪一列損失的信息才最小?亦或根本不是單純刪除幾列,而是通過某些變換將原始數據變為更少的列但又使得丟失的信息最小?到底如何度量丟失信息的多少?如何根據原始數據決定具體的降維操作步驟?

要回答上面的問題,就要對降維問題進行數學化和形式化的討論。而PCA是一種具有嚴格數學基礎並且已被廣泛采用的降維方法。下面我不會直接描述PCA,而是通過逐步分析問題,讓我們一起重新“發明”一遍PCA。

見鏈接:https://blog.csdn.net/u010376788/article/details/46957957

根據上面對PCA的數學原理的解釋,我們可以了解到一些PCA的能力和限制。PCA本質上是將方差最大的方向作為主要特征,並且在各個正交方向上將數據“離相關”,也就是讓它們在不同正交方向上沒有相關性。
因此,PCA也存在一些限制,例如它可以很好的解除線性相關,但是對於高階相關性就沒有辦法了,對於存在高階相關性的數據,可以考慮Kernel PCA,通過Kernel函數將非線性相關轉為線性相關,關於這點就不展開討論了。另外,PCA假設數據各主特征是分布在正交方向上,如果在非正交方向上存在幾個方差較大的方向,PCA的效果就大打折扣了。
最后需要說明的是,PCA是一種無參數技術,也就是說面對同樣的數據,如果不考慮清洗,誰來做結果都一樣,沒有主觀參數的介入,所以PCA便於通用實現,但是本身無法個性化的優化。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM