第4讲线性分类器资料下载.pdf
《第4讲线性分类器资料下载.pdf》由会员分享,可在线阅读,更多相关《第4讲线性分类器资料下载.pdf(78页珍藏版)》请在冰豆网上搜索。
训练方法的共同点是,先给出准则函数,再寻找使准则函数趋于极值的优化算法,不同的算法有不同的准则函数。
算法可以分为迭代法和非迭代法。
线性分类器的设计设计线性分类器的主要步骤设计线性分类器的主要步骤前面讨论了线性判别函数,假定样本是线性可分的。
一般来说,当属于两个类型的抽样实验样本在特征空间里能够被一个超平面区分时,则这两个类型是线性可分的。
进一步推论,对于一个已知容量为N的样本集,如果有一个线性分类器能把每一个样本正确分类,则称这组样本集是线性可分的。
实际问题中怎样判别样本集的线性可分性?
若容量为N的样本集中的每个模式为d维向量,将N个样本画到d维空间中,然后向低维空间投影,观察其线性可分性。
事后根据分类情况评价样本的线性可分性。
线性分类器线性分类器上面我们介绍了确定性模式的分类方法,也就是确定性模式分类器在数学上可以用线性判决函数来表示,。
w为增广型加权向量,x为增广型模式向量。
对于两类问题:
若则两类之间的决策面方程:
。
在线性可分情况下,它是一个区分超平面。
若把来自于类型的样本模式的各个分量均乘以(-1),则两类样本的模式均应满足。
因此,只要加权向量是确定的,对于来自或的任何样本,很容易确定他们的类别。
但怎样确定呢?
这是下面几节要讲到的内容。
xwxgT=)(00TwxxwTwiwjww线性分类器先介绍几个概念先介绍几个概念:
样本集:
特征向量集。
训练样本集:
用于训练分类器的样本集合(或由训练样本构成的集)。
测试样本集:
用于检测分类器性能的样本集合。
一般来说,要确定加权向量w,必须首先采集一些样本,并把它们变换为特征空间里的模式向量。
这样的模式样本就是训练样本。
为此而作的实验就是训练实验。
训练实验一般是在各个类型中独立进行。
如果训练样本的类别属性是预先已知的,这样的训练实验就是预分类的训练实验,又叫监督试验监督试验。
线性分类器训练样本集常用x=x1,x2,xn表示,由训练样本集x所确定的加权向量称为解向量w*。
假定通过独立的试验在类型中采集了三个训练样本,。
在类型中采集了两个训练样本和。
把训练样本变为增广型模式向量,且、,的各分量乘以(-1),则有:
,。
对应的决策面方程。
iw1x2x3xjw4x5x4x5x0kTxw5,4,3,2,1=k0=kTxw线性分类器当样本线性可分时,确定了5个区分超平面,各自以为法线向量。
每个区分超平面都把权空间分为两个半空间,指向的一侧为正的半空间,5个正的半空间共同确定的区域一般是顶点为权空间原点的凸五面锥,锥体内的每一个点都满足,也就是均可作为解向量。
所以,并不唯一。
0=kTxwkxkx0kTxw*w*w线性分类器解向量特性:
(1)一般不唯一。
落入权空间的一个凸多面锥围成的区域内的每一个点都可作为。
该区域称为解区。
(2)每个训练样本都对解区提供一个限制。
样本越多,限制越严,越可靠,越是靠近解区的中心。
越可靠,意味着分类错误越小。
*w*w*w*w线性分类器例:
一个红外图像,目标为亮点,如下图。
50个点(bi,bi),i=1,2,.,5020个点(oj,oj),j=1,2,.,20128128,每个象素8bit线性分类器样本集:
实际要分类的样本数:
12812870。
训练样本Z的分布图如下:
.,.,7052515021xxxxxxX=,.,.,6052513021xxxxxxZ=,.,.,/706261503231xxxxxxZXY=(均值)(标准差)线性分类器假定判别函数为:
分类规则:
若点满足,则对应的象素点为目标。
对上述讨论作一个总结,得出确定线性分类器的主要步骤:
第一步第一步:
采集训练样本,构成训练样本集。
其中每个样本的属性是预知的,而且样本已经经过变换/选择,得到对分类最有效的d个特征。
cbaf+=),(ff=),(0),(f线性分类器第二第二步步:
确定一个准则,满足:
(1)
(2)能反映分类器的性能,且对于的权值,所得分类器最优。
第三第三步步:
求的权值,得到解向量,同时设计求解w的最优算法。
一旦得到,训练实验的任务就完成了。
在下面研究各种训练算法时,假定第一步已经完成。
J),(xwJJ=),(xwJJ*w),(xwJ*w*w梯度法2w0xwT*w0xwT前面已经讨论了在两类情况下,当样本可分时,将属于的样本的各分量乘
(1),则所有满足的样本所求出的解,即可确定判决函数。
这是一线性联立不等式的求解问题,只对线性可分问题,方程才有解。
对这样的问题来说,如果有解,其解也不一定是单值的,因而就有一个按不同条件取得最优解的问题。
这样就出现了多种不同的算法,下面介绍梯度法。
因为求某一函数的数值解,通常只能求出在某种意义下的最优解,即先定义一个准则函数,然后在使此准则函数最大或最小的情况下,求出的解。
梯度法就是先确定一准则函数,然后选一初值,然后通过迭代的方法找到的数值解。
梯度法梯度法在数学分析中,函数在某点的梯度是一个向量,其方向是增长最快的方向。
显然,负梯度方向是减少最快的方向。
)(wf)(wf)(wJ)1(ww)(wJkw)(kwJ)(wJ)(wJ梯度法所以,在求某函数极大值时,沿梯度方向走,则可以最快到达极大点;
反之,沿负梯度方向走,则可以最快到达极小点。
定义一个准则函数,它的最小值对应着最优解。
为此,我们可以得到梯度法的迭代公式:
(清华教材)上式使在函数的负梯度方向上迅速收敛于最优解。
其中,是一个正的比例因子,这就是梯度法。
),(xwJ*w331Pw(k)wJkwkw=+)()()1(wJ*w梯度法感知器感知器感知器(perceptron)是一个具有单层计算单元的人工神经网络。
感知器训练算法就是由这种神经网络演变来的。
感知感知器的概念器的概念美国学者F.Rosenblatt年提出了感知器的模型,如下图。
感知器感知感知器器实质上是一种神经元模型,是一个多输入/单输出的非线性器件。
用一个数学表达式表示,就是:
这种神经元没有内部状态的转变,而且函数为一个阶跃函数,即为阈值型。
因此,它实质上是一种线性阈值计算单元,如下图:
1()diiiyfwx=f感知器输出表达式:
也可以写成:
其中:
如果令:
则:
=11Y=diiidiiixwxw1100)sgn(0=xwYT),.,(210dTwwww=Tdxxxx),.,(21=),.,(21=dTwwwwTdxxxx)1,.,(21=sgn()Tywx=10sgn()10xxx=感知器与其他神经元模型相比,感知器模型的一个重要特点是神经元之间的耦合程度可变,各个权值可以通过训练/学习来调整,从而实现线性可分函数。
当感知器用于两类模式的分类时,相当于在高维样本的特征空间中,用一个超平面把两类区分开。
Rosenblatt已证明,如果两类模式是线性可分的,算法一定收敛。
这就确定了一种自组织、自学习的思想。
由此引导出的感知器算法至今仍是最有效的算法之一。
iw感知器感知感知器训练算法器训练算法已知感知器输出函数:
令:
,又令:
,分别表示两种类型,则感知器输出函数变为:
若:
,则:
111,01,0diiidiiiwxywx=+1dw),.,(210dTwwww=10)(+=dTwxwxg1=y1=y0()0gxijwxw感知器通过上面的定义,感知器问题变成两类问题。
因此,感知器的自组织、自学习思想可以用于确定性分类器的训练。
这就是感知器训练方法。
针对两类问题,利用增广型模式向量和增广型加权向量及判决规则:
,则。
说明感知器算法。
jiww/jiww/00Twxckx,.,21nkxxxx()()Tkkgxwkx=)(kwkixw0)(kxgkcxkwkw+=+)()1(kjxw0)(kxgkcxkwkw=+)()1(如果类型的训练样本的各分量均乘以
(1),则修正规则统一为:
,则令,返回。
直到对所有训练样本均稳定不变,则结束。
一般情况,。
值太小会影响收敛速度和稳定性,太小收敛速度慢,太大,会使的值不稳定。
jw0)(kxgkcxkwkw+=+)()1(1+=kkw10)(kxkwkw+=+)()1(nxk,.,2,1=1+=kk感知器从算法中不难看出:
两边乘以解向量:
,(由算法的知道)由于:
归一化,为非解向量时,因此:
1100()(0)kkiiiiwkwxx=+=*w1*00()()kiiwwkwxkT=2222111|()|
(1)|
(1)|2
(1)|Tkkkwkwkxwkwkxx=+=+1|21=kx)(kw11()
(1)TkkgxwkxT=222|()|
(1)|21|
(1)|1wkwkTwk+感知器分别计算出,代入上式得:
表示两个向量与之间的夹角余弦,则又,令,则有:
也就是,是一个有限的值,步骤仅需有限次数就可以得到。
换句话说,在线性可分的情况下,感知器训练算法一定收敛。
正数越小,则收敛越慢(值越大)。
2|
(1)|wk2|
(1)|w2|()|wkk=wkkTkwwkwwkc1)(kcT|*|Tw=21,0kTTk*wTk感知器感知器训练算法在多类问题中的应用感知器训练算法在多类问题中的应用(推广推广)在上一节,介绍了多类问题的三种情况。
其中,第三种情况是没有不确定区的,对于种类型中的某一种类型,存在个判别函数,如果样本,则:
其中取决于在特征空间里与类型相邻的类型数目,。
这样就把多类问题转变成多个没有不确定区的两类问题,可使用最大值判决规则。
ciwkiwx()()1,2,.ijgxgxjkij=kiwckjiww/感知器假定,首先建立c个判决数:
,判决规则为:
若,则。
将本节2中介绍的感知器训练算法用到这种情况,可以建立如下的算法步骤:
赋给初始值:
分别赋给个权向量()任意的初值,选择正常数c,把训练样本变为增广型模式向量,置。
输入训练样本,假定计算c个判决函数值:
修正权向量。
修正规则为:
ck=