PCA将所有的样本作为一个整体对待,寻找一个均方误差最小意义下的最优线性映射,而没有考虑样本的类别属性,它所忽略的投影方向有可能恰恰包含了重要的可分性信息
LDA(或FDA,多重判别分析,MDA, Multiple Discriminant Analysis )是在可分性最大意义下的最优线性映射,充分保留了样本的类别可分性信息
PCA无监督,LDA有监督
“高内聚,低耦合”——即降维后,同一类别的样本尽可能聚在一起,不同类别的样本尽可能离得远。
Fisher判别准则#
样本:{x1,x2,…,xn},类别标签:ωi∈{1,2,…,c},类别均值:μi=ni1∑x∈ωix,总体均值:μ=n1∑i=1cniμi。
类内散度矩阵 SW#
对于某一类 ωi 的类内散度矩阵 Si:
Si=x∈ωi∑(x−μi)(x−μi)T总体的类内散度矩阵,衡量同一类别样本的离散程度,定义为:
SW=i=1∑cx∈ωi∑(x−μi)(x−μi)T越小,说明同一类别的样本越聚集。
类间散度矩阵 SB#
衡量不同类别样本的离散程度,定义为:
SB=i=1∑cni(μi−μ)(μi−μ)T越大,说明不同类别的样本越分散。
Fisher准则#
LDA依旧要找投影向量 w,投影后 zi=wTxi,类内散度和类间散度分别为:
SW′=i=1∑cx∈ωi∑(wTx−wTμi)2=wTSWwSB′=i=1∑cni(wTμi−wTμ)2=wTSBwLDA的目标是投影后最大化类间散度与类内散度的比值:
J(w)=wTSWwwTSBw求解过程:
固定分母 wTSWw=1,最大化分子 wTSBw,引入拉格朗日乘子 λ,构建拉格朗日函数:
L(w,λ)=wTSBw−λ(wTSWw−1)对 w 求导并设置为零:
∂w∂L=2SBw−2λSWw=0从而得到:
SBw=λSWw⇒SW−1SBw=λw
- 这表明 w 是矩阵 SW−1SB 的特征向量,对应的特征值为 λ。
- 对于 c 个类别,SB 的秩最大为 c−1,因此最多只能找到 c−1 个非零特征值对应的特征向量,这些特征向量构成了LDA的投影空间。
- 新的坐标系可能不是一个正交坐标系
- 只有样本足够多时才能保证类内散度矩阵 SW 可逆。高维小样本问题(Small Sample Size Problem)会导致 SW 不可逆,此时可以PCA+LDA(此时需先用PCA将数据降维至 N−C 维,再执行LDA)、Null Space LDA、VCA等方法解决。
算法流程 (The Pipeline)#
-
计算各类别均值与全局均值:
- μi=ni1∑x∈ωix
- μ=n1∑i=1cniμi。
-
计算散度矩阵:
-
类内散度矩阵 SW=∑i=1c∑x∈ωi(x−μi)(x−μi)T
-
类间散度矩阵 SB=∑i=1cni(μi−μ)(μi−μ)T。
-
求解广义特征值问题 SBw=λSWw,得到特征值 λj 和对应的特征向量 vj。
-
选取前 k≤c−1 个特征值对应的特征向量构成投影矩阵 W=[v1,v2,…,vk]。