BP网络隐层可以有多个,多隐层的BP网络模型对一般多层前馈网模型如图所示。,按前馈顺序各隐层节点数为m1,m2,…,mh;各隐层输出为y1,y2,…,yh;各层权值矩阵分别为W1,W2,…,Wh,Wh+1,则,各层权值调整计算公式为:输出层第h隐层按上述规律逐层类推,可得到第一隐层权值调整计算公式为三层前馈网的BP学习算法也可写成向量形式:对输出层式中,对于隐层式中,看出,BP算法中,各层权值调整公式形式上都是一样的,均由3个因素决定,学习率η,本层输出的误差信号δ及本层输入信号Y(或X)。其中输出层误差信号同网络的期望输出与实际输出之差有关,直接反映了输出误差,而各隐层的误差信号与前面各层的误差信号都有关,是从输出层开始逐层反传过来的。反传过程可以简述为:与比较得到输出层误差信号→计算输出层权值调整量ΔW;通过隐层各节点反传→。设计BP网络结构如下:权系数随机选取为:w12=,w13=,w14=,w15=,w26=,w36=,w46=,w56=。取学习率η=1。按图中曲线确定学习样本数据如下表(,共80对)x(输入信号)y(教师信号)…x(输入信号)y(教师信号)…………………:第一次学习,输入=(1节点第1次学习),,计算2、3、4、5单元状态:=2,3,4,5计算2、3、4、5各隐层单元输出(=2,3,4,5)计算输出层单元6的状态值及输出值反推确定第二层权系数变化:第一次反传修正的输出层权为:反推第一层权系数修正:第二次学习,,计算6单元状态:按表中数据依次训练学习,学习次数足够高时,可能达到学习目的,实现权值成熟。一般网络学习训练次数很高,采用手工计算是不可能的,需要用计算机程序求解。,称标准BP算法。目前神经网络的实现仍以软件编程为主。现以如图的三层BP网络为例,说明标准BP算法的编程步骤:——输出层输出向量;——输入层到隐层间的权值矩阵;——隐层第j个神经元对应的权列向量;——隐层到输出层间的权值矩阵;——输出层第k个神经元对应的权列向量;d=——网络期望输出向量。
BP算法程序实现 来自淘豆网m.daumloan.com转载请标明出处.