人工神经元BP网络
BP网络的原理就是误差传播校正方法,即利用实际输出与期望输出之差对网络的各层连接权由后向前逐层进行校正的一种计算方法,如图10-3所示。
图10-3 BP网络结构
BP网络学习步骤
设网络输入为X =(x1,x2,... ,xn),目标输出为D=(d1,d2,…dm),实际输出Y=(y1,y2,…,ym)
(1)用均匀分布随机数将各权值设定一个小的随机数,作为节点间的连接权和阈值。
(2)计算网络实际输出Y。
①对于输入层节点,其输出O I i与输入数据Xi的关系:即O I i= Xi,i =1,2,3,n。
②对于隐含层节点,其输入为:
输出为:
③对于输出层节点,其输入为:
输出为:
(3)输出节点j的误差:
计算出所有节点的误差平方和:
如果E小于规定值,跳转到步骤(5),否则继续步骤(4)。
(4)调整权值。
①对于输出层与隐含层节点的权ω OH jk 调整为:
式中,η为训练速率,一般,η为0.01~1。
②对于隐含层与输入层节点的权ω HI ki 调整为:
(5)进行下一个训练样本直至每一个训练样本都满足目标输出,完成网络学习。
BP算法尚存在不足之处:
(1)网络隐含层节点个数的选取尚无理论依据,所以在应用中都是在一个范围内试验确定。
(2)学习算法收敛速度慢。
(3)由于采用梯度搜索法,难免是网络陷入局部最小,从而得不到全优解。