感知机

一、概念

感知机是用于二分类的线性分类模型,其输入是实例的特征向量,输出是实例的类别,类别取+1和-1二个值,+1代表正类,-1代表负类。感知机对应于输入空间(特征空间)中将实例分为正负两类的分割超平面,属于判别模型。感知机学习算法简单易于实现,分为原始形式和对偶形式。
生成模型和判别模型
监督学习方法可以分为生成方法和判别方法,对应所学到的模型称为生成模型和判别模型。
生成模型:生成方法通过数据学到联合概率分布P(X, Y),然后求出条件概率分布P(Y|X)作为预测模型。这种模型即为生成模型,它给定了输入X和输出Y的生成关系。典型的生成模型有:朴素贝叶斯和隐马尔可夫模型。
判别模型:判别方法由数据直接学到决策函数f(X)或者条件概率分布P(Y|X)作为预测模型。这种模型即为判别模型,它关心的是对于输入X应该得到什么输出Y,不关心X与Y之间的生成关系。典型的判别模型有:感知机,K近邻,决策树,逻辑回归,支持向量机,提升方法,条件随机场等。

二、感知机模型

1、定义
输入空间由xi(xi(1),xi(2),xi(3)…xi(n))组成,输出空间为{-1, +1},由输入空间到输出空间的映射函数为 f(x)=sign(w·x+b) 称为感知机。其中w是权重向量,b称为偏置,w·x为w和x的内积。sign(x)是符号函数,即:
在这里插入图片描述
感知机模型图如下:
在这里插入图片描述
2、解释
w·x+b=0对应于特征空间(输入空间)中的一个分割超平面,w是超平面的法向量,b是超平面的截距。
用三维空间举例:
三维空间中的平面方程可以写为Ax+By+Cz+D=0,其中A,B,C是该平面的法向量W=(A,B,C)的分量,X=(x, y, z)为平面中的一个点,所以该平面方程可以写为W·X+D=0。

三、感知机的学习策略

1、线性可分的数据集
感知机需要线性可分的数据集。如数据集T={(x1,y1),(x2,y2),(x3,y3)…(xn,yn)},若对于所有的正例yi=+1,都有w·x+b>0,对于所有的负例y=-1,都有w·x+b<0,那就称这个数据集是线性可分的。
2、感知机的学习策略
对于感知机模型只需确定它的参数w和b,这就需要定义一个损失函数(经验风险)并将其最小化。这里选择的损失函数是误分类的点到分割超平面的总距离。
空间中任一点x0到分割超平面的距离为:
在这里插入图片描述
其中||w||是w的L2范数。
对于误分类点(xi,yi)来说,w·xi+b和yi是相反的,所以必有-yi(w·xi+b)>0,
所以任一误分类点到分割超平面的距离为:
在这里插入图片描述
给定训练数据集T={(x1,y1),(x2,y2),(x3,y3)…(xn,yn)},感知机的损失函数定义为:
在这里插入图片描述
其中M是误分类点的集合。
显然损失函数L(w, b)是非负的,误分类点越少,误分类点就距离分割超平面越近,损失函数就越小。

四、感知机学习算法的原始形式

感知机的学习问题转换成了求解损失函数的最优化问题,这里采用随机梯度下降,随机的选择一个误分类点,使其梯度下降。
首先损失函数L(w,b)对w和b分别求导得:
在这里插入图片描述
随机的选择一个误分类点(xi, yi),L(w,b)=-yi(w·xi+b),▽wL(w,b)=-yixi,▽bL(w,b)=-yi,对w和b进行更新:
在这里插入图片描述
其中η是步长(学习率)。

综上所述,得到如下算法:
输入:训练数据集T={(x1,y1),(x2,y2),(x3,y3)…(xn,yn)},xi∈Rn,yi∈{-1,+1},学习率η(0<η<=1)
输出:w和b
(1)选取初始值w0,b0
(2)从训练数据集中选取数据点(xi,yi)
(3)如果yi(wi·xi+b)<=0,那它就是误分类点,所以就更新w,b得到新模型
在这里插入图片描述
(4)转到(2),直至训练数据集中没有误分类点,或者满足迭代停止条件。
可见,感知机学习算法可以选取不同的初始值,选取不同的误分类点,所以最终学得的模型可以不同。

例子
给定数据集T={(x1,y1),(x2,y2),(x3,y3)},其中正实例点有x1=(3,3),x2=(4,3),负实例点有x3=(1,1),用感知机算法的原始形式求感知机模型。这里w=(w(1),w(2)),x=(x(1),x(2))T
解:
取学习率η=1
(1)取初始值w0=(0,0),b0=0
(2)选取x1(3,3),因为y1(w0·x1+b0)=0,所以它是误分类点,更新w和b为:
w 1= w0+x1y1=(3,3)
b1= b0+y1=1
得到线性模型:w1·x+b1=3x(1)+3x(2)+1
(3)因为此时x1和x2已经被正确分类,故选取x3(1,1), 因为y3(w1·x3+b1)<0,被误分类,所以更新w,b
w2 = w1 + y3x3 = (3,3)+(-1, -1) = (2,2)
b2= b1 + y3 = 1+(-1) = 0
得到线性模型:w2·x+b2 = 2x(1)+2x(2)
如此迭代下去,直到:
在这里插入图片描述
此时训练数据集中的所有点都能正确分类,得到最终的分割超平面为x(1)+x(2)-3=0,最终的感知机模型为f(x) = sign(x(1)+x(2)-3)。
详细迭代过程如下:
在这里插入图片描述

五、感知机算法的收敛性

经验证,在数据集线性可分的情况下,感知机算法是收敛的,经过有限次迭代就可以得到将训练数据集中所有点都正确分类的感知机模型。

六、感知机算法的对偶形式

感知机算法的对偶形式是从另一个角度来理解感知机算法,它和感知机算法的原始形式结构相似,意思相近,所以被称为对偶形式。
感知机算法的原始形式中,对于任一个误分类点更新w,b为:
在这里插入图片描述
假设训练数据集中总共有N个数据点,则这N个点都有可能在某次迭代被选为误分类点,从而更新w和b,所以引入一个变量ni代表数据点(xi,yi)被选为误分类点并且更新w和b的次数,1=< i <=N,ni>=0。若w和b的初始值都取0,则感知机学习算法的原始形式最终学得的w和b可以如下表示:
在这里插入图片描述
令αi=niη,αi>=0,i=1,2…N,当η=1时,αi表示第i个实例点由于被误分从而更新w和b的次数,所以上式又可以表示为:
在这里插入图片描述
所以最终的感知机模型可以表示为:
在这里插入图片描述
综上所述,得到如下算法:
输入:训练数据集T={(x1,y1),(x2,y2),(x3,y3)…(xn,yn)},学习率η(0<η<=1);其中xi∈Rn,yi∈{-1,+1}
输出:α和b;其中α=(α12,…,αN)
(1)初始值α = (0,0,…,0),b = 0
(2)在训练集中选择点(xi,yi)
(3) 若
在这里插入图片描述
说明它是误分类点,于是就更新αi和b如下:
在这里插入图片描述
(4)转到(2),直至训练数据集中没有误分类点,或者满足迭代停止条件。

注释:感觉这对偶形式还是有点繁琐,直接把w和b都用α表示,每次更新时只用更新α不就好了。

例子
给定数据集T={(x1,y1),(x2,y2),(x3,y3)},其中正实例点有x1=(3,3),x2=(4,3),负实例点有x3=(1,1),用感知机算法的对偶形式求感知机模型。
解:
(1)初始值α = (0, 0, 0),b = 0,η = 1
(2)计算Gram矩阵(内积矩阵)
在这里插入图片描述
(3)选取x1(3,3),因为满足
在这里插入图片描述
所以更新α1=1,b=1
(4)迭代。过程见下表。
(5)最终w = 2x1+0x2-5x3 = (1,1),b=-3
分割超平面为:x(1)+x(2)-3=0
感知机模型为:f(x) = sign(x(1)+x(2)-3)
详细迭代过程如下表:在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值