4.2 Fisher线性判别函数
Fisher 线性判别分析是R.A.Fisher于1936年提出来的方法[2]。两类的线性判别问题可以看作把所有样本都投影到一个方向上,然后确定一个分类的阈值。过了这个阈值点且与投影方向垂直的超平面就是两类样本的分类面。如何通过不同投影方向成功地将两类样本分开?
从图4-7中可以看出,按图4-7(a)所示的方向投影后,两类样本混在一起,而按图4-7(b)所示的方向投影后,两类样本很容易区分。显然,图4-7(b)所示的投影方向是更好的选择。Fisher线性判别的思想就是选择投影方向,使得投影后两类样本相隔尽可能远,同时使同一类别的样本尽可能聚集。
图4-7 样本投影后的区分程度比较
这里只讨论两类分类的问题。设训练样本集={x1,…,xN},每个样本是一个d 维向量,其中第一类样本=,第二类样本=。找一个投影方向(也是d维向量),投影以后的样本变为
(4-10)
其中,i=1,2,…,N。在原样本空间中,类均值向量为
(4-11)
其中,i=1,2。定义各类的类内离散度矩阵(Within-Class Scatter Matrix),即样本协方差矩阵为
(4-12)
总类内离散度矩阵(Pooled Within-Class Scatter Matrix)为
(4-13)
类间离散度矩阵(Between-Class Scatter Matrix)为
(4-14)
在投影后的一维空间中,两类的均值分别为
(4-15)
其中,i=1,2。此时,类内离散度为
(4-16)
其中,i=1,2。总类内离散度为,而类间离散度就成为两类均值差的平方,即
(4-17)
因为人们希望寻找到的投影方向可使投影后的两类样本尽可能分开,而各类内部又尽可能聚集,所以这一目标可以表示成如下的函数。
(4-18)
这就是Fisher判别函数。
把式(4-10)代入式(4-16)和式(4-17)得到
(4-19)
以及
(4-20)
因此Fisher判别函数变为
(4-21)
应注意到,我们的目的是求使式(4-21)最大的投影方向。由于对幅值的调节并不会影响的方向,即不会影响的值。因此,可以设定式(4-21)的分母为非零常数而最大化分子部分,即把式(4-21)的优化问题转化为
(4-22)
这是一个等式约束下的极值问题,可以通过引入拉格朗日(Lagrange)乘子转化成以下拉格朗日函数的无约束极值问题。
(4-23)
在式(4-23)的极值处应满足
(4-24)
由此可得,极值解应满足
(4-25)
假定是非奇异的,把式(4-14)变为
(4-26)
其中,的方向是由决定的。我们要求解的是的方向,因此可以取
(4-27)
这就是Fisher判别准则下的最优投影方向。
需要注意的是,Fisher线性判别函数最优的解本身只给出了一个投影方向,并没有给出我们要的决策面,想要得到决策面,需要在投影后的一维空间上确定一个分类阈值。若不考虑先验概率的不同,则可以采用阈值,其中是所有样本在投影后的均值。
直观地解释,Fisher线性判别就是把待决策的样本投影到Fisher线性判别的方向上,通过与两类均值投影的平分点进行比较做出分类判别。在先验概率相同的情况下,以该平分点为两类样本的分界点;在先验概率不同的情况下,分界点向先验概率小的一侧偏移。
Fisher 线性判别并不假设样本分布,但在很多情况下,当样本维数比较高且样本数较多时,投影到一维空间后,样本接近正态分布。此时可以在一维空间中用样本拟合正态分布,并用得到的参数来确定分类阈值。