Skip to content

LDA 线性判别分析 (Linear Discriminant Analysis)

核心思想

LDA 是一种有监督降维方法。它寻找一个投影方向,使得类间散度最大、类内散度最小,从而在降维的同时最大化类别可分性。

Fisher 判别准则

二分类情形

将数据投影到方向 w 上后,第 k 类的投影均值和投影方差为:

μ~k=wTμk,σ~k2=wTSkw

Fisher 准则最大化类间距离与类内方差之比

J(w)=(μ~1μ~2)2σ~12+σ~22=wTSBwwTSWw

散度矩阵

类内散度矩阵 (Within-Class Scatter):

SW=k=1KxiCk(xiμk)(xiμk)T

类间散度矩阵 (Between-Class Scatter):

SB=k=1KNk(μkμ)(μkμ)T

其中 μ 为全局均值,Nk 为第 k 类样本数。

瑞利商最优化

J(w)=wTSBwwTSWw广义瑞利商 (Generalized Rayleigh Quotient)。

推导

wTSWw=1(归一化约束),用拉格朗日乘子法:

L=wTSBwλ(wTSWw1)Lw=2SBw2λSWw=0SBw=λSWw

即广义特征值问题。若 SW 可逆:

SW1SBw=λw

二分类闭式解

rank(SB)=1SBw(μ1μ2),因此:

wSW1(μ1μ2)

多分类推广

K 个类最多可降至 K1 维(因为 rank(SB)K1)。选取 SW1SB 最大的 q 个特征值对应的特征向量。

PCA vs LDA

特性PCALDA
监督方式无监督有监督
优化目标最大投影方差最大类间/类内散度比
降维上限min(N,d)K1
适用场景数据压缩、可视化分类预处理

代码对应

bash
python -m pipelines.dimensionality.lda