感知机

弄清感知机(Perceptron)是学好支持向量机和神经网络的基础,本文试图对何为感知机(即感知机模型的表示),如何训练感知机(找到最佳的感知机模型参数)这两个问题作出清楚的回答。


什么是感知机?

感知机的数学表达:

感知机由Rosenblatt在1957年提出,是一种二类线性分类模型。输入一个实数值的n维向量(特征向量),经过线性组合,如果结果大于某个数,则输出1,否则输出-1.具体地:


其中的w0,w1,....wn权重,W向量称为权向量(本文中粗体代表向量)。权重决定每个输入分类对最终输出的贡献率。为了更简洁地表示,我们加入一个x0=1,则可以将上面的式子写成符号函数(输入大于零的时候为1,其他为-1):


这就是感知机的数学表达,其中W*X为内积,即向量对应元素相乘,然后求和

感知机的几何解释:

可以把感知机看成n维实例空间的决策超平面:W*X=0.这个超平面将空间中的点分为正负两类。如果给定的杨莉集线性可分,则可以将每个样例准确地分为两类,称为分类超平面。而其中(w1,w2,...,wn)为这个超平面的法向量,w0称为截距。

布尔函数的感知机表示:

一个感知机单元可以用来表示许多(不是全部)布尔函数。例如AND函数可以设置感知机的权向量为(-0.8, 0.5,0.5),OR函数可以将权向量设为(-0.3,0.5, 0.5)。我们这里说可以设为这样一组值,言下之意就是还可以设为其他值,也就是感知机模型中的参数可以有多种情况同时满足条件。在这里,可以把AND和OR函数看做是m-of-n函数的一种。所谓的m-of-n函数,就是要使得函数输出为真(+1),那么感知机的输入至少要有m个为真。AND函数必须全部为真,即m=n。而OR函数只要其中一个为真即可,即m=1.任意的m-of-n函数都可以用感知机来表示。感知机可以表示所有的原子布尔函数,但是另外一些布尔函数则无法通过单个感知机表示,比如异或函数(当两个输入不相等时为真),异或函数用下图表示:


很明显,异或函数的数据点线性不可分(不是m-of-n函数),因此不能通过单个感知机表示(两层的感知机网络就可以)。


------------------------------------------------------------------------------------------------------------------------------------------

弄清了感知机的数学表达,紧接着的问题就是如何从给定的数据样本中,学习模型的参数,即权向量W,使得感知机的分类准确率达到最高。


感知机学习算法

感知机学习算法的目标是找到使得所有样本正确分类的分离超平面,很显然,评价是否达到这一目的的标准就是全部样本是否都被正确分类。至于寻找这一超平面的过程,不同的算法则有不同的实现。

Rosenblatt感知机算法

第一个感知机迭代算法由Rosenblatt提出。定义样本点X到超平面的函数间隔为|y(WX+b)|,其中W与上文的W相比,去掉了W0,而b就相当于w0.将损失函数定义为所有误分类的点到超平面的函数间隔之和。

 

我们知道,如果样本被错误分类,则y(WX+b)<0,所有绝对值加负号即可。如果所有样本被正确分类,则上面式子等于0.因此我们的目标就是找到使上式为0的W和b。这里采用随机梯度下降方法。

对上式求偏导数得到&#x

  • 8
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值