1
模式识别与智能计算的MATLAB实现
1.4.2.1 2.2.1 线性判别函数
2.2.1 线性判别函数

在n维特征空间中,特征向量X=(x1,x2,…,xnT,线性判别函数的一般形式为

alt

其中,w0称为权矢量或系数矢量;wn+1是一个常数,称为阈值权;w=(w1,w2,…,wn+1)称为增广权矢量,X=(x1,x2,…,xn,1)T称为增广特征矢量。

对于两类问题的线性分类器可以采用以下决策规则:

alt

方程在d(x)=0时定义了一个决策面,它把归类于ω1类的点与归类于ω2类的点分割开来,当为线性函数时,这个决策面便是超平面。

对于多类问题,可以通过以下三种途径进行分类。

(1)alt两分法

所确定的判别函数将属于模式和不属于模式分开是此方法的基本思想。如果模式是线性可分的,则有M-1个独立的判别函数,其中M为类别数。

di(x)=wix,  i=1,2,…,M

通过训练,其中每个判别函数都具有以下的性质:

alt

判别界面di(x)=0将特征空间划分成两个子区域,其中一个子区域包含ωi的类域,另一个子区域包含alt的类域;同样,另一个判别界面dj(x)=0也将特征空间分划成两个子区域,其中一个子区域包含ωj的类域,另一个子区域包含alt的类域。很明显,由两个界面di(x)=0和dj(x)=0所划分的分别包含ωi和ωj的两个子区域可能会有部分重叠,落在这个重叠子区域中的点不能由这两个判别函数确定类别,这样的区域称为不确定区。

考虑到不确定区的存在,对于M类问题,判决规则为

alt

(2)ωij两分法

对M类中的任意两类ωi和ωj都分别建立一个判别函数,这个判别函数将属于ωi类的模式与属于ωj类的模式区分开,该判别函数对其他类模式分类是否正确不提供信息。要分开M类,这样的函数需要M(M-1)/2个。

通过训练得到区分两类ωi和ωj的判别函数为

dij=wijx,  i,j=1,2,…,M,i≠j

它具有性质

alt

同样,该方法仍然有不确定区。

考虑到不确定区的存在,对于M类问题,判决规则为

若dij(x)>0,∀j≠i,则x∈ωi

(3)没有不确定区的ωij两分法

对(2)中的判别函数作如下处理,令

dij(x)=di(x)-dj(x)=(wi-wj)x

则dij(x)>0等价于di(x)>dj(x),于是对每一类ωi均建立一个判别函数di(x),M类问题有M个判别函数

di(x)=wix,  i=1,2,…,M

此种情况下,判别规则为

若di(x)>dj(x),∀j≠i,则x∈ωi

这种判别规则的另一种表述形式为

alt,则x∈ωi

线性判别函数因为方程的数量、维数和形式已定,所以对它的设计就是确定函数的各系数,即线性方程的各个权值。此过程首先要确定一个准则函数J,如Fisher准则、感知器算法、增量校正算法等,然后利用一批已分类的训练样本,确定准则函数J达到极值时的w*alt的具体数值,从而确定判别函数,完成分类器设计。