网站大量收购闲置独家精品文档,联系QQ:2885784924

基于遗传算法BP网络优化..doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
班级:控制5班 学号:2111504213 姓名:张睿 设计一个BP神经网络监督控制系统,被控对象为: 采样时间1ms,输入信号为方波信号,幅值0.5,频率2hz。设计一个BP神经网络监督控制系统,并采用遗传算法进行BP神经网络参数及权值的优化设计,并进行matlab仿真。需要说明控制系统结构,遗传算法优化BP网络的具体步骤,并对仿真结果做出分析。 解决过程及思路如下: 1 BP网络算法 以第p个样本为例,用于训练的BP网络结构如图1所示。 …...… …...….. .….. …… i j k 输入层 隐含层 输出层 … … … xk 图1 具有一个隐含层和输出层的BP神经网络结构 网络的学习算法如下: (1)信息的正向传播 隐含层神经元的输入为所有输入加权之和, 隐层神经元的输出采用S函数激发,则 输出层的神经元输出为 网络输出与理想输出误差为 误差性能指标函数为 上式的N表示网络输出层的个数。 (2)利用梯度下降法调整各层间权值的反向传播 对从第j个输入到第k个输出的权值有: 其中,为学习速率,。 K+1时刻网络权值为 对从第i个输入到第j个输出的权值有: 式中, t+1时刻网络权值为 BP网络的监督控制系统结构 设计的BP网络监督控制系统结构如图2所示。 图2 BP神经网络监督控制 在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-1 i=1 j=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。 5 MATLAB仿真结果 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 方波位置跟踪 图5 BP网络,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; for k=1:1:10

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档