题目:设计一个BP 神经网络监督控制系统,被控对象为:
1000
G ( s)
s387.35s210470 s
采样时间 1ms,输入信号为方波信号,幅值 0.5,频率 2hz。
设计一个 BP神经网络用于该控制系统,并采用遗传算法进行 BP 神经网络参数及权值的优化设计,并试进行 matlab 仿真。
1、设计结构方案
控制器选取 PD 控制器, k p50,k d0.5
2、神经网络参数
神经网络为2-4-1 结构,权值W1,W2的初始值取1, 1 之间的随机值,取学习参数0.3,0.05 。
(1)前向传播:计算网络输出
隐层神经元的输入为所有输入的加权之和,即
x j w ij x i
i
隐层神经元的输出x'j采用S 函数激发x j,得
x 'j f ( x j )
1
1
e x j
输出层神经元的输出为
u (k )
w jo
x '
n
j
j
控制律为
u(k ) u p (k) u n (k)
神经网络调整的性能指标为
E(k )
1
(u n (k ) u( k)) 2
2
u p ( k) u (k)
近似取
n
,由此产生的不精确通过权值调节来补偿。
w j (k)
w i ( k)
(2) 反向传播:采用 学习算法,调整各层间的权值输出层及隐层的连接权值 w j 2 学习算法为
w
j 0
E u p (k ) u n
u p (k) x 'j
w
j 0
w
j 0
隐层及输入层连接权值 w ij 学习算法为
w ij
E u p ( k)
u n
w ij
w ij
式中,
u n w j 0 x 'j (1 x 'j ) x i
w ij
k 1 时刻网络的权值为
w j 0 (k 1) w j 0 ( k)
w j 0
(w j 0 (k) w j 0 (k 1))
w ij (k
1) w ij (k ) w
ij
(w ij (k ) w ij (k 1))
3、离散化对象
y(k )
den(2) y(k 1) den(3) y(k 2) den(4) y(k 3)
num (2)u(k
1) num(3)u(k
2) num(4) u(k 3)
4、Matlab 仿真
BP 神经网络监督控制程序见附录程序BP.m,参数M 1 时采用随机权值,仿真结果如下图
优化前的BP 神经网络监督系统
5、遗传算法进行BP神经网络参数及权值的优化设计
遗传算法程序见附录GA1.m,取优化代数G 100,每一步的误差及目标函数由GA2.m 求得。
采用二进制编码方式,用长度为10 位的二进制编码串来分别表示向量权值中每个值。
遗传算法优化中,取样本个数为Size 30 ,交叉概率为P c0.60 ,采用自适应变异概率,即适应度越小,变异概率越大,取变异概率
P m0.0011S:i 1z :e0 .。
S0取i0z用1e于/优化的网络结构
16 1 ,网络权值
为
w j 0 , w ij取值范围为1, 1,共12 个参数需要优化。
BP 神经网络遗传算法优化程序包括 3 部分,即遗传算法优化程序GA1.m,BP网络监督控制子程序GA2.m,BP网络监督控制测试程序BP.m(当参数M2时采用优化后的参数)。
代价函数 J 的优化过程
优化后的BP 神经网络监督系统。