LDA線性判別分析與PCA降維的區別 LDA線性判別分析 LDA線性判別分析與PCA降維的區別

LDA線性判別分析

線性判別分析(Linear Discriminant Analysis,LDA)是一種有監督學習算 法,同時經常被用來對數據進行降維。它是Ronald Fisher在1936年發明的,有些資 料上也稱之爲Fisher LDA(Fisher’s Linear Discriminant Analysis)。LDA是目前機 器學習、數據挖掘領域中經典且熱門的一種算法。
相比於PCA,LDA可以作爲一種有監督的降維算法。在PCA中,算法沒有考 慮數據的標籤(類別),只是把原數據映射到一些方差比較大的方向上而已。
假設用不同的顏色標註C1、C2兩個不同類別的數據,如圖4.4所示。根據PCA 算法,數據應該映射到方差最大的那個方向,亦即y軸方向。但是,C1,C2兩個不
同類別的數據就會完全混合在一起,很難區分開。所以,使用PCA算法進行降維 後再進行分類的效果會非常差。但是,如果使用LDA算法,數據會映射到x軸方 向。那麼,LDA算法究竟是如何做到這一點的呢?



LDA的中心思想——最大化類間距離和最小化類內距 離。
我們已經找到了使得類間距離儘可能大的投影方式,現在只需要同 時優化類內方差,使其儘可能小。我們將整個數據集的類內方差定義爲各個類分 別的方差之和,將目標函數定義爲類間距離和類內距離的比值,於是引出我們需 要最大化的目標


Fisher LDA相比PCA更善於對有類別信息的數據進行降 維處理,但它對數據的分佈做了一些很強的假設,例如,每個類數據都是高斯分 布、各個類的協方差相等。儘管這些假設在實際中並不一定完全滿足,但LDA已 被證明是非常有效的一種降維方法。主要是因爲線性模型對於噪聲的魯棒性比較 好,但由於模型簡單,表達能力有一定侷限性,我們可以通過引入核函數擴展 LDA方法以處理分佈較爲複雜的數據。

PCA是有監督的降維算法,而LDA是無監督的降維 算法。雖然在原理或應用方面二者有一定的區別,但是從這兩種方法的數學本質 出發,我們不難發現二者有很多共通的特性。

LDA線性判別分析與PCA降維的區別

首先從目標出發,PCA選擇的是投影后數據方差最大的方向。由於它是無監 督的,因此PCA假設方差越大,信息量越多,用主成分來表示原始數據可以去除 冗餘的維度,達到降維。而LDA選擇的是投影后類內方差小、類間方差大的方 向。其用到了類別標籤信息,爲了找到數據中具有判別性的維度,使得原始數據 在這些方向上投影后,不同類別儘可能區分開。

舉一個簡單的例子,在語音識別中,我們想從一段音頻中提取出人的語音信 號,這時可以使用PCA先進行降維,過濾掉一些固定頻率(方差較小)的背景噪 聲。但如果我們的需求是從這段音頻中區分出聲音屬於哪個人,那麼我們應該使 用LDA對數據進行降維,使每個人的語音信號具有區分性。

另外,在人臉識別領域中,PCA和LDA都會被頻繁使用。基於PCA的人臉識 別方法也稱爲特徵臉(Eigenface)方法,該方法將人臉圖像按行展開形成一個高 維向量,對多個人臉特徵的協方差矩陣做特徵值分解,其中較大特徵值對應的特 徵向量具有與人臉相似的形狀,故稱爲特徵臉。Eigenface for Recognition一文中將 人臉用7個特徵臉表示(見圖4.7),於是可以把原始65536維的圖像特徵瞬間降到7 維,人臉識別在降維後的空間上進行。然而由於其利用PCA進行降維,一般情況 下保留的是最佳描述特徵(主成分),而非分類特徵。如果我們想要達到更好的 人臉識別效果,應該用LDA方法對數據集進行降維,使得不同人臉在投影后的特 徵具有一定區分性。

從應用的角度,我們可以掌握一個基本的原則——對無監督的任務使用PCA
進行降維,對有監督的則應用LDA。 ·總結與擴展·
至此,我們從數學原理、優化目標以及應用場景的角度對比了PCA和LDA這 兩種經典的線性降維方法,對於非線性數據,可以通過核映射等方法對二者分別 進行擴展以得到更好的降維效果。關於特徵臉這一降維應用,有興趣的讀者可以 拜讀最經典的Eigenface論文[4],更好地理解降維算法的實際應用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章