线性判别分析LDA
LDA思想:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能的接近、异类样例的投影点尽可能的远离;在对新样本进行分类的时候,将其投影到同样的一条直线,在根据投影点来确定样本的类别。

给定数据集D={(xi,yi)i=1m,yi∈{0,1}}令Xi、μi、∑i分别表示第i∈{0,1}类示例的集合、均值向量、协方差矩阵。
示例的集合:数据集D
均值向量μi:
假设样本Xi=(xi1,xi2,...,xip)T,i=(1,2,...,N)
每个分量的平均值
xj=N1∑i=1Nxij,j=(1,2,...,p),
则称x=(x1,x2,...,xp)T为p维随机样本的平均值向量。
协方差矩阵∑i:
设X=(X1,X2,X3,...,Xn)T为n维随机变量,则矩阵
C=⎝⎜⎜⎜⎛c11c21⋮cn1c12c22⋮cn2......⋱...c1nc2n⋮cnn⎠⎟⎟⎟⎞
为n维随机变量X的协方差矩阵,其中cij=cov(Xi,Xj),i,j=1,2,…,n
例:c11=E[X1−E(X1)]2
那么,两类样本的中心在支线上的投影分别为ωTμ0和ωTμ1,两类样本所有点都投影到支线,则两类样本的协方差分别为ωT∑0ω和ωT∑1ω,由于支线是一维空间,所以ωTμ0、ωTμ1、ωT∑0ω和ωT∑1ω均为实数。
若要使得同类样例的投影点尽可能的接近,可以让同类样例投影点的协方差尽可能小,即ωT∑0ω+ωT∑1ω尽可能小,若要使异类样例的投影点尽可能远离,可以让类中心之间的距离尽可能大,即∣∣ωTμ0−ωTμ1∣∣22(L2范数:我们用的最多的度量距离欧氏距离就是一种L2范数)尽可能大。
L2范数通常会被用来做优化目标函数的正则化项,防止模型为了迎合训练集而过于复杂造成过拟合的情况,从而提高模型的泛化能力。
最大化目标:
J=ωT∑0ω+ωT∑1ω∣∣ωTμ0−ωTμ1∣∣22=ωT(∑0+∑1)ωωT(μ0−μ1)(μ0−μ1)Tω
定义“类内散度矩阵”
Sw=∑0+∑1=x∈X0∑(x−μ0)(x−μ0)T+x∈X1∑(x−μ1)(x−μ1)T
定义“类间散度矩阵”
Sb=(μ0−μ1)(μ0−μ1)T
最大化目标就可以重写为:
J=ωTSwωωTSbω
这就是LDA欲最大化的目标,即Sb与Sw的“广义瑞利商”
瑞利商的定义(Rayleigh quotient):
R(A,x)=xHxxHAx
其中x为非零向量,而A为n×n的厄尔米特矩阵(Hermitian)矩阵,厄尔米特矩阵指的是,共轭矩阵矩阵中每一个第i行第j列的元素都与第j行第i列的元素共轭相等,即AH=A,AH称为A的共轭转置,如果矩阵中都是实数,则AH=AT。
瑞利商R(A,x)有一个非常重要的性质,即它的最大值等于矩阵A最大的特征值,而最小值等于矩阵A的最小的特征值,也就满足
λmin≤xHxxHAx≤λmax
广义瑞利商(generalized Rayleigh quotient):
R(A,B,x)=xHBxxHAx
其中x为非零向量,而A,B为n×n的厄尔米特矩阵(Hermitian)矩阵,B为正定矩阵。
令x=B−21x′,则分母转化为:
xHBx=x′H(B−21)HBB−21x′=x′HB−21BB−21x′=x′Hx′
而分子转化为:
xHAx=x′HB−21AB−21x′
此时我们的R(A,B,x)转化为R(A,B,x′):
R(A,B,x′)=x′Hx′x′HB−21AB−21x′
利用瑞利商的性质,可知R(A,B,x)的最大值为B−21AB−21的最大特征值。
回归到:
J=ωTSwωωTSbω①
J最大值为Sw−21SbSw−21的最大特征值。
J的分母分子都是关于ω的二次项,因此J的解与ω的长度无关,但是与ω的方向却是相关的。
不失一般性,令ωTSwω=c,c=0,则①等价于
maxωTSbωs.t.ωTSwω=c
拉格朗日乘子法:是一种寻找多元函数在一组约束下的极值得方法。通过引入拉格朗日乘子,可将d个变量与k个约束条件的最优化问题转化为d+k个变量的无约束优化问题求解。
得到L(ω,λ)=ωTSbω−λ(ωTSwω−c)
∂ω∂L(ω,λ)=(SbT+Sb)ω−λ(SwT+Sw)ω=2Sbω−2λSwω=0
即
Sbω=λSwω
其中λ是拉格朗日乘子,注意刀Sbω的方向恒为μ0−μ1,不妨令Sbω=λ(μ0−μ1),带入上式得
λ(μ0−μ1)=λSwωω=Sw−1(μ0−μ1)
考虑到数值的稳定性,在实践中常常对Sw进行奇异值分解
奇异值分解:任意实矩阵A∈Rm×n都可以分解为
A=UΣVT
其中U∈Rm×m满足UTU=I的m阶酉矩阵(共轭矩阵等于逆矩阵)
V∈R(n×n)满足VTV=I的n阶酉矩阵;
Σ∈Rm×n是m×n的矩阵,其中(Σ)ii=σi其他位置元素均为0,σi为非负实数且满足σ1≥σ2≥...≥0
其中U的列向量ui∈Rm称为A的做奇艺向量,V的列向量vi∈Rn称为A的右奇异向量,σi称为奇异值,矩阵A的秩就等于非零奇异值个数。
例:给定一个秩为r的矩阵A,要求A的最优k秩近似矩阵A~,k≤r,该问题可形式化为:
A~∈Rm×mmin∣∣A−A~∣∣F①s.t.rank(A~)=k
对矩阵A进行奇异值分解后,将矩阵Σ中的r−k个最小的奇异值置零获得矩阵Σk,即仅保留最大的k个奇异值,得到
Ak=UkΣkVkT
就是①式的最优解,其中Uk和Vk是U和V中的前k列组成的矩阵。
前面将Sw进行奇异值分分解:
Sw=UΣVT
得到Σ是一个实对角矩阵,其对角线上的元素是Sw的奇异值,再有
Sw−1=VΣ−1UT得到Sw−1
推广
LDA在多分类任务中,假定存在N个类,其第i类示例数为mi我们先定义全局散度矩阵Sw
St=Sb+Sω=∑i=1m(xi−μ)(xi−μ)T①
其中μ为所有样本的均值向量。将类内散度矩阵Sw重新定义为各个类别的散度矩阵之和,即
Sw=∑i=1NSwi②
其中Swi=x∈Xi∑(x−μi)(x−μi)T③
由①~③就可求出
Sb=St−Sω=∑i=1Nmi(μi−μ)(μi−μ)T
显然在多分类LDA可以有多重实现方法:使用Sb,Sω,St三者中的任何两个即可。常见的一种实现是采用优化目标
Wmaxtr(WTSωW)tr(WTSbW)
其中W∈Rd×(N−1),tr(⋅)代表矩阵的迹。
上式就可以通过广义特征值问题求解
SbW=λSωW
W的闭式解为Sw−1Sb的d′个最大非零广义特征值所对应的特征向量组成的矩阵,d′≤N−1
将W视为一个投影矩阵,则多分类LDA将样本投影到了d′维空间,d′通常远小于数据的原油属性d,于是就达到了减小样本点的维数的目的。