主元分析(PCA)理論分析及應用什么是PCA?PCA是Principal component analysis的縮寫,中文翻譯為主元分析。它是一種對數(shù)據(jù)進行分析的技術,最重要的應用是對原有數(shù)據(jù)進行簡化。正如它的名字:主元分析,這種方法可以有效的找出數(shù)據(jù)中最“主要”的元素和結構,去除噪音和冗余,將原有的復雜數(shù)據(jù)降維,揭示隱藏在復雜數(shù)據(jù)背后的簡單結構。它的優(yōu)點是簡單,而且無參數(shù)限制,可以方便的應用與各個場合。因此應用極其廣泛,從神經(jīng)科學到計算機圖形學都有它的用武之地。被譽為應用線形代數(shù)最價值的結果之一。 在以下的章節(jié)中,不僅有對PCA的比較直觀的解釋,同時也配有較為深入的分析。首先將從一個簡單的例子開始說明PCA應用的場合以及想法的由來,進行一個比較直觀的解釋;然后加入數(shù)學的嚴格推導,引入線形代數(shù),進行問題的求解。隨后將揭示PCA與SVD(Singular Value Decomposition)之間的聯(lián)系以及如何將之應用于真實世界。最后將分析PCA理論模型的假設條件以及針對這些條件可能進行的改進。 一個簡單的模型在實驗科學中我常遇到的情況是,使用大量的變量代表可能變化的因素,例如光譜、電壓、速度等等。但是由于實驗環(huán)境和觀測手段的限制,實驗數(shù)據(jù)往往變得極其的復雜、混亂和冗余的。如何對數(shù)據(jù)進行分析,取得隱藏在數(shù)據(jù)背后的變量關系,是一個很困難的問題。在神經(jīng)科學、氣象學、海洋學等等學科實驗中,假設的變量個數(shù)可能非常之多,但是真正的影響因素以及它們之間的關系可能又是非常之簡單的。 下面的模型取自一個物理學中的實驗。它看上去比較簡單,但足以說明問題。如圖表 1所示。這是一個理想彈簧運動規(guī)律的測定實驗。假設球是連接在一個無質量無摩擦的彈簧之上,從平衡位置沿 對于一個具有先驗知識的實驗者來說,這個實驗是非常容易的。球的運動只是在x軸向上發(fā)生,只需要記錄下 這是一個真實的實驗場景,數(shù)據(jù)的噪音是必須面對的因素。在這個實驗中噪音可能來自空氣、摩擦、攝像機的誤差以及非理想化的彈簧等等。噪音使數(shù)據(jù)變得混亂,掩蓋了變量間的真實關系。如何去除噪音是實驗者每天所要面對的巨大考驗。 上面提出的兩個問題就是PCA方法的目標。PCA主元分析方法是解決此類問題的一個有力的武器。下文將結合以上的例子提出解決方案,逐步敘述PCA方法的思想和求解過程。 線形代數(shù):基變換 從線形代數(shù)的角度來看,PCA的目標就是使用另一組基去重新描述得到的數(shù)據(jù)空間。而新的基要能盡量揭示原有的數(shù)據(jù)間的關系。在這個例子中,沿著某 A. 標準正交基為了引入推導,需要將上文的數(shù)據(jù)進行明確的定義。在上面描述的實驗過程中,在每一個采樣時間點上,每個攝像機記錄了一組二維坐標 如果以 抽象一點來說,每一個采樣點數(shù)據(jù) 在線形代數(shù)中,這組基表示為行列向量線形無關的單位矩陣。 B. 基變換從更嚴格的數(shù)學定義上來說,PCA回答的問題是:如何尋找到另一組正交基,它們是標準正交基的線性組合,而且能夠最好的表示數(shù)據(jù)集? 這里提出了PCA方法的一個最關鍵的假設:線性。這是一個非常強的假設條件。它使問題得到了很大程度的簡化:1)數(shù)據(jù)被限制在一個向量空間中,能被一組基表示;2)隱含的假設了數(shù)據(jù)之間的連續(xù)性關系。 這樣一來數(shù)據(jù)就可以被表示為各種基的線性組合。令 有如下定義: l l l 公式(1)表示不同基之間的轉換,在線性代數(shù)中,它有如下的含義: Ø Ø 幾何上來說, Ø 下面是對最后一個含義的顯式說明: 注意到 可見 C. 問題在線性的假設條件下,問題轉化為尋找一組變換后的基,也就是 l 怎樣才能最好的表示原數(shù)據(jù) l 解決問題的關鍵是如何體現(xiàn)數(shù)據(jù)的特征。那么,什么是數(shù)據(jù)的特征,如何體現(xiàn)呢? 方差和目標“最好的表示”是什么意思呢?下面的章節(jié)將給出一個較為直觀的解釋,并增加一些額外的假設條件。在線性系統(tǒng)中,所謂的“混亂數(shù)據(jù)”通常包含以下的三種成分:噪音、旋轉以及冗余。下面將對這三種成分做出數(shù)學上的描述并針對目標作出分析。 A. 噪音和旋轉噪音對數(shù)據(jù)的影響是巨大的,如果不能對噪音進行區(qū)分,就不可能抽取數(shù)據(jù)中有用的信息。噪音的橫梁有多種方式,最常見的定義是信噪比 比較大的信噪比表示數(shù)據(jù)的準確度高,而信噪比低則說明數(shù)據(jù)中的噪音成分比較多。那么怎樣區(qū)分什么是信號,什么是噪音呢?這里假設,變化較大的信息被認為是信號,變化較小的則是噪音。事實上,這個標準等價于一個低通的濾波器,是一種標準的去噪準則。而變化的大小則是由方差來描述的。 它表示了采樣點在平均值兩側的分布,對應于圖表 2(a)就是采樣點云的“胖瘦”。顯然的,方差較大,也就是較“寬”較“胖”的分布,表示了采樣點的主要分布趨勢,是主信號或主要分量;而方差較小的分布則被認為是噪音或次要分量。 圖表 2:(a)攝像機A的采集數(shù)據(jù)。圖中黑色垂直直線表示一組正交基的方向。 假設攝像機A拍攝到的數(shù)據(jù)如圖表 2(a)所示,圓圈代表采樣點,因為運動理論上是只存在于一條直線上,所以偏離直線的分布都屬于噪音。此時 B. 冗余有時在實驗中引入了一些不必要的變量??赡軙箖煞N情況:1)該變量對結果沒有影響;2)該變量可以用其它變量表示,從而造成數(shù)據(jù)冗余。下面對這樣的冗余情況進行分析和分類。 圖表 3:可能冗余數(shù)據(jù)的頻譜圖表示。 如圖表 3所示,它揭示了兩個觀測變量之間的關系。(a)圖所示的情況是低冗余的,從統(tǒng)計學上說,這兩個觀測變量是相互獨立的,它們之間的信息沒有冗余。而相反的極端情況如(c), C. 協(xié)方差矩陣對于上面的簡單情況,可以通過簡單的線性擬合的方法來判斷各觀測變量之間是否出現(xiàn)冗余的情況,而對于復雜的情況,需要借助協(xié)方差來進行衡量和判斷: l l 等價的,將 協(xié)方差可以表示為: 那么,對于一組具有 接下來定義協(xié)方差矩陣如下: 容易發(fā)現(xiàn)協(xié)方差矩陣 l l l 非對角線上的元素是對應的觀測變量之間的協(xié)方差。 協(xié)方差矩陣 l 在對角線上的元素越大,表明信號越強,變量的重要性越高;元素越小則表明可能是存在的噪音或是次要變量。 l 在非對角線上的元素大小則對應于相關觀測變量對之間冗余程度的大小。 一般情況下,初始數(shù)據(jù)的協(xié)方差矩陣總是不太好的,表現(xiàn)為信噪比不高且變量間相關度大。PCA的目標就是通過基變換對協(xié)方差矩陣進行優(yōu)化,找到相關“主元”。那么,如何進行優(yōu)化?矩陣的那些性質是需要注意的呢? D. 協(xié)方差矩陣的對角化總結上面的章節(jié),主元分析以及協(xié)方差矩陣優(yōu)化的原則是:1)最小化變量冗余,對應于協(xié)方差矩陣的非對角元素要盡量??;2)最大化信號,對應于要使協(xié)方差矩陣的對角線上的元素盡可能的大。因為協(xié)方差矩陣的每一項都是正值,最小值為0,所以優(yōu)化的目標矩陣 對于協(xié)方差矩陣進行對角化的方法很多。根據(jù)上面的分析,最簡單最直接的算法就是在多維空間內進行搜索。和圖表 2(a)的例子中旋轉 1) 在 2) 在與 3) 對以上過程循環(huán),直到找出全部 這個理論上成立的算法說明了PCA的主要思想和過程。在這中間,牽涉到兩個重要的特性:a)轉換基是一組標準正交基。這給PCA的求解帶來了很大的好處,它可以運用線性代數(shù)的相關理論進行快速有效的分解。這些方法將在后面提到。b)在PCA的過程中,可以同時得到新的基向量所對應的“主元排序”,利用這個重要性排序可以方便的對數(shù)據(jù)進行光順、簡化處理或是壓縮。 A. PCA的假設和局限PCA的模型中存在諸多的假設條件,決定了它存在一定的限制,在有些場合可能會造成效果不好甚至失效。對于學習和掌握PCA來說,理解這些內容是非常重要的,同時也有利于理解基于改進這些限制條件的PCA的一些擴展技術。 PCA的假設條件包括: 1. 線形性假設。如同文章開始的例子,PCA的內部模型是線性的。這也就決定了它能進行的主元分析之間的關系也是線性的。現(xiàn)在比較流行的kernel-PCA的一類方法就是使用非線性的權值對原有PCA技術的拓展。 2. 使用中值和方差進行充分統(tǒng)計。使用中值和方差進行充分的概率分布描述的模型只限于指數(shù)型概率分布模型。(例如高斯分布),也就是說,如果我們考察的數(shù)據(jù)的概率分布并不滿足高斯分布或是指數(shù)型的概率分布,那么PCA將會失效。在這種模型下,不能使用方差和協(xié)方差來很好的描述噪音和冗余,對教化之后的協(xié)方差矩陣并不能得到很合適的結果。 事實上,去除冗余的最基礎的方程是: 其中 3. 大方差向量具有較大重要性。PCA方法隱含了這樣的假設:數(shù)據(jù)本身具有較高的信噪比,所以具有最高方差的一維向量就可以被看作是主元,而方差較小的變化則被認為是噪音。這是由于低通濾波器的選擇決定的。 4. 主元正交。PCA方法假設主元向量之間都是正交的,從而可以利用線形代數(shù)的一系列有效的數(shù)學工具進行求解,大大提高了效率和應用的范圍。 PCA求解:特征根分解在線形代數(shù)中,PCA問題可以描述成以下形式: 尋找一組正交基組成的矩陣 對 定義 則 這里要提出的一點是, 求出特征向量矩陣后我們取 可知此時的 l l 矩陣 我們可以得到PCA求解的一般步驟: 1)采集數(shù)據(jù)形成 2)在每個觀測變量(矩陣行向量)上減去該觀測變量的平均值得到矩陣 3)對 總結和討論l PCA技術的一大好處是對數(shù)據(jù)進行降維的處理。我們可以對新求出的“主元”向量的重要性進行排序,根據(jù)需要取前面最重要的部分,將后面的維數(shù)省去,可以達到降維從而簡化模型或是對數(shù)據(jù)進行壓縮的效果。同時最大程度的保持了原有數(shù)據(jù)的信息。 l PCA技術的一個很大的優(yōu)點是,它是完全無參數(shù)限制的。在PCA的計算過程中完全不需要人為的設定參數(shù)或是根據(jù)任何經(jīng)驗模型對計算進行干預,最后的結果只與數(shù)據(jù)相關,與用戶是獨立的。 圖表 4:黑色點表示采樣數(shù)據(jù),排列成轉盤的形狀。 如圖表 4中的例子,PCA找出的主元將是 l 有時數(shù)據(jù)的分布并不是滿足高斯分布。如圖表 5所示,在非高斯分布的情況下,PCA方法得出的主元可能并不是最優(yōu)的。在尋找主元時不能將方差作為衡量重要性的標準。要根據(jù)數(shù)據(jù)的分布情況選擇合適的描述完全分布的變量,然后根據(jù)概率分布式 來計算兩個向量上數(shù)據(jù)分布的相關性。等價的,保持主元間的正交假設,尋找的主元同樣要使 圖表 5:數(shù)據(jù)的分布并不滿足高斯分布,呈明顯的十字星狀。 l PCA方法和線形代數(shù)中的奇異值分解(SVD)方法有內在的聯(lián)系,一定意義上來說,PCA的解法是SVD的一種變形和弱化。對于 其中 其中 計算機視學領域的應用PCA方法是一個具有很高普適性的方法,被廣泛應用于多個領域。這里要特別介紹的是它在計算機視覺領域的應用,包括如何對圖像進行處理以及在人臉識別方面的特別作用。 A. 數(shù)據(jù)表示 如果要將PCA方法應用于視覺領域,最基本的問題就是圖像的表達。如果是一幅 在這里圖像的結構將被打亂,每一個像素點被看作是一維,最直接的方法就是將圖像的像素一行行的頭尾相接成一個一維向量。還必須要注意的是,每一維上的數(shù)據(jù)對應于對應像素的亮度、灰度或是色彩值,但是需要劃歸到同一緯度上。 B. 模式識別 假設數(shù)據(jù)源是一系列的20幅圖像,每幅圖像都是 然后對它們進行PCA處理,找出主元。 為什么這樣做呢?據(jù)人臉識別的例子來說,數(shù)據(jù)源是20幅不同的人臉圖像,PCA方法的實質是尋找這些圖像中的相似的維度,因為人臉的結構有極大的相似性(特別是同一個人的人臉圖像),則使用PCA方法就可以很容易的提取出人臉的內在結構,也及時所謂“模式”,如果有新的圖像需要與原有圖像比較,就可以在變換后的主元維度上進行比較,則可衡量新圖與原有數(shù)據(jù)集的相似度如何。 對這樣的一組人臉圖像進行處理,提取其中最重要的主元,即可大致描述人臉的結構信息,稱作“特征臉”(EigenFace)。這就是人臉識別中的重要方法“特征臉方法”的理論根據(jù)。近些年來,基于對一般PCA方法的改進,結合ICA、kernel-PCA等方法,在主元分析中加入關于人臉圖像的先驗知識,則能得到更好的效果。 C. 圖像信息壓縮 使用PCA方法進行圖像壓縮,又被稱為Hotelling算法,或者Karhunen and Leove(KL)變換。這是視覺領域內圖像處理的經(jīng)典算法之一。具體算法與上述過程相同,使用PCA方法處理一個圖像序列,提取其中的主元。然后根據(jù)主元的排序去除其中次要的分量,然后變換回原空間,則圖像序列因為維數(shù)降低得到很大的壓縮。例如上例中取出次要的5個維度,則圖像就被壓縮了1/4。但是這種有損的壓縮方法同時又保持了其中最“重要”的信息,是一種非常重要且有效的算法。 參考文獻[1] Lindsay I Smith. (2002) “A tutorial on Principal Components Analysis” [2] Jonathon Shlens. (2005) “A Tutorial on Principal Component Analysis” [3] ?Will, Todd (1999) “Introduction to the Singular Value Decomposition” [4] [5] T.F. Cootes and C.J.Taylor (2004) “Statistical Models of Appearance for Computer Vision” [6] 張翠平 蘇光大 (2000)“人臉識別技術綜述”《中國圖像圖形學報》第五卷A版第11期 [7] 何國輝 甘俊英 (2006)“PCA類內平均臉法在人臉識別中的應用研究”《計算機應用研究》2006年第三期 [8] 牛麗平 付仲良 魏文利 (2006)“人臉識別技術研究”《電腦開發(fā)與應用》2006年第五期 [9] Wikipedia “principal components analysis”詞條解釋 From Answers.com |
|
|