用PCA還是LDA?特征抽取經(jīng)典算法PK
在之前的格物匯文章中,我們介紹了特征抽取的經(jīng)典算法——主成分分析(PCA),了解了PCA算法實質(zhì)上是進行了一次坐標軸旋轉(zhuǎn),盡可能讓數(shù)據(jù)映射在新坐標軸方向上的方差盡可能大,并且讓原數(shù)據(jù)與新映射的數(shù)據(jù)在距離的變化上盡可能小。方差較大的方向代表數(shù)據(jù)含有的信息量較大,建議保留。方差較小的方向代表數(shù)據(jù)含有的信息量較少,建議舍棄。今天我們就來看一下PCA的具體應用案例和特征映射的另一種方法:線性判別分析(LDA)。
本文引用地址:http://www.butianyuan.cn/article/201901/396508.htmPCA案例
在機器學習中,所使用的數(shù)據(jù)往往維數(shù)很大,我們需要使用降維的方法來突顯信息含量較大的數(shù)據(jù),PCA就是一個很好的降維方法。下面我們來看一個具體的應用案例,為了簡單起見,我們使用一個較小的數(shù)據(jù)集來展示:

顯而易見,我們數(shù)據(jù)有6維,維數(shù)雖然不是很多但不一定代表數(shù)據(jù)不可以降維。我們使用sklearn中的PCA算法擬合數(shù)據(jù)集得到如下的結(jié)果:

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

PCA雖然能實現(xiàn)很好的降維效果,但是它卻是一種無監(jiān)督的方法。實際上我們更加希望對于有類別標簽的數(shù)據(jù)(有監(jiān)督),也能實現(xiàn)降維,并且降維后能更好的區(qū)分每一個類。此時,特征抽取的另一種經(jīng)典算法——線性判別分析(LDA)就閃亮登場了。
LDA簡介
LDA是一種監(jiān)督學習的降維技術(shù),也就是說它的數(shù)據(jù)集的每個樣本是有類別輸出的。這點和PCA不同。PCA是不考慮樣本類別輸出的無監(jiān)督降維技術(shù)。LDA的思想可以用一句話概括,就是“投影后類內(nèi)方差最小,類間方差最大”。什么意思呢? 我們要將數(shù)據(jù)在低維度上進行投影,投影后希望每一種類別數(shù)據(jù)的投影點盡可能的接近,而不同類別的數(shù)據(jù)的類別中心之間的距離盡可能的大。

上圖中提供了兩種投影方式,哪一種能更好的滿足我們的標準呢?從直觀上可以看出,右圖要比左圖的投影效果好,因為右圖的黑色數(shù)據(jù)和藍色數(shù)據(jù)各個較為集中,且類別之間的距離明顯。左圖則在邊界處數(shù)據(jù)混雜。LDA的降維效果更像右圖,它能在新坐標軸上優(yōu)先區(qū)分出兩個類別,它是如何實現(xiàn)的呢?
LDA的原理
LDA的主要思想是“投影后類內(nèi)方差最小,類間方差最大”。實質(zhì)上就是很好的區(qū)分出兩個類的分布。我們知道衡量數(shù)據(jù)分布的兩個重要指標是均值和方差,對于每一個類,他們的定義如下:

與PCA一樣,LDA也是對數(shù)據(jù)的坐標軸進行一次旋轉(zhuǎn),假設旋轉(zhuǎn)的轉(zhuǎn)移矩陣是w,那么新的旋轉(zhuǎn)數(shù)據(jù)可以表示為:

同理,兩個類別的中心點也轉(zhuǎn)換成了:



我們求解這個最優(yōu)化問題,即可求出轉(zhuǎn)移變換矩陣w,即LDA的最終結(jié)果。
PCA vs LDA
LDA用于降維,和PCA有很多相同,也有很多不同的地方,因此值得好好的比較一下兩者的降維異同點。首先我們看看相同點:
1、兩者均可以對數(shù)據(jù)進行降維
2、兩者在降維時均使用了矩陣特征分解的思想
3、兩者都假設數(shù)據(jù)符合高斯分布
我們接著看看不同點:
1、LDA是有監(jiān)督的降維方法,而PCA是無監(jiān)督的降維方法
2、LDA降維最多降到類別數(shù)k-1的維數(shù),而PCA沒有這個限制
3、LDA除了可以用于降維,還可以用于分類
4、LDA選擇分類性能最好的投影方向,而PCA選擇樣本點投影具有最大方差的方向
在某些數(shù)據(jù)分布下LDA比PCA降維較優(yōu)(左圖),在某些數(shù)據(jù)分布下,PCA比LDA降維較優(yōu)。

好了,以上就是本期格物匯的內(nèi)容,我們下期見。
評論