势函数法
势函数主要用于确定分类面,其思想来源于物理。
1 势函数法基本思想
- 假设要划分属于两种类别ω1
和ω2
的模式样本,这些样本可看成是分布在n
维模式空间中的点xk
- 。
- 把属于ω1
- 的点比拟为某种能源点,在点上,电位达到峰值。
- 随着与该点距离的增大,电位分布迅速减小,即把样本xk附近空间x点上的电位分布,看成是一个势函数K(x,xk)
- 。
- 对于属于ω1
- 的样本集群,其附近空间会形成一个"高地",这些样本点所处的位置就是"山头"。
- 同理,用电位的几何分布来看待属于ω2
- 的模式样本,在其附近空间就形成"凹地"。
- 只要在两类电位分布之间选择合适的等高线,就可以认为是模式分类的判别函数。
2. 判别函数的产生
- 模式分类的判别函数可由分布在模式空间中的许多样本向量{xk,k=1,2,⋯且,xk∈ω1∪w2}
- 的势函数产生。
- 任意一个样本所产生的势函数以K(x,xk)表征,则判别函数d(x)可由势函数序列K(x,x1),K(x,x2),⋯来构成,序列中的这些势函数相应于在训练过程中输入机器的训练模式样本x1,x2,⋯
- 。
- 在训练状态,模式样本逐个输入分类器,分类器就连续计算相应的势函数,在第k
- 步迭代时的积累位势决定于在该步前所有的单独势函数的累加。
- 以K(x)表示积累位势函数,若加入的训练样本xk+1
- 是错误分类,则积累函数需要修改,若是正确分类,则不变。
3.判别函数产生逐步分析
K0(x)=0
x1
,
则有
K1(x)={K(x,x1)−K(x,x1)ifx1∈ω1ifx1∈ω2
这里第一步积累势函数K1(x)
- 描述了加入第一个样本时的边界划分。当样本属于ω1时,势函数为正;当样本属于ω2
时,势函数为负。
x2
,
则有
- 若x2∈ω1
- 且K1(x2)>0,或x2∈ω2且K1(x2)<0,则分类正确,此时K2(x)=K1(x)
- ,即积累势函数不变。
- 若x2∈ω1且K1(x——2)<0,则 K2(x)=K1(x)+K(x,x2)=±K(x,x1)+K(x,x2)
- 若x2∈ω2且K1(x2)>0
- ,则
K2(x)=K1(x)−K(x,x2)=±K(x,x1)−K(x,x2)
x2
- 处于K1(x)定义的边界的错误一侧,则当x∈ω1时,积累位势K2(x)要加K(x,x2),当x∈ω2时,积累位势K2(x)要减K(x,x2)
。
K
- 步:设Kk(x)为加入训练样本x1,x2,⋯,xk后的积累位势,则加入第(k+1)个样本时,Kk+1(x)
决定如下:
1. 若xk+1∈ω1
- 且Kk(xk+1)>0,或xk+1∈ω2且Kk(xk+1)<0,则分类正确,此时Kk+1(x)=Kk(x)
,即积累位势不变。
2. 若xk+1∈ω1
- 且Kk(xk+1)<0,则Kk+1(x)=Kk(x)+K(x,xk+1)
;
3. 若xk+1∈ω2
- 且Kk(xk+1)>0,则Kk+1(x)=Kk(x)−K(x,xk+1)
.
Kk+1(x)=Kk(x)+rk+1K(x,xk+1)
- ,rk+1
为校正系数:
rk+1=⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪001−1ifxk+1∈ω1andKk(xk+1)>0ifxk+1∈ω2andKk(xk+1)<0ifxk+1∈ω1andKk(xk+1)<0ifxk+1∈ω2andKk(xk+1)>0
x1,x2,⋯,xk,⋯
- 中去除不使积累位势发生变化的样本,即使Kj(xj+1)>0且xj+1∈ω1,或Kj(xj+1)<0且xj+1∈ω2的那些样本,则可得一简化的样本序列{x⌢1,x⌢2,…,x⌢j,…}
,它们完全是校正错误的样本。此时,上述迭代公式可归纳为:
Kk+1(x)=∑x⌢jajK(x,x⌢j)
其中
aj={+1−1forx⌢j∈ω1forx⌢j∈ω2
也就是说,由k+1
- 个训练样本产生的积累位势,等于ω1类和ω2
类两者中的校正错误样本的总位势之差。
xk+1
- 属于ω1时,Kk(xk+1)>0;当xk+1属于ω2时,Kk()xk+1<0
,则积累位势不做任何修改就可用作判别函数。
由于一个模式样本的错误分类可造成积累位势在训练时的变化,因此势函数算法提供了确定ω1
- 和ω2两类判别函数的迭代过程。判别函数表达式:取d(x)=K(x),则有:dk+1(x)=dk(x)+rk+1K(x,xk+1)
.
4 构成势函数的两种方式:
第一类势函数和第二类势函数
第一类势函数:
可用对称的有限多项式展开,即:
K(x,xk)=∑i=1mϕi(x)ϕi(xk)
其中{
}在模式定义域内为正交函数集。将这类势函数代入判别函数,有:
dk+1(x)=dk(x)+rk+1∑i=1mϕi(xk+1)ϕi(x)=dk(x)+∑i=1mrk+1ϕi(xk+1)ϕi(x)
得迭代关系:
dk+1(x)=∑i=1mCi(k+1)ϕi(x)
其中
Ci(k+1)=Ci(k)+rk+1ϕi(xk+1)
因此,积累位势可写成:
Kk+1(x)=∑i=1mCi(k+1)ϕi(x)
$Ci$可用迭代式求得。
第二类势函数:
x
和$x_k$的对称函数作为势函数,即$K(x, x_k) = K(x_k, x)$,并且它可展开成无穷级数,例如:
(a) K(x,xk)=e−α∥x−xk∥2
(b) K(x,xk)=11+α∥x−xk∥2
- , α
是正常数
(c) K(x,xk)=∣∣∣sinα∥x−xk∥2α∥x−xk∥2∣∣∣
5.势函数法
实例1:用第一类势函数的算法进行分类
- 选择合适的正交函数集{
- }
选择Hermite多项式,其正交域为(-∞, +∞),其一维形式是
其正交性:
其中,Hk(x)前面的乘式为正交归一化因子,为计算简便可省略。因此,Hermite多项式前面几项的表达式为
H0(x)=1, H1(x)=2x, H2(x)=4x2-2,
H3(x)=8x3-12x, H4(x)=16x4-48x2+12
- 建立二维的正交函数集
二维的正交函数集可由任意一对一维的正交函数组成,这里取四项最低阶的二维的正交函数
- 生成势函数
按第一类势函数定义,得到势函数
其中
,
- 通过训练样本逐步计算累积位势K(x)
给定训练样本:ω1类为x①=(1 0)T, x②=(0 -1)T
ω2类为x③=(-1 0)T, x④=(0 1)T
累积位势K(x)的迭代算法如下
第一步:取x①=(1 0)T∈ω1,故
K1(x)=K(x, x①)=1+4x1·1+4x2·0+16x1x2·1·0=1+4x1
第二步:取x②=(0 -1)T∈ω1,故K1(x②)=1+4·0=1
因K1(x②)>0且x②∈ω1,故K2(x)=K1(x)=1+4x1
第三步:取x③=(-1 0)T∈ω2,故K2(x③)=1+4·(-1)=-3
因K2(x③)<0且x③∈ω2,故K3(x)=K2(x)=1+4x1
第四步:取x④=(0 1)T∈ω2,故K3(x④)=1+4·0=1
因K3(x④)>0且x④∈ω2,
故K4(x)=K3(x)-K(x,x④)=1+4x1-(1+4x2)=4x1-4x2
将全部训练样本重复迭代一次,得
第五步:取x⑤=x①=(1 0)T∈ω1,K4(x⑤)=4
故K5(x)=K4(x)=4x1-4x2
第六步:取x⑥=x②=(0 -1)T∈ω1,K5(x⑥)=4
故K6(x)=K5(x)=4x1-4x2
第七步:取x⑦=x③=(-1 0)T∈ω2,K6(x⑦)=-4
故K7(x)=K6(x)=4x1-4x2
第八步:取x⑧=x④=(0 1)T∈ω2,K7(x⑧)=-4
故K8(x)=K7(x)=4x1-4x2
以上对全部训练样本都能正确分类,因此算法收敛于判别函数
d(x)= 4x1-4x2
实例2:用第二类势函数的算法进行分类
选择指数型势函数,取α=1,在二维情况下势函数为
这里:ω1类为x①=(0 0)T, x②=(2 0)T
ω2类为x③=(1 1)T, x④=(1 -1)T
可以看出,这两类模式是线性不可分的。算法步骤如下:
第一步:取x①=(0 0)T∈ω1,则
K1(x)=K(x,x①)=
第二步:取x②=(2 0)T∈ω1
因K1(x②)=e-(4+0)=e-4>0,
故K2(x)=K1(x)=
第三步:取x③=(1 1)T∈ω2
因K2(x③)=e-(1+1)=e-2>0,
故K3(x)=K2(x)-K(x,x③)=
第四步:取x④=(1 -1)T∈ω2
因K3(x④) =e-(1+1)-e-(0+4)=e-2-e-4>0,
故K4(x)=K3(x)-K(x,x④)
=
需对全部训练样本重复迭代一次
第五步:取x⑤=x①=(0 0)T∈ω1,K4(x⑤)=e0-e-2-e-2=1-2e-2>0
故K5(x)=K4(x)
第六步:取x⑥=x②=(2 0)T∈ω1,K5(x⑥)=e-4-e-2-e-2=e-4-2e-2<0
故K6(x)=K5(x)+K(x,x⑥)
=
第七步:取x⑦=x③=(1 1)T∈ω2,K6(x⑦)=e-2-e0-e-4+e-2=2e-2-e-4-1<0
故K7(x)=K6(x)
第八步:取x⑧=x④=(1 -1)T∈ω2,K7(x⑧)=e-2-e-4-e0+e-2=2e-2-e-4-1<0
故K8(x)=K7(x)
第九步:取x⑨=x①=(0 0)T∈ω1,K8(x⑨)=e0-e-2-e-2+e-4=1+e-4-2e-2>0
故K9(x)=K8(x)
第十步:取x⑩=x②=(2 0)T∈ω1,K9(x⑩)=e-4-e-2-e-2+e0=1+e-4-2e-2>0
故K10(x)=K9(x)
经过上述迭代,全部模式都已正确分类,因此算法收敛于判别函数
势函数分类算法评价:
1.用第二类势函数,当训练样本维数和数目都较高时,需要计算和存储的指数项较多。
2. 正因为势函数由许多新项组成,因此有很强的分类能力