我们知道,基于样本直接设计分类器需要三个基本要素:判别函数类型、分类器设计准则、寻优算法。这里我们讨论的线性判别函数类型为: g(x)=wTx+w0 。采用不同的准则和不同的寻优算法就会得到不同的线性分类器。
一、线性判别函数
刚才我们说了,线性分类器的判别函数型是线性判别函数:
其中, w0 是一个常数, x 是 d 维的特征向量, w 为权值向量,分别为:
方程 g(x)=0 就是一个决策面,当 g(x) 是线性函数时,这个决策面就是一个超平面。
对于决策面上的任意两点 xi,xj 都有:
二、Fisher线性判别分析
两类的线性判别问题可以看作是把所有样本都投影到一个方向,然后再这个一维空间中确定一个分类的阈值,过这个阈值点且与投影方向垂直的超平面就是两类的分类面。
像上图所示的两种投影方案,左边的投影方向可以将两种样本区分开来,而右边的投影方向不能区分开来,所以左边的投影方向更好。
Fisher线性判别的思想是:选择投影方向,使得投影后两类相隔尽可能远,而同一类内的样本尽可能聚集。
现在我们来定量的分析Fisher线性判别问题。为了简单考虑,我们只讨论二分类问题。
训练样本集是
χ={x1,⋯,xN}
,其中每个样本
xi
是一个
d
维的向量,其中属于
w1
类的样本是
χ1={x11,⋯,x1N1}
,属于
w2
类的样本是
χ2={x21,⋯,x2N2}
,我们的目的是寻找一个投影方向
w
(也是一个
d
维向量),投影后的样本为
yi=wtxi
定义:
原样本空间中:
1)类均值向量为:
2)各类的类内离散度矩阵为:
3)总类内离散度矩阵为:
4)类间离散度矩阵为:
投影到一维空间后,
1)两类的均值分别为:
2)类内离散度值(不是矩阵):
3)总类内离散度为:
4)类间离散度即两类均值差的平方:
根据我们的目标:投影后两类相隔尽可能远,而同一类内的样本尽可能聚集,可以表示成:
公式(1)就称为: Fisher准则函数 。
又:
因此Fisher判别准则可写成:
为了简化计算,我们可以将(2)的分母设为一个非零常数,因此该准则又可写作:
等式约束下的极值问题可以通过引入拉格朗日乘子转化成拉格朗日函数的无约束极值问题:
对 L(w,λ) 求导计算极值,极值解应满足:
当S_W是非奇异的时候,可以得到:
将 Sb 代入得:
在等式(4)中, λ 是标量, (m1−m2)Tw∗ 也是标量,而标量是不影响 w∗ 的方向的,因此可以取:
这就是Fisher判别准则下的最优投影方向。
接下来我们需要计算
w0
,采取的决策规则是:
当样本是正态分布且两类协方差矩阵相同时,
当样本不是正态分布时,这种投影方向和阈值并不能保证是最优的,但是通常仍然可以取得较好的分类结果。
如果不考虑先验概率的不同,则可以采用阈值:
或: w0=−m^
其中 m^ 是所有样本在投影后的均值。