上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.3 感知机的学习
回答2.2节最后的问题:换一个值,结果可能完全不对,那我们是如何得到1、1和0的呢?这需要使用感知机的一套学习规则,保证我们随意取个权重参数也能使输出的值是正常的。
感知机的学习规则也是一种训练方法,目的是修改神经网络的权值和偏置。
w(new)=w(old)+ep
b(new)=b(old)+e
其中e表示误差,e =t -a,t为期望输出,a为实际输出。
下面我们用实例的方式推导感知机的学习规则。
例子,设w1=1,w2=-1,b=0。
(1)苹果的形状和颜色均输入属性1。得到:
s =p1w1+p2w2+b
= 1-1+0
=0
f = 0 (套用step函数)
(2)观察了结果,期望结果1,实际得到了0这个结果,这里输出值错误了,我们利用感知机的学习规则计算误差。
e =t-z
=1-0
=1
我们得到了误差e =1,再把值代入:
w1new=w1old+ep
=1+1×1=2
w2new=w2old+ep
=-1+1×1
=0
bnew=bold+e
=0+1
=1
(3)使用新的权值带入感知机,重新计算苹果的属性输入。
net=p1w1+p2w2+b
=1×2+1×0+1
=3
f(step)=1
(4)纠正误差后,苹果判断正确。尝试判断香蕉。
net=p1w1+p2w2+b
=-1×2-1×0+1
=-1
f(step)=0
香蕉判断也正确,误差为0,学习结束。
我们利用了感知机的(有监督)学习规则进行误差纠正,并把新的权值代入公式计算输出得到我们期望的值。
在有监督的学习规则中,我们能通过期望值不断修正权重,最终得到一个可用权重并用已经训练好的感知机去做一些事情。