lda和pca一樣都是降維演算法,但不同的是lda是有監督的降維演算法,它的目的是將不同類別的資料降維後仍能較好的區別開。而pca是無監督的演算法,它的目的是將樣本資料降維後仍保留樣本資料間的方差。
lda認為不同類的樣本服從均值不同的高斯分布,主要根據均值作為降維的導向,所以它在處理非高斯分布的資料,或者不同類別的高斯分布的均值相同時,分類效果不夠好。lda將原樣本對映到乙個超平面上,使同乙個類別在這個超平面上盡可能集中,而不同類別在這個超平面上盡可能分開。
設w為樣本x對映到的超平面,設原資料x的維度為d
xd_x
dx,要對映到的維度為d
cd_c
dc,則w∈a
dx×d
cw\in a^
w∈adx
×dc
。x
ix_i
xi對映到w上的點為x^i
\widehat x_i
xi,則x^i
=wtx
i\widehat x_i=w^tx_i
xi=wt
xi.
上一節提到過,lda認為不同類服從不同的高斯分布,則不同類的均值的距離越遠越好,設投影前的類間距離為(下式中的c為資料集的類別數量,u為所有資料的均值點,n
in_i
ni為i類中的樣本數量)sb=
∑icn
i(ui
−u)(
ui−u
)t
s_b=\sum_i^cn_i(u_i-u)(u_i-u)^t
sb=i∑
cni
(ui
−u)
(ui
−u)t
,則投影後為wts
bw
w^ts_bw
wtsbw
類內的方差越小越好。(下式中m為樣本數量,u
iu_i
ui為x
ix_i
xi所屬類別的均值)設投影降維前的協方差矩陣為
s w=
∑im(
xi−u
i)(x
i−ui
)t
s_w=\sum_i^m(x_i-u_i)(x_i-u_i)^t
sw=i∑
m(x
i−u
i)(
xi−
ui)
t則投影後為:wts
ww
w^ts_ww
wtsww
我們想讓投影後的類內距離越小越好,投影後的類間距離越大越好,則最大化目標函式如下(|a|意為a的行列式):
o bj
=∣wt
sww∣
∣wts
bw
∣obj=\frac
obj=∣w
tsb
w∣∣w
tsw
w∣(至於為什麼是行列式,解釋是行列式是特徵值的乘積,可以反映矩陣整體的大小,我覺得解釋蠻牽強的)。
因為w可以自由縮放而不影響obj的取值我們設∣wt
sbw∣
=1
|w^ts_bw|=1
∣wtsb
w∣=1
,則原問題obj
=∣wt
sww∣
s.t:
∣wts
bw∣=
1obj=|w^ts_ww|\\ s.t:|w^ts_bw|=1
obj=∣w
tsw
w∣s.
t:∣w
tsb
w∣=1
,則對obj加入拉格朗日乘子得obj
=wts
ww−λ
wtsb
w那麼∂
obj∂
w=0可
以推得s
ww=a
sbws
w−1s
bw=w
diag
(λi)
obj=w^ts_ww-\lambda w^ts_bw\\ 那麼\frac=0\\可以推得s_ww=a s_bw \\ s_w^s_bw=wdiag(\lambda_i )
obj=wt
sww
−λwt
sbw
那麼∂w
∂obj
=0可
以推得s
ww=
asb
wsw−
1sb
w=w
diag
(λi
)。我們需要降到幾維,取前幾大特徵值對應的特徵向量構成w即可。(注意由於sw−
1s
bs_w^s_b
sw−1s
b不一定為對稱矩陣所以w的列向量不一定正交,而pca的對映向量一定正交)由於s
ws_w
sw在高維情況不一定有逆矩陣,所以在s
ws_w
sw逆矩陣不存在的情況下,先用pca降維再用lda。
LDA 線性判別分析 Fisher線性判別
1.lda是什麼 線性判別式分析 linear discriminant analysis 簡稱為lda。也稱為fisher線性判別 fisher linear discriminant,fld 是模式識別的經典演算法,在1996年由belhumeur引入模式識別和人工智慧領域。基本思想是將高維的模...
LDA 線性判別分析
1.lda是什麼 線性判別式分析 linear discriminant analysis 簡稱為lda。也稱為fisher線性判別 fisher linear discriminant,fld 是模式識別的經典演算法,在1996年由belhumeur引入模式識別和人工智慧領域。基本思想是將高維的模...
線性判別分析LDA
首先搞清楚什麼叫判別分析?discriminant analysis就是根據研究物件的各種特徵值判別其型別歸屬問題的一種多變數統計分析方法。根據判別標準不同,可以分為距離判別 fisher判別 bayes判別法等。比如在knn中用的就是距離判別,當然這裡的 距離 又有好幾種 歐氏距離 街區距離 甚至...