计算样本实际输出。选择一个样本作为网络输入,计算样本在目前神经网络中的实际输出。如,对于第p个样本,感知机输出为:
YpY1p,,Y
p,
其中,Yipf
∑wx
ij
j
θi,i1
第3步:计算误差。计算感知机输出的实际结果与期望输出之差:δtDpYp第4步:权数修正。如果δt0,则转第2步,否则调整权值:
fWip1WipδWipδWipηδtxi
第5步:若训练样本已完全输入或输出误差小于预设值,则学习结束;否则,转第2步继续学习。如果对给定的两类样本数据通常就是用于学习的输入数据,在空间中可以用一条直线(平面)将其分开,则称该样本数据是线性样本,否则称为非线性样本,对样本进行分类或识别即属于人工神经网络的重要应用之一。感知机可以识别二值逻辑加问题,而不能识别异或问题。对于非线性问题,可以用反向传播(BP)模型解决。4BP网络网络
wij
i
j
第k-1层
第k层
第k1层
图538多层前向神经网络结构BP网络应用得最为广泛,最为重要的一种神经网络。这种网络一般有多层,有输入层,输出层和隐含层,上一层的输出即是下一层的输入,输出层所在的层数就是神经网络的层数。一般的多层前向神经网络结构如图538所示。在实际应用中,BP网络的激活函数一般采用S型函数:fz
1,这是因为S1ez
型函数有很好的函数特性,其效果又近似于符号函数,现主要讨论采用S型函数的多层前向神经网络的学习方法。假设有一个K层的神经网络,从第0层到第1层的原始输入向量、权矩阵、第1层神经元接受向量和第1层输出向量以及它们之间的关系为:
11z1y1x111xz2WTX,Yy2fZ2,Ww1,Z1X1111ij
0×
1MMM11x
0z
1y
1第k1层到第k层的权矩阵、神经元接受向量和输出向量以及它们之间的关系分别为:
z1ky1kkkkz2WTY,Yy2fZWkwij
k1×
k,Zkkk1kkMMkkz
ky
k
其中,yifzi。
kk
我们先讨论单样本学习规则。学习规则是:确定W,使得
fFWDYKTDYK
最小,其中Dd1,d2,,d
K为理想输出。
T
采用S型函数的前向多层神经网络的反推学习BP算法步骤如下:第1步:选定学习的数组Xt,Dt,t12T,随机确r