Fisher线性判别分析

本文参考《模式识别》 张学工
以二分类介绍
fisher线性判别:把所有样本都投影到一个方向,然后在这个一维空间中确定一个分类阈值,而fisher要找的就是这个投影方向。
衡量投影方向的标准:选择投影方向,使投影后两类相邻尽可能远,同时每一类内部的样本又尽可能近。
算法推导
训练样本为 {x1,x2,...,xN} 每一个样本是一个d维向量,即 xiRd ,其中第一类的样本样本为 {x11,x12,...,x1N1} ,第二类样本为 {x21,x22,...,x2N2} 。我们要寻找一个投影方向 ω 使投影后的样本为

yi=ωTxi

在原来的样本空间中,类别均值为
mi=1Nixjx(i)xj
式中i = 1,2表示两个类别,x(i)表示第i类的集合。定义各类内离散度矩阵为
Si=xjx(i)(ximi)(xjmi)T

总的类内离散度矩阵为 Sw=S1+S2 ,类间复杂度矩阵定义为:
Sb=(m1m2)(m1m2)T

投影以后的一维空间里,两类的均值中将 xi yi 替换,得到
mi=wTmi

而类内复杂度此时是一个值
S2i=yiy(i)(yimi)2

类内总复杂度为 Sw=S1+S2 ,而类间复杂度就变成了两类均值差的平方 Sb=(m1m2)2
为了让类内尽可能聚集,而类间尽可能离散,将这一目标表述为如下Fisher准则函数
maxJF(w)=SbSw

其中 Sb=(m1m2)2=(wTm1wTm2)2=wT(m1m2)(m1m2)Tw=wTSbw
以及同理 Sw=wTSww
因此Fisher判别准则为
maxwJF(w)=wTSbwwTSww

由于 w 的幅值不会影响 w 的大小,不会影响 JF 函数的值,因此可以将分母常数化而优化分子最大,把问题转换成如下约束条件
maxwTSbws.t.   wTSww=c0

通过Lagrange乘子法优化为无约束极值问题,引入拉格朗日乘子 λ
L(w,λ)=wTSbwλ(wTSwwc)

上式极值满足
L(w,λ)w=0

求解上式得到
λw=s1w(m1m2)(m1m2)Tw

式中 w 为极值解,其中 Sw 假定了其为非奇异矩阵,当样本数量大于特征维数是,一般容易满足此限制。由于 (m1m2)Tw 是标量,不影响其方向,而我们要找的权值向量只考虑其方向,所以取
w=S1w(m1m2)
为Fisher线性判别的最佳投影方向。

你可能感兴趣的:(机器学习)