1.線性判別分析概述
線性判別分析(LDA)是一種經典的線性學習方法,在二分類問題上最早由Fisher提出,亦稱“Fisher判別分析”。LDA在模式識別領域中由非常廣泛的應用。
LDA的思想非常樸素:給定訓練樣例集,設法將樣例投影到一條直線上,使得同類陽曆的投影點儘可能接近,異類樣例的投影點儘可能遠離;在對新樣本進行分類時,將其投影到同樣的這條直線上,再根據投影點的位置來確定新樣本的類別,LDA的思想可以用一句話概括,就是“投影后類內方差最小,類間方差最大”。二維示意圖如下。
2.瑞利商(Rayleigh quotient)與廣義瑞利商(genralized Rayleigh quotient)
我們首先來看看瑞利商的定義。瑞利商是指這樣的函數R(A,x):
其中x爲非零向量,而A爲n×n的Hermitan矩陣。所謂的Hermitan矩陣就是滿足共軛轉置矩陣和自己相等的矩陣,即AH=A。如果我們的矩陣A是實矩陣,則滿足AT=A的矩陣即爲Hermitan矩陣。
瑞利商R(A,x)有一個非常重要的性質,即它的最大值等於矩陣A最大的特徵值,而最小值等於矩陣A的最小的特徵值,也就是滿足
具體的證明這裏就不給出了。當向量x是標準正交基時,即滿足xHx=1時,瑞利商退化爲:R(A,x)=xH Ax,這個形式在譜聚類和PCA中都有出現。
以上就是瑞利商的內容,現在我們再看看廣義瑞利商。廣義瑞利商是指這樣的函數R(A,B,x):
3.LDA vs PCA
LDA用於降維,和PCA有很多相同,也有很多不同的地方,因此值得好好的比較一下兩者的降維異同點。
首先我們看看相同點:
1)兩者均可以對數據進行降維。
2)兩者在降維時均使用了矩陣特徵分解的思想。
3)兩者都假設數據符合高斯分佈。
我們接着看看不同點:
1)LDA是有監督的降維方法,而PCA是無監督的降維方法
2)LDA降維最多降到類別數k-1的維數,而PCA沒有這個限制。
3)LDA除了可以用於降維,還可以用於分類。
4)LDA選擇分類性能最好的投影方向,而PCA選擇樣本點投影具有最大方差的方向。
這點可以從下圖形象的看出,在某些數據分佈下LDA比PCA降維較優。
當然,某些某些數據分佈下PCA比LDA降維較優,如下圖所示:
4.LDA算法小結
LDA算法既可以用來降維,又可以用來分類,但是目前來說,主要還是用於降維。在我們進行圖像識別圖像識別相關的數據分析時,LDA是一個有力的工具。下面總結下LDA算法的優缺點。
LDA算法的主要優點有:
1)在降維過程中可以使用類別的先驗知識經驗,而像PCA這樣的無監督學習則無法使用類別先驗知識。
2)LDA在樣本分類信息依賴均值而不是方差的時候,比PCA之類的算法較優。
LDA算法的主要缺點有:
1)LDA不適合對非高斯分佈樣本進行降維,PCA也有這個問題。
2)LDA降維最多降到類別數k-1的維數,如果我們降維的維度大於k-1,則不能使用LDA。當然目前有一些LDA的進化版算法可以繞過這個問題。
3)LDA在樣本分類信息依賴方差而不是均值的時候,降維效果不好。
4)LDA可能過度擬合數據。