檩条机轻量化研究34: BP学习算法
发布时间:2020-05-25
  |  
点击数:
 BP学习算法
BP神经网络是一种多层前馈神经网络,该网络的主要特点是信号向前传递,误差 反向传播。在信号向前传递中,输入信号从输入层经隐含层逐层处理,直至输出层。 每一层的神经元状态只影响下一层神经元状态SI。如果输出层得不到期望输出,则反 向传播,根据预测误差调整网络权值和阀值,从而使BP神经网络预测输出不断逼近期 望输出。BP神经网络的拓扑结构如图4・3所示。
X

输入层 隐含层 输出层
图4-3单层神经网络结构拓扑图
在图4-3中,Xi,肉...為是神经网络的输入值,珞Y2...Y„是神经网络的预测值, 的和小为神经网络权值网。从图4-3中可知,可以把神经网络看成一个非线性函数, 网络输入值和预测值分别为该函数的自变量和因变量。当输入节点数为〃,输出节点数 为m时,神经网络表达了从"个自变量到m个因变量的函数映射关系。
BP神经网络预测前首先要训练网络,通过训练使网络具有记忆和预测能力。BP 神经网络的训练过程包括以下几个步骤。
(1) 网络初始化:根据系统输入输出序列(x, r)确定网络输入节点数"、隐含 层节点数7,输出层节点数m初始化输入层、隐含层和输出层之间连接权值Wj•和吗*, 初始化隐含层阀值a,输出层阀值如给定学习速率和神经网络激励函数ML
(2) 隐含层输出计算:隐含层输出计算。根据输入向量X,输入层和隐含层间连 接权值的以及隐含层阀值a,计算隐含层输出H.
禹=了疙叫 Xj-a» j = (4-1)
式中,7为隐含层节点数;
/为隐含层激励函数,该函数有多种表达式,本章所选函数为:
/(X)-—^7 (4-2)
1 +。
(3) 输出层输出计算:根据隐含层输出连接权值w*和阀值A计算BP神经
网络预测输出O.
Ok =£,日斗_垃 k = (4-3)
7=1
(4) 误差计算:根据网络预测输出。和期望输出匕 计算网络预测误差e。
ek=Yk-Ok k = (4-4)
(5) 权值更新:根据网络预测误差e更新网络连接权值%和w*。
m
=wj+j (1 - Hj )x(z)^ wJkek i = l,2,...,n;j = l,2,...,l (4-5)
k=l
wjk=wJk+tlHJek 丿= 1,2,= 1,2,...,m (4-6)
式中,〃为学习速率。
(6) 阀值更新:根据网络预测误差e更新网络节点阀值a,如
nt
as aj t]Hj (1 - Hj wjkek 丿= (4-7)
4=1
bk-bk+ek j - (4-8)
(7) 判断迭代运算是否完成,如果没有完成,可返回步骤2重新开始运算。
根据以上7个步骤,则标准的BP算法流程图如图4-4所示。
 
 
 
 
 
图4-4标准BP算法流程图