BP神经网络监督控制系统设计Word下载.doc
- 文档编号:13065466
- 上传时间:2022-10-04
- 格式:DOC
- 页数:13
- 大小:173KB
BP神经网络监督控制系统设计Word下载.doc
《BP神经网络监督控制系统设计Word下载.doc》由会员分享,可在线阅读,更多相关《BP神经网络监督控制系统设计Word下载.doc(13页珍藏版)》请在冰豆网上搜索。
xk
图1具有一个隐含层和输出层的BP神经网络结构
网络的学习算法如下:
(1)信息的正向传播
隐含层神经元的输入为所有输入加权之和,
隐层神经元的输出采用S函数激发,则
输出层的神经元输出为
网络输出与理想输出误差为
误差性能指标函数为
上式的N表示网络输出层的个数。
(2)利用梯度下降法调整各层间权值的反向传播
对从第j个输入到第k个输出的权值有:
其中,为学习速率,。
K+1时刻网络权值为
对从第i个输入到第j个输出的权值有:
式中,
t+1时刻网络权值为
2.BP网络的监督控制系统结构
设计的BP网络监督控制系统结构如图2所示。
图2BP神经网络监督控制
在BP网络结构中,取网络的输入为r(k),实际输出为y(k),PID控制输出为up(k),隐层神经元的输出采用S函数激发,
网络的权向量为W1,W2
BP的网络输出为
控制律为
u(k)=up(k)+yn(k)
采用梯度下降法调整网络的权值为
神经网络权值的调整过程为
3.遗传算法对BP网络权值的优化过程
(1)取逼近总步骤为:
N=100
(2)终止代数:
G=80
(3)样本个数:
Size=30
(4)交叉概率:
Pc=0.70
(5)二进制编码长度:
Godel=10
(6)变异概率:
Pm=0.001-[1:
1:
Size]*0.001/Size
(7)用于优化的BP网络结构为:
1-4-1i=1j=1,2,3,4
(8)网络权值W1的取值范围为:
[-1,+1]
(9)网络权值W2的取值范围为:
[-0.5,+0.5]
(10)取BP网络误差绝对值为参数选择的最小目标函数:
式中,N为逼近的总步骤,ee(i)为第i步BP网络逼近误差。
(11)需要优化参数为:
4遗传算法优化BP网络权值的步骤
(1)初始化种群;
(2)计算其适应值,保留最优个体,判断是否达到最优解;
(3)交叉、变异产生新个体;
(4)重新计算种群中每个个体的适应值并保留最优个体;
(5)交叉、变异前后的种群放在一起进行二人竞赛选择法,直到填满新的种群;
(6)转2)直到找到最优解BestJ。
5MATLAB仿真结果
BP监督网络遗传算法优化程序包括3部分,即遗传算法优化程序ga_bp.m,BP网络逼近函数程序bp_a和BP网络逼近测试程序bp_test。
输入信号为r(t)=0.5*sign(sin(2*2*pi*k*ts)采样时间ts=0.001s,η=0.30,a=0.05,kp=1,kd=1.
经遗传算法优化后,对象p的值为
P=[-0.2160,0.7576,0.5230,0.9863,-0.0714,0.2551,0.6911,-0.3627,0.2146,0.3338,-0.0875,-0.0582]
仿真结果图:
图3代价函数J的优化过程
图4方波位置跟踪
图5BP网络,PD及总控制器输出的比较以及误差曲线
结论:
采用遗专算法可以实现BP网络参数初始值的优化,节约计算量。
并由仿真结果可知,其误差大部分趋于0,但局部有三个地区的误差比较大,产生原因可能与遗传算法的运行参数有关。
代码:
1、bp_a.m
function[p,BsJ]=rbf_gaf(p,BsJ)
ts=0.001;
alfa=0.05;
xite=0.30;
sys=tf(1000,[1,87.35,10470]);
dsys=c2d(sys,ts,'
z'
);
[num,den]=tfdata(dsys,'
v'
y_1=0;
y_2=0;
u_1=0;
u_2=0;
e_1=0;
xi=0;
x=[0,0]'
;
I=[0,0,0,0]'
Iout=[0,0,0,0]'
FI=[0,0,0,0]'
kp=25;
kd=0.3;
w1=[p
(1),p
(2),p(3),p(4);
p(5),p(6),p(7),p(8)];
w1_1=w1;
w1_2=w1;
w2=[p(9);
p(10);
p(11);
p(12)];
w2_1=w2;
w2_2=w2_1;
fork=1:
1000
timef(k)=k*ts;
Y=1;
ifY==1
r(k)=0.5*sign(sin(2*2*pi*k*ts));
%SquareSignal
elseifY==2
r(k)=0.5*(sin(3*2*pi*k*ts));
%SquareSignal
end
y(k)=-den
(2)*y_1-den(3)*y_2+num
(2)*u_1+num(3)*u_2;
e(k)=r(k)-y(k);
xi=r(k);
forj=1:
4
I(j)=x'
*w1(:
j);
Iout(j)=1/(1+exp(-I(j)));
end
yn(k)=w2'
*Iout;
%OutputofNNInetworks
%PDController
up(k)=kp*x
(1)+kd*x
(2);
M=2;
ifM==1%OnlyUsingPIDControl
u(k)=up(k);
elseifM==2%Totalcontroloutput
u(k)=up(k)+yn(k);
ifu(k)>
=10
u(k)=10;
ifu(k)<
=-10
u(k)=-10;
ifk==400
u(k)=u(k)+5.0;
%UpdateNNWeight
ee(k)=u(k)-yn(k);
w2=w2_1+(xite*ee(k))*Iout+alfa*(w2_1-w2_2);
forj=1:
4
FI(j)=exp(-I(j))/(1+exp(-I(j)))^2;
dw1=0*w1;
fori=1:
2
forj=1:
dw1(i,j)=ee(k)*xite*FI(j)*w2(j)*x(i);
end
w1=w1_1+dw1+alfa*(w1_1-w1_2);
w1_2=w1_1;
u_2=u_1;
u_1=u(k);
y_2=y_1;
y_1=y(k);
x
(1)=e(k);
%CalculatingP
x
(2)=(e(k)-e_1)/0.05;
%CalculatingD
e_1=e(k);
B=0;
fori=1:
100
Ji(i)=abs(ee(i));
B=B+50*Ji(i);
BsJ=B;
2、bp_test.m
clearall;
closeall;
loadpfile;
N=1;
ifN==1
elseifN==2
w1=rand(2,4);
w2=rand(1,4);
end
time(k)=k*ts;
Y=1;
4
u(k)=u(k)+6.0;
%Ca
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BP 神经网络 监督 控制系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)