1、簡介
大家熟知的PCA算法是一種無監督的降維算法,其在工作過程中沒有將類別標籤考慮進去。當我們想在對原始數據降維後的一些最佳特徵(與類標籤關係最密切的,即與
本文參考“JerryLead”的文章線性判別分析(Linear Discriminant Analysis)(一)及線性判別分析(Linear Discriminant Analysis)(二)。
2、LDA算法(二類情況)
給定特徵爲
現在我們想將
樣例
我們的目的是尋找一條從原點出發方向爲$w$
的直線,可以將投影后的樣例點很好的分離,大概如下圖所示:
從直觀上來講,第二條直線看起來還不錯,可以很好地將兩類樣例分離,那這條直線是不是我們所要找的最佳的直線呢?要回答這個問題,我們就要從定量的角度來確定最佳的投影直線,即直線的方向向量
首先求每類樣例的均值(中心點):
那麼投影后的每類樣例的均值(中心點)爲:
從上面兩條公式可以看出,投影后的中心點就是中心點的投影。
從上面兩張圖可以看出,能夠使投影后的兩類樣本中心點儘量分離的直線是好的直線,定量表示就是:
儘管在
LDA是基於Fisher準則的算法,其必須同時遵從類內密集,類間分離這兩個條件。中心點投影間距最大化只是滿足類間分離而沒有考慮類內密集,所以爲了獲得最佳的投影方向
每個類別的散列值定義如下:
有了散列值,我們得以滿足Fisher準則的類內密集的要求,結合最大化中心點的投影間距,我們可以提出最終的度量公式:
將散列值的公式展開可得:
令
則
展開分子,
令
度量公式可表示爲:
在我們求導之前,需要對分母進行歸一化,因爲不做歸一的話,
若
上面這個式子還可以進一步化簡:
代入原式可得:
上面那張圖的投影結果如下圖所示:
3、LDA算法(多類情況)
在二類情況下,J(w)的分子是兩類中心距,分母是每個類自己的散列度。現在投影方向是多維了(好幾條直線),分子需要做一些改變,我們不是求兩兩樣本中心距之和(這個對描述類別間的分散程度沒有用),而是求每類中心相對於全樣本中心的散列度之和。除卻這個變化,其他推導與二類情況相似,這裏不做展開說明。具體情況可以參照線性判別分析(Linear Discriminant Analysis)(一)。
4、實例
三維投影到二維平面:
LDA與PCA的對比,PCA選擇樣本點投影具有最大方差的方向,LDA選擇分類性能最好的方向:
5、使用LDA的一些限制
本部分內容完全由“JerryLead”總結。
1. LDA至多可生成C-1維子空間。LDA降維後的維度區間在
2. LDA不適合對非高斯分佈樣本進行降維。下圖中紅色區域表示一類樣本,藍色區域表示另一類,由於是2類,所以最多投影到1維上。不管在直線上怎麼投影,都難使紅色點和藍色點內部凝聚,類間分離。
3. LDA在樣本分類信息依賴方差而不是均值時,效果不好。下圖中樣本點依靠方差信息進行分類,而不是均值信息。LDA不能夠進行有效分類,因爲LDA過度依靠均值信息。
- LDA可能過度擬合數據。