智能控制例题详解.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.利用一个三输入两输出的两层BP神经网络训练一个输入为[1;-1;1],期望输出为[1;1]的神经网络系统。假设激活函数取为: clc clear all %BP网络的第一阶段学习期 %初始化 lr=10; %学习速率 err_goal=0.0000001;%期望误差最小值 max_epoch=100000;%最大训练次数 a=0.7;%惯性系数 Oi=0;Ok=0;%隐含层和输出层各神经元输出初值为零 %提供训练集和目标值 X=[1;-1;1]; D=[1;1]; %初始化权重 m=3;q=8;l=2; %m为输入节点j的数量,q为隐含层节点i的数量,l为输出节点k的数量 wij=rand(q,m);%随机产生一个在(0 1)之前的q.m维矩阵 wki=rand(l,q);%随机产生一个在(0 1)之前的l.q维矩阵 wij0=zeros(size(wij));%返回同wij矩阵相同维度的数组wij0,并且每个元素被初始化为0。 wki0=zeros(size(wki));%返回同wki矩阵相同维度的数组wki0,并且每个元素被初始化为0。 for epoch=1:max_epoch %计算隐含层各神经元输出 neti=wij*X; for j=1:1 for i=1:q Oi(i,j)=2/(1+exp(-neti(i,j)))-1; end end %计算输出层各神经元输出 netk=wki*Oi; for i=1:1 for k=1:l Ok(k,i)=2/(1+exp(-netk(k,i)))-1; end end %计算误差函数 E=(D-Ok)*(D-Ok)/2; if(Eerr_goal) break end %调整输出层加权系数 deltak=Ok.*(1-Ok).*(D-Ok); w=wki; wki=wki+lr*deltak*Oi+a*(wki-wki0); wki0=w; %调整隐含层加权系数 deltai=Oi.*(1-Oi).*(deltak*wki); w=wij; wij=wij+lr*deltai*X+a*(wij-wij0); wij0=w; end %显示计算次数 epoch E %BP网络地第二阶段工作期 X1=X; %计算隐含层各神经元输出 neti=wij*X1; for j=1:1 for i=1:q Oi(i,j)=2/(1+exp(-neti(i,j)))-1; end end %计算输出层各神经元输出 netk=wki*Oi; for i=1:1 for k=1:l Ok(k,i)=2/(1+exp(-netk(k,i)))-1; end end %显示结果 Ok epoch = 3 E = 2.2905e-011 Ok = 1.0000 1.0000 2.将BP网络高度抽象成一个神经元, nntwarn off %临时关闭神经网络工具箱的警告功能 p=[-3.0 2.0];%输入向量 d=[0.4 0.8];%期望的输出值 [w,b]=initff(p,d,logsig);%w为权值 b为阈值,初试化不超过三层的前向神经网络 df=10;%显示间隔 max_epoch=1000;%给定训练最大步数 err_goal=0.0001;%给定期望误差最小值 lr=1;%设定修正权值的学习速率为1 tp=[df max_epoch err_goal lr];%训练控制参数 [w,b,epoch,tr]=trainbp(w,b,logsig,p,d,tp);%epoch为训练步数,基于梯度下降的训练方法 ploterr(tr,err_goal)%tr为网络训练误差平方和的行向量,绘制误差曲线 pause p=-3.0; a=simuff(p,w,b,logsig)%测试网络输出,仿真函数 TRAINBP: 0/1000 epochs, SSE = 0.103917. TRAINBP: 10/1000 epochs, SSE = 0.0198673. TRAINBP: 20/1000 epochs, SSE = 0.0164732. TRAINBP: 30/1000 epochs, SSE = 0.0125821. TRAINBP: 40/1000 epochs, SSE = 0.0085481. TRAINBP: 50/1000 epochs, SSE = 0 TRAINBP: 60/1000 epochs, SSE = 0 TRAINBP: 70/1000 e

文档评论(0)

琼瑶文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档