题目:设计一个BP神经网络监督控制系统,被控对象为:
G(s)1000 32s87.35s10470s采样时间1ms,输入信号为方波信号,幅值0.5,频率2hz。设计一个BP神经网络用于该控制系统,并采用遗传算法进行BP神经网络参数及权值的优化设计,并试进行matlab仿真。
1、BP神经网络监督控制结构图
控制器选取PD控制器, kp=25,ki=0.05 2、神经网络参数
神经网络为1-4-1结构,权值W1,W2的初始值取1,1之间的随机值,取学习参数0.3,0.05。
(1) 前向传播:计算网络输出
隐层神经元的输入为所有输入的加权之和,即
xjwijxi
i隐层神经元的输出x'j采用S函数激发xj,得
x'jf(xj)11exj
输出层神经元的输出为
un(k)wjox'j
j控制律为
u(k)up(k)un(k)
神经网络调整的性能指标为
1E(k)(un(k)u(k))2
2(2) 反向传播:采用学习算法,调整各层间的权值 输出层及隐层的连接权值wj2学习算法为
wj0uEup(k)nup(k)x'j wj0wj0隐层及输入层连接权值wij学习算法为
wijunwj0x'j(1x'j)xi wijuEup(k)n wijwij式中,
k1时刻网络的权值为
wj0(k1)wj0(k)wj0(wj0(k)wj0(k1))wij(k1)wij(k)wij(wij(k)wij(k1))
4、Matlab仿真
BP神经网络监督控制程序见附录程序BP.m,参数M1时采用随机权值,仿真结果如下图
优化前的BP神经网络监督系统
5、遗传算法进行BP神经网络参数及权值的优化设计
遗传算法程序见附录GA1.m,取优化代数G100,每一步的误差及目标函数由GA2.m求得。采用二进制编码方式,用长度为10位的二进制编码串来分别表示向量权值中每个值。
遗传算法优化中,取样本个数为Size30,交叉概率为Pc0.60,采用自适应变异概率,即适应度越小,变异概率越大,取变异概率
Pm0.0011S:i1z:e0.。取用于优化的网络结构为S0i0z1e/161,网络权值
wj0,wij取值范围为1,1,共12个参数需要优化。
BP神经网络遗传算法优化程序包括3部分,即遗传算法优化程序GA1.m,BP网络监督控制子程序GA2.m,BP网络监督控制测试程序BP.m(当参数M2时采用优化后的参数)。
优化后的BP神经网络监督系统
因篇幅问题不能全部显示,请点此查看更多更全内容