線性判別分析(一)——lda介紹
線性判別分析(二)——bayes最優分類器的角度看lda
lda(linear discriminant analysis, 線性判別分析)由fisher於2023年提出,又稱為fisher線性判別(fda)。
注:lda和fda並不完全等價,lda假設每個類別內的例項服從高斯分布並且不同類別對應的高斯分布的協方差矩陣相同。本篇部落格介紹的其實是fda,但我們不做細分,統一稱作lda。
lda既可以用於解決分類問題,又可以對資料進行降維處理。
基本思想本節我們會討論二分類問題上lda思想的應用。給定訓練樣本d=將高維的樣本資料投影到判別向量空間,以達到抽取分類資訊和降低特徵維數的效果,投影後保證資料在新的子空間中有最大的類間距離和最小的類內距離,即在該子空間有最佳的可分離性。
,其中xi
∈rd 為第
i 個例項對應的特徵向量,yi
∈為第i 個例項對應的類別標記。我們用
x表示所有例項集合,xc
表示c類別的例項集合,用nc
表示c類別對應的例項數。
在二分類問題上,lda通過線性變換z=
ωtx(1)
將樣本資料投影到一維空間中,並希望在投影空間中不同類別的樣本資料之間盡可能分離,同類別的樣本資料盡可能接近。我們需要把這一目標形式化為數學表達,以便求解出期望的投影方向ω∗
。假設投影空間中的例項集合為z=
,其中zi
=ωtx
i 。類似於原始空間中的集合定義,我們用zc
表示投影空間中c類別例項集合。記x
¯c表示集合xc
的均值,則x¯
c=1n
c∑x∈
xcx.
(2) 記z
¯c表示集合zc
的均值,則z¯
c=1n
c∑z∈
zcz.
(3)
根據(1)(2)(3)可以推出 z¯
c=1n
c∑z∈
zcz=
1nc∑
x∈xc
ωtx=
ωt⎛⎝
1nc∑
x∈xc
x⎞⎠=
ωtx¯
c,(4)
公式(4)說明樣本資料投影的均值等於樣本資料均值的投影。
定義投影類間散度: s^
b=(z
¯0−z
¯1)2
(5)
用於刻畫類間距離。
定義投影類內散度: s^
w=s^
20+s
^21,
其中s^
2c=∑
z∈zc
(z−z
¯c)2
(6)
用於刻畫類內距離。
為了使投影後不同類別樣本盡可能分離,我們希望最大化s^
b ;為了使投影後相同類別樣本盡可能接近,我們希望最小化s^
w 。綜合兩點,把目標函式定義為 j(
ω)=s
^bs^
w(7)
則lda的目標現在是找到使j(
ω)最大的投影方向ω∗
。為了求解優化問題(7),我們首先需要把j(
ω)寫成關於
ω 的顯示表示式。
定義類間散度矩陣sb
=(x¯
0−x¯
1)(x
¯0−x
¯1)t
,(8) 則
s^b=
(ωtx
¯0−ω
tx¯1
)(ωt
x¯0−
ωtx¯
1)t=
ωt(x
¯0−x
¯1)(
x¯0−
x¯1)
tω=ω
tsbω
.(9)
定義類內散度矩陣sw
=sw0
+sw1
,其中s
wc=∑
x∈xc
(x−x
¯c)(
x−x¯
c)t,
(10) 則
s^w=
∑x∈x
0(ωt
x−ωt
x¯0)
(ωtx
−ωtx
¯0)t
+∑x∈
x1(ω
tx−ω
tx¯1
)(ωt
x−ωt
x¯1)
t=ωt
⎛⎝∑x
∈x0(
x−x¯
0)(x
−x¯0
)t⎞⎠
ω+ωt
⎛⎝∑x
∈x1(
x−x¯
1)(x
−x¯1
)t⎞⎠
ω=ωt
⎛⎝∑x
∈x0(
x−x¯
0)(x
−x¯0
)t+∑
x∈x1
(x−x
¯1)(
x−x¯
1)t⎞
⎠ω=ω
tswω
.(11)
於是目標函式可以重寫為 j(
ω)=ω
tsbω
ωtsw
ω,(12)
其中矩陣sb
和sw 是可以根據訓練資料求出的。
由於目標函式的分子和分母都是關於
ω 的二次型,可以證明如果
ω 是最優解,那麼對任意非零常數
α ,αω
也是最優解。這表示我們關心的是
ω 的方向而不是長度。可以為
ω 新增約束,使優化問題的最優解唯一。不失一般性,我們可以使用約束ωt
swω=
1 ,因為這可以簡化優化函式,使得求解變得簡單。於是,得到約束優化問題
mins.t
.j(ω
)=−ω
tsbω
ωtsw
ω=1.
(13)
用拉格朗日方法求解上述帶約束的優化問題,首先引入拉格朗日乘子
λ ,構建拉格朗日函式 l(
ω,λ)
=−ωt
sbω+
λ(ωt
swω−
1)(14)
拉格朗日函式求導得到 ⎧⎩
⎨−sb
ω+λs
wω=0
ωtsw
ω−1=
0 於是s
bω=λ
swω(15)
由公式(8)可知向量sb
ω 平行於(x
¯0−x
¯1) ,於是(15)可以寫成 λs
wω=β
(x¯0
−x¯1
),(16)
其中β 為非零常數。由於並不關心
ω 的長度,所以(16)左右兩邊的實數項可以去掉。如果sw
非奇異,那麼ω=
s−1w
(x¯0
−x¯1
).(17)
LDA 線性判別分析(一)
本來是要調研 latent dirichlet allocation 的那個 lda 的,沒想到查到很多 關於 linear discriminant analysis 這個 lda 的資料。初步看了看,覺得數學味挺濃,寫得不是很詳細,而且在概念和記號等方面也比較混亂,因此,在整理本文時,我有意識地...
LDA 線性判別分析
1.lda是什麼 線性判別式分析 linear discriminant analysis 簡稱為lda。也稱為fisher線性判別 fisher linear discriminant,fld 是模式識別的經典演算法,在1996年由belhumeur引入模式識別和人工智慧領域。基本思想是將高維的模...
線性判別分析LDA
首先搞清楚什麼叫判別分析?discriminant analysis就是根據研究物件的各種特徵值判別其型別歸屬問題的一種多變數統計分析方法。根據判別標準不同,可以分為距離判別 fisher判別 bayes判別法等。比如在knn中用的就是距離判別,當然這裡的 距離 又有好幾種 歐氏距離 街區距離 甚至...