【机器学习】感知器

来源:互联网 发布:react双向数据绑定 编辑:程序博客网 时间:2024/06/04 18:58

介绍


感知器算法由Rosenblatt于1957年提出,它是一种监督式学习算法。它是一种相当好的二分类在线算法。比如说Y有d个特征:

X=x1,x2,x3,...,xd

如果给这个d个特征每个加上一个权值,并进行线性组合。那么就可以得到下式:
y=i=1d(wixi+bi)

这里求和出的结果就是用这些特征计算出来的总分,如果我们假定y>threshold时,最终结果为1。否则y <threshold时,最终结果为-1。则最终的表达式可以表示为:
h(x)=sign((i=1d(wixi))threshold)

这个公式称为perceptron hypothesis
(1)可以对上面的公式进行简化。其中可以把threshold作为w0,x0作为1,这样子的话就可以把上面的公式简化为:
h(x)=sign((di=1(wixi))threshold)

=sign((di=0(wixi))+(threshold)w0(+1)x0
=sign(di=0(wixi))

=sign(wTx)
(2)如果把上面的特征(二维)对应到空间中,则h(x)就是空间中的直线。如果是在多维空间中,则h(x)对应超平面。


PLA算法(perceptron learning algorithm)

(1)伪代码描述

这里写图片描述

(2)基本思想

我们假定一个初始的w向量来对数据进行判定,一直到遇到一个判断错误的数据,这个时候,我们就是使用这个判断错误的数据,对w进行修改。
**如果wx<0,y>0,w(k+1) = w(k) + pxk
**如果wx>0,y<0,w(k+1) = w(k) - pxk
**如果ywx>0,w(k+1) = w(k)

(3)向量描述

这里我们可以知道w,x在空间中是两个向量,对于第一种情况,wx<0,就相当于两个向量夹角大于90度:
这里写图片描述
此时,W+X会把新的W向X靠近,这样的话就达到了学习的效果。
同理对于第二种情况,wx>0,就相当于两个向量夹角小于90度:
这里写图片描述


算法验证

(1)验证算法是会收敛的

当出现错误时:
||wt+1||2=||wt+ytxt||2=||wt||2+2ytwTtxt+||ytxt||2
||wt||2+||ytxt||2||wt||2+max||ynxn||2||w0||2+Tmax||ynxn||2=Tmax||xn||2

由上面的公式可知:||wt+1||2||wt||21+max||xn||2||wt||2,其中,另R2=max||xn||2,所以,上面的式子可以变为:

||wt+1||2||wt||21+R2||wt||2

因此,可以知道算法最终是收敛的。算法学习是可以终止的。

(2)求算法学习步数

因为
wTfwt+1=wTf(wt+ytxt)=wTfwt+ytwTfxtwTfwt+minynwTfxn...wTfw0+Tmin(ynwTfxn)=TminynwTfxn
所以:
wTfwt||wf||||wt||TminynwTfxn||wf||Tmax||xn||2
又因为wTfwt||wf||||wt||1
又另:ρ=minynwTf||wf||xn
计算可得:

TR2ρ2


如果大家对相关话题感兴趣的话,可以关注yiyele-xxq(程序猿技术交流)公众号。
这里写图片描述