神经网络与深度学习
上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,学习结束。

我们利用了感知机的(有监督)学习规则进行误差纠正,并把新的权值代入公式计算输出得到我们期望的值。

在有监督的学习规则中,我们能通过期望值不断修正权重,最终得到一个可用权重并用已经训练好的感知机去做一些事情。