用PCA還是LDA?特徵抽取經典演算法大PK

2021-09-24 18:21:59 字數 2454 閱讀 1266

在之前的格物匯文章中,我們介紹了特徵抽取的經典演算法——主成分分析(pca),了解了pca演算法實質上是進行了一次座標軸旋轉,盡可能讓資料對映在新座標軸方向上的方差盡可能大,並且讓原資料與新對映的資料在距離的變化上盡可能小。方差較大的方向代表資料含有的資訊量較大,建議保留。方差較小的方向代表資料含有的資訊量較少,建議捨棄。今天我們就來看一下pca的具體應用案例和特徵對映的另一種方法:線性判別分析(lda)。

pca案例

在機器學習中,所使用的資料往往維數很大,我們需要使用降維的方法來突顯資訊含量較大的資料,pca就是乙個很好的降維方法。下面我們來看乙個具體的應用案例,為了簡單起見,我們使用乙個較小的資料集來展示:

顯而易見,我們資料有6維,維數雖然不是很多但不一定代表資料不可以降維。我們使用sklearn中的pca演算法擬合資料集得到如下的結果:

我們可以看到經過pca降維後依然生成了新的6個維度,但是資料對映在每乙個維度上的方差大小不一樣。我們會對每乙個維度上的方差進行歸一化,每乙個維度上的方差量我們稱為可解釋的方差量(explained variance)。由圖可知,每乙個維度上可解釋方差佔比為:0.4430,0.2638,0.1231,0.1012,0.0485,0.0204。根據經驗來說我們期望可解釋的方差量累計值在80%以上較好,因此我們可以選擇降維降到3維(82.99%)或者4維(93.11%),括號中的數字為累計可解釋的方差量,最後兩維方差解釋只有7%不到,建議捨去。圖中的柱狀圖表示原維度在新座標軸上的對映向量大小。在前兩維度上表現如下圖所示:

pca雖然能實現很好的降維效果,但是它卻是一種無監督的方法。實際上我們更加希望對於有類別標籤的資料(有監督),也能實現降維,並且降維後能更好的區分每乙個類。此時,特徵抽取的另一種經典演算法——線性判別分析(lda)就閃亮登場了。

lda簡介

lda是一種監督學習的降維技術,也就是說它的資料集的每個樣本是有類別輸出的。這點和pca不同。pca是不考慮樣本類別輸出的無監督降維技術。lda的思想可以用一句話概括,就是「投影後類內方差最小,類間方差最大」。什麼意思呢? 我們要將資料在低維度上進行投影,投影後希望每一種類別資料的投影點盡可能的接近,而不同類別的資料的類別中心之間的距離盡可能的大。

上圖中提供了兩種投影方式,哪一種能更好的滿足我們的標準呢?從直觀上可以看出,右圖要比左圖的投影效果好,因為右圖的黑色資料和藍色資料各個較為集中,且類別之間的距離明顯。左圖則在邊界處資料混雜。lda的降維效果更像右圖,它能在新座標軸上優先區分出兩個類別,它是如何實現的呢?

lda的原理

lda的主要思想是「投影後類內方差最小,類間方差最大」。實質上就是很好的區分出兩個類的分布。我們知道衡量資料分布的兩個重要指標是均值和方差,對於每乙個類,他們的定義如下:

與pca一樣,lda也是對資料的座標軸進行一次旋轉,假設旋轉的轉移矩陣是w,那麼新的旋轉資料可以表示為:

同理,兩個類別的中心點也轉換成了:

我們求解這個最優化問題,即可求出轉移變換矩陣w,即lda的最終結果。

pca vs lda

lda用於降維,和pca有很多相同,也有很多不同的地方,因此值得好好的比較一下兩者的降維異同點。首先我們看看相同點:

1、兩者均可以對資料進行降維

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

3、兩者都假設資料符合高斯分布

我們接著看看不同點:

1、lda是有監督的降維方法,而pca是無監督的降維方法

2、lda降維最多降到類別數k-1的維數,而pca沒有這個限制

3、lda除了可以用於降維,還可以用於分類

4、lda選擇分類效能最好的投影方向,而pca選擇樣本點投影具有最大方差的方向

在某些資料分布下lda比pca降維較優(左圖),在某些資料分布下,pca比lda降維較優。

好了,以上就是本期格物匯的內容,我們下期見。

PCA和LDA的對比

pca和lda都是經典的降維演算法。pca是無監督的,也就是訓練樣本不需要標籤 lda是有監督的,也就是訓練樣本需要標籤。pca是去除掉原始資料中冗餘的維度,而lda是尋找乙個維度,使得原始資料在該維度上投影後不同類別的資料盡可能分離開來。pca是一種正交投影,它的思想是使得原始資料在投影子空間的各...

機器學習 LDA與PCA演算法

linear discriminant analysis 用途 資料預處理中的降維,分類任務 歷史 ronald a.fisher在1936年提出了線性判別方法 線性判別分析 lda 目標 lda關心的是能夠最大化類間區分度的座標軸成分 將特徵空間 資料集中的多維樣本 投影到乙個維度更小的 k 維子...

PCA和LDA之直觀理解

pca和lda都是經典的降維演算法。pca是無監督的,也就是訓練樣本不需要標籤 lda是有監督的,也就是訓練樣本需要標籤。pca是去除掉原始資料中冗餘的維度,而lda是尋找乙個維度,使得原始資料在該維度上投影後不同類別的資料盡可能分離開來。pca是一種正交投影,它的思想是使得原始資料在投影子空間的各...