单层感知器学习实际上是一种基于纠错学习规则,采用迭代的思想对连接权值和阈值进行不断调整,直到满足结束条件为止的学习算法。
假设X(k)和W(k)分别表示学习算法在第k次迭代时输入向量和权值向量,为叙述方便,通常把阈值θ(k)作为权值向量W(k)中的第一个分量,对应地把“-1”固定地作为输入向量X(k)中的第一个分量。即W(k)和X(k)可分别表示为:
单层感知器学习是一种有导师学习,它需要给出输入样本的期望输出。假设一个样本空间可被划分为A,B两类。其激活函数的定义为:如果一个输入样本属于A类,则激活函数的输出为+1,否则其输出为-1。对应地,也可将期望输出(亦称为导师信号)定义为:当输入样本属于A类时,其期望输出为+1,否则为-1(或0)。
在上述假设下,单层感知器学习算法可描述如下:
①设t=0,初始化连接权值和阈值。即给wi(0)(i=1,2,…,n)及θ(0)分别赋予一个较小的非零随机数,作为它们的初始值。其中,wi(0)是第0次迭代时输入向量中第i个输入的连接权值;θ(0)是第0次迭代时输出节点的闽值。
②提供新的样本输入xi(t)(i=1,2,…,n)和期望输出d(t)。
③计算网络的实际输出:
④若y(t)=1,不需要调整连接权值,转⑥;否则需要调整连接权值,执行⑤。(www.xing528.com)
⑤调整连接权值
式中,0<η≤1,是一个增益因子,用于控制修改速度,其值不能太大,也不能太小。如果η的值太大,会影响wi(t)的收敛性;如果太小,又会使wi(t)的收敛速度太慢。
⑥判断是否满足结束条件,若满足,算法结束;否则,将t值加1,转②,重新执行。这里的结束条件一般是指wi(t)对一切样本均稳定不变。
对上述算法,如果输入的两类样本是线性可分的,即这两类样本可以分别落在某个超平面的两边,则该算法就一定会最终收敛于将这两类模式分开的那个超平面上。否则,该算法将不会收敛。其原因是,当输入不可分且重叠分布时,在上述算法的收敛过程中,其决策边界会不断地摇摆。
(二)多层感知器学习算法
在训练多层感知器学习的时候,通常使用在监督学习方式下的误差反向传播算法。这种算法是基于误差修正学习规则的。误差反向传播学习过程由信号的正向传播与误差的反向传播两个过程组成。
在信号正向传播的过程中,输入向量作用于网络的感知节点上,经过神经网络一层接一层地传播,最后产生一个输出作为网络的实际响应。在前向通过时,神经网络的突触权值保持不变。在信号反向传播的过程中,突触权值全部根据误差修正规则来调整,误差信号由目标响应减去网络的实际响应而产生。这个误差信号反向传播经过网络,与突触连接的方向相反,故称为“误差反向传播”。通过调整突触的权值使网络的实际响应接近目标响应。
随着信号的正向传播过程和误差的反向传播过程的交替反复进行,网络的实际输出逐渐向各自所对应的期望输出逼近,网络对输入模式响应的正确率也不断上升。通过此学习过程,确定各层间的连接权值之后就可以工作了。误差反向传播算法的发展是神经网络发展史上的一个里程碑,因为它为训练多层感知器提供了一个非常有效的学习方法。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。