線性判別分析LDA(Linear Discriminant Analysis)

1、簡介

大家熟知的PCA算法是一種無監督的降維算法,其在工作過程中沒有將類別標籤考慮進去。當我們想在對原始數據降維後的一些最佳特徵(與類標籤關係最密切的,即與y 相關),這個時候,基於Fisher準則的線性判別分析LDA就能派上用場了。注意,LDA是一種有監督的算法。

本文參考“JerryLead”的文章線性判別分析(Linear Discriminant Analysis)(一)線性判別分析(Linear Discriminant Analysis)(二)

2、LDA算法(二類情況)

給定特徵爲d 維的N 個樣例x(i){x(i)1,x(i)2,,x(i)d} ,其中有N1 個樣例屬於類別ω1N2 個樣例屬於類別ω2

現在我們想將d 維特徵降到只有一維,而又要保證類別能夠“清晰”地反映在低維數據上,也就是這一維就能決定每個樣例的類別。這裏的降維可以通過將樣本點投影到一個低維平面上來實現。在這裏爲了簡單起見,我們設樣例爲二維的,也就是d=2 ,並將其投影到一條方向爲w 的直線上去,這樣就將2維的特徵降到了1維。

樣例x 到從原點出發方向爲w 的直線上的投影可以用下式來計算:y=wTx 。注意,這裏的y 不是標籤值,而是x 投影到直線上的點到原點的距離。

我們的目的是尋找一條從原點出發方向爲$w$的直線,可以將投影后的樣例點很好的分離,大概如下圖所示:

image

從直觀上來講,第二條直線看起來還不錯,可以很好地將兩類樣例分離,那這條直線是不是我們所要找的最佳的直線呢?要回答這個問題,我們就要從定量的角度來確定最佳的投影直線,即直線的方向向量w

首先求每類樣例的均值(中心點):μi=1Nixwix

那麼投影后的每類樣例的均值(中心點)爲:μi~=1Niywiy=1NixwiwTx=wTμi

從上面兩條公式可以看出,投影后的中心點就是中心點的投影。

從上面兩張圖可以看出,能夠使投影后的兩類樣本中心點儘量分離的直線是好的直線,定量表示就是:maxwJ(w)=|μ1~μ2~|=|wTμ1wTμ2| 。但是僅僅考慮J(w) 是不行的,如下圖所示:

image

儘管在x1 軸上取得了中心點投影的最大間距,但是由於重疊嚴重,反而不能很好的分離兩類樣本點。中心點投影在x2 軸上的間距雖然很小,但是卻能夠取得比x1 軸更好的分離效果。這是爲什麼呢?

LDA是基於Fisher準則的算法,其必須同時遵從類內密集,類間分離這兩個條件。中心點投影間距最大化只是滿足類間分離而沒有考慮類內密集,所以爲了獲得最佳的投影方向 w ,我們還要將同一類樣例的類內密集度做爲一個約束,在這裏,我們採用散列值(scatter)作爲密集度的一個度量。

每個類別的散列值定義如下:si~2=ywi(yμi~)2 ,可以看出,散列值與方差較爲接近,類內越密集,散列值越小;類內越分散,散列值越大。

有了散列值,我們得以滿足Fisher準則的類內密集的要求,結合最大化中心點的投影間距,我們可以提出最終的度量公式:maxwJ(w)=|μ1~μ2~|2s1~2+s2~2

將散列值的公式展開可得:

si~2=ywi(yμi~)2=xwi(wTxwTμi)2=xwiwT(xμi)(xμi)Tw

Si=xwi(xμi)(xμi)TSw=S1+S2

si~2=wTSiws1~2+s2~2=wTSww ,分母部分完畢,接下來處理分子部分。

展開分子,(μ1~μ2~)2=(wTμ1wTμ2)2=wT(μ1μ2)(μ1μ2)Tw

SB=(μ1μ2)(μ1μ2)T ,則(μ1~μ2~)2=wTSBw ,分子部分完畢。

度量公式可表示爲:maxwJ(w)=wTSBwwTSww

在我們求導之前,需要對分母進行歸一化,因爲不做歸一的話,w 擴大任何倍,都成立,我們就無法確定w 。因此我們打算令||wTSww||=1 ,那麼加入拉格朗日乘子後,求導:

c(w)=wTSBwλ(wTSww1)

dcdw=2SBw2λSww=0

SBw=λSww

Sw 可逆,則S1wSBw=λw ,即w 是矩陣S1wSB 的特徵向量。由此可以求出w

上面這個式子還可以進一步化簡:

SBw=(μ1μ2)(μ1μ2)Tw=(μ1μ2)λw ,這裏的λw 是一個常數。

代入原式可得:S1wSBw=S1w(μ1μ2)λw=λw ,由於對w 擴大縮小任何倍不影響結果,因此可以約去兩邊的未知常數λw,λ ,得到w=S1w(μ1μ2)

上面那張圖的投影結果如下圖所示:

image

3、LDA算法(多類情況)

在二類情況下,J(w)的分子是兩類中心距,分母是每個類自己的散列度。現在投影方向是多維了(好幾條直線),分子需要做一些改變,我們不是求兩兩樣本中心距之和(這個對描述類別間的分散程度沒有用),而是求每類中心相對於全樣本中心的散列度之和。除卻這個變化,其他推導與二類情況相似,這裏不做展開說明。具體情況可以參照線性判別分析(Linear Discriminant Analysis)(一)

4、實例

三維投影到二維平面:
image

LDA與PCA的對比,PCA選擇樣本點投影具有最大方差的方向,LDA選擇分類性能最好的方向:

image

5、使用LDA的一些限制

本部分內容完全由“JerryLead”總結。
1. LDA至多可生成C-1維子空間。LDA降維後的維度區間在[1,C1] ,與原始特徵數n 無關,對於二值分類,最多投影到1維。
2. LDA不適合對非高斯分佈樣本進行降維。下圖中紅色區域表示一類樣本,藍色區域表示另一類,由於是2類,所以最多投影到1維上。不管在直線上怎麼投影,都難使紅色點和藍色點內部凝聚,類間分離。
image
3. LDA在樣本分類信息依賴方差而不是均值時,效果不好。下圖中樣本點依靠方差信息進行分類,而不是均值信息。LDA不能夠進行有效分類,因爲LDA過度依靠均值信息。

image

  1. LDA可能過度擬合數據。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章