線性判別分析(LDA)原理詳解

來源:https://blog.csdn.net/mbx8x9u/article/details/78739908

前言

在學習LDA之前,有必要將其自然語言處理領域的LDA區別開來。

在自然語言處理領域, LDA是隱含狄利克雷分佈(Latent Dirichlet Allocation,簡稱LDA),是一種處理文檔的主題模型。

本文只討論線性判別分析,因此後面所有的LDA均指線性判別分析。

LDA思想

LDA是一種監督學習的降維技術,也就是說它的數據集的每個樣本是有類別輸出的,這點和PCA不同。

PCA是不考慮樣本類別輸出的無監督降維技術。LDA的思想可以用一句話概括,就是“投影后類內方差最小,類間方差最大”,如下圖所示。

我們要將數據在低維度上進行投影,投影后希望每一種類別數據的投影點儘可能的接近,而不同類別的數據的類別中心之間的距離儘可能的大。

1559198550356

假設有兩類數據,分別爲紅色和藍色,如下圖所示,這些數據特徵是二維的,希望將這些數據投影到一維的一條直線,讓每一種類別數據的投影點儘可能的接近,而紅色和藍色數據中心之間的距離儘可能的大。

1559198577571

上圖中提供了兩種投影方式,哪一種能更好的滿足我們的標準呢?

從直觀上可以看出,右圖要比左圖的投影效果好,因爲右圖的黑色數據和藍色數據各個較爲集中,且類別之間的距離明顯。左圖則在邊界處數據混雜。

以上就是LDA的主要思想了,當然在實際應用中,數據是多個類別的,我們的原始數據一般也是超過二維的,投影后的也一般不是直線,而是一個低維的超平面。

LDA原理與流程

0?wx_fmt=png

0?wx_fmt=png
在這裏插入圖片描述
0?wx_fmt=png

LDA與PCA

LDA用於降維,和PCA有很多相同,也有很多不同的地方,因此值得好好的比較一下兩者的降維異同點。

相同點

1)兩者均可以對數據進行降維。

2)兩者在降維時均使用了矩陣特徵分解的思想。

3)兩者都假設數據符合高斯分佈。

不同點

1)LDA是有監督的降維方法,而PCA是無監督的降維方法

2)LDA降維最多降到類別數k-1的維數,而PCA沒有這個限制。

3)LDA除了可以用於降維,還可以用於分類。

4)LDA選擇分類性能最好的投影方向,而PCA選擇樣本點投影具有最大方差的方向。這點可以從下圖形象的看出,在某些數據分佈下LDA比PCA降維較優。

0?wx_fmt=png

當然,某些某些數據分佈下PCA比LDA降維較優,如下圖所示:

0?wx_fmt=png

LDA小結

LDA算法既可以用來降維,又可以用來分類,但是目前來說,主要還是用於降維。在進行圖像識別相關的數據分析時,LDA是一個有力的工具。
下面總結下LDA算法的優缺點。

優點

1)在降維過程中可以使用類別的先驗知識經驗,而像PCA這樣的無監督學習則無法使用類別先驗知識。

2)LDA在樣本分類信息依賴均值而不是方差的時候,比PCA之類的算法較優。

缺點

1)LDA不適合對非高斯分佈樣本進行降維,PCA也有這個問題。

2)LDA降維最多降到類別數k-1的維數,如果我們降維的維度大於k-1,則不能使用LDA。當然目前有一些LDA的進化版算法可以繞過這個問題。

3)LDA在樣本分類信息依賴方差而不是均值的時候,降維效果不好。

4)LDA可能過度擬合數據。

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