神经网络控制算法仿真毕业设计 联系客服

发布时间 : 星期三 文章神经网络控制算法仿真毕业设计更新完毕开始阅读8f8011d57fd5360cba1adbc3

假设,神经网络的理想输出为dk,在前向计算中,若实际输出ok与理想输出dk不一致,就要将其误差信号从输出端反向传播回来,并在传播过程中对加权系数不断修正,使输出层神经元上得到所需要的期望输出dk为止。为了对加权系数进行调整,选取目标函数为:

1m1m22E??(dk?ok)??ek2k?12k?1 (2-21)

以误差函数E减少最快方向调整,即使加权系数按误差函数E的负梯度方向调整,使网络逐渐收敛。按照梯度下降法,可得到神经元j到神经元i的t+1次权系数调整值:

wij?t?1??wij?t???wij?wij?t????E?t??wij?t? (2-22)

由式(2-21)可知,需要变换出E相对于该式中网络此刻实际输出关系,因此

而其中的

neti(t)??wij?t?Ij (2-24)

j?E?t??E?t??neti?t??. (2-23) ?wij?t??neti?t??wij?t?其中的Ij表示节点i的第j个输入。所以

?neti?t??

?wij?t??(?wij?t?Ij)j?wij?t??Ij (2-25)

将(2-25)代入式(2-23),可以得到:

?E?t??E?t??neti?t??E?t? ?.?Ij (2-26)

?wij?t??neti?t??wij?t??neti?t?令 ?i??E (2-27) ?neti式中?i为第i个节点的状态neti对E的灵敏度。

由式(2-26)和式(2-27)可以得到:

?E??i.Ij (2-28) ?wij以下分两种情况计算?i: ① 若i为输出层节点,即i =k

13

由式(2-21)和(2-27)可得

?i??k?所以可得:

?E?E?oi?.?(dk?ok)f'(netk)??ekf'(netk) (2-29) ?neti?oi?neti?E?t??E?t??neti?t??.??ekf'(netk)Ij (2-30) ?wij?t??neti?t??wij?t?此时wij应该按照下列公式进行调整:

?E?t? wij?t?1??wij?t??? ?wij?t???ekf'(netk).Ij (2-31)

?wij?t?式中?为学习速率。

② 若i不为输出层神经元,即i?k 此时式(2-27)为 ?i?其中

?netm1?E? ?E??(?E.(2-33) )??.wm1jIj* ??oim1?netm1?oim1?netm1?oij?E?k??E?oi?E'?.?g(neti) (2-32)

?neti?k??oi?neti?oi式中m1是节点i后边一层的第m1个节点,Ij*是节点m1的第j个输入。

*当i=j时,oi?Ij

?E?E ??wmi???mwmi (2-34)

?oim1?netm11m111将式(2-32)和(2-34)代入(2-28),有

?E?t??E ?Ij?wm1if'(neti)?Ij??m1wm1ig'(neti) (2-35)

?wij?t?m1?netm1m1此时的权值调整公式为:

wij?t?1??wij?t????E?t??wij?t???Ij??m1wm1ig'(neti) (2-36)

?wij?t?m1通过(2-31)和(2-36)我们就可以完成神经网络的反向传播算法。实现权值的实时调整。

对上面的算法流程进行总结我们可以的出下面的算法流程图:

14

初始化权值给定输入和输出样本

求隐含层、输出层各节点输出

求目标值与实际输出的偏差

计算反向误差 修正权值 学习结束? 否 是 结束

图2-3 BP网络算法流程图

2.5 本章小结

本章主要介绍了神经网络的基础知识,其中包括神经元模型,学习方式和学习规则等,在了解了神经网络的基础上,进一步介绍了本论文要用到的BP神经网络,包括其结构,前向和反向传播算法及实现步骤。

15

第三章 基于BP神经网络的PID控制

一般来说,基于神经网络的PID控制器的典型结构主要有两种,一种是基于神经网络的整定PID控制,即把神经网络的输出作为PID控制器的比例,积分和微分。另一种是把神经网络的权值做为比例,积分和微分。本章将详细介绍基于BP神经网络的自整定PID控制算法,即把神经网络的输出作为PID控制器的比例,积分和微分,然后对电厂主汽温系统进行设计,并在Matlab上进行仿真。

3.1 PID控制器的离散差分方程

在连续信号系统中,PID控制算式的表达式

16