首页 > 编程知识 正文

机器人感知与控制,机器感知的领域

时间:2023-05-05 19:02:24 阅读:262681 作者:3056

介绍

感知器算法由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||2≤1+max||xn||2||wt||2 ,其中,另 R2=max||xn||2 ,所以,上面的式子可以变为:

||wt+1||2||wt||2≤1+R2||wt||2
因此,可以知道算法最终是收敛的。算法学习是可以终止的。

(2)求算法学习步数

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

T≤R2ρ2

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。