7反馈神经网络分析与应用_第1页
7反馈神经网络分析与应用_第2页
7反馈神经网络分析与应用_第3页
7反馈神经网络分析与应用_第4页
7反馈神经网络分析与应用_第5页
已阅读5页,还剩16页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章反馈神经网络分析与应用

反馈型神经网络(RecurrentNetwork),也称为递归网络或回归网络,其输入包含有延迟的输入或者输出数据的反馈。这种系统的学习过程就是它的神经元状态的变化过程,最终会达到一个神经元状态不变的稳定态,也标志着学习过程结束。反馈网络的反馈形式多样化,有输入延迟的、单层输出反馈的、神经元自反馈的、两层之间互相反馈的等。典型的反馈神经网络有:Elman网络,Hopfield网络,CG网络模型,盒中脑(BSB)模型和双向联想记忆(BAM)等,本章主要对Elman网络、Hopfield网络这两种网络进行介绍。7.1静态与反馈网络【例7-1】静态网络和反馈网络对同一个输入序列的不同响应。>>clearall%输入的序列p={00011100000};%画出序列图stem(cell2mat(p));序列图如图7-1所示。接下来,创建一个静态网络,并且得出这个静态网络对该序列的响应。用下面的命令创建一个单层,单神经元,没有偏置值,权重为2线性网络。

图7-1输入序列图

>>clearall;%创建一个单层的线性网络net=newlin([-11],1);%偏置值为零net.biasConnect=0;%权值为2net.iw{1,1}=2;用上面创建的线性网络仿真输入序列,并画出序列图,如图7-2所示。%网络仿真A=sim(net,p);%画出序列图stem(cell2mat(A));

图7-2静态网络输出序列图

现在考虑一个输入中包括输出反馈的网络,即层反馈的网络。可以利用MATLAB提供的newnarx函数用于创建反馈网络。%创建单层、单神经元、输出层延迟为1的层反馈网络net=newnarx([-11],0,1,1{'purelin'});%偏置为0,输出层权重为0.5,输入层权重为1net.biasConnect=0;net.lw{1}=0.5;net.iw{1}=1;%对输入序列仿真A=sim(net,p);stem(cell2mat(A))%效果如图7-4所示

图7-4层反馈的反馈网络输入序列图7.2Elman神经网络【例7-3】本例用Elman神经网络预测股价,原始资料是某股票连续280天的股价表。采用前140期股价作为训练样本,其中每连续5天的价格作为训练输入,第6天的价格作为对应的期望输出。>>clearall;%清除工作空间中的所有变量%加载数据loadstock1%股价的数据存储于stock1.mat文件中plot(1:280,stock1);%效果如图7-9所示股票涨落情况xlabel('日期');ylabel('股价');

图7-9股票涨落情况

实例中采用newelm函数创建Elman网络,并设置迭代次数为1000次,为了取得较好的效果,训练前对数据做归一化处理,最后,用训练数据本身做测试。实现的脚本代码为:>>%清理clearall;%加载数据loadstock1%归一化处理mi=min(stock1);ma=max(stock1);stock1=(stock1-mi)/(ma-mi);%划分训练数据与测试数据:前140个维训练样本,后140个维测试样本traindata=stock1(1:140);%训练P=[];fori=1:140-5P=[P;traindata(i:i+4)];endP=P';T=[traindata(6:140)];%期望输出%创建Elman网络......

图7-10训练状态图7-11测试效果

此处的训练数据取自原始数据中的前140期,后140期则作为测试。训练好的网络保存在stock3.mat文件中,实现代码为:>>clearall;%清除工作空间变量%加载数据loadstock3%前面保存的训练好的Elman网络loadstock1%归一化处理mi=min(stock1);ma=max(stock1);testdata=stock1(141:280);testdata=(testdata-mi)/(ma-mi);%用后140期数据做测试Pt=[];fori=1:135Pt=[Pt;testdata(i:i+4)];endPt=Pt';%测试Yt=sim(net,Pt);%根据归一化公式将预测数据还原成股票价格......

图7-12预测效果7.4连续型Hopfield神经网络实现能量函数的代码为:%%计算能量函数functionE=energy(V,d)globalADn=size(V,1);sum_x=sumsqr(sum(V,2)-1);sum_i=sumsqr(sum(V,1)-1);V_temp=V(:,2:n);V_temp=[V_tempV(:,1)];sum_d=d*V_temp;sum_d=sum(sum(V.*sum_d));E=0.5*(A*sum_x+A*sum_i+D*sum_d);Hopfield网络动态方程为实现动态方程函数的代码为:%%计算dufunctiondu=diff_u(V,d)globalADn=size(V,1);sum_x=repmat(sum(V,2)-1,1,n);......

4.优化计算当Hopfield网络的结构和参数确定后,迭代优化计算的过程就变得十分简单。本题的实现代码为:clearall%清空环境变量globalAD%定义全局变量%%导入城市位置loadcity_location%%计算相互城市间距离distance=dist(citys,citys');%%初始化网络N=size(citys,1);A=200;D=100;U0=0.1;step=0.0001;delta=2*rand(N,N)-1;U=U0*log(N-1)+delta;V=(1+tansig(U/U0))/2;iter_num=10000;E=zeros(1,iter_num);%%寻优迭代...,,,

图7-15随机产生的初始路径

由图7-15可知,随机产生的路径为8→6→1→7→9→4→2→10→3→5,其长度为5.4221。经过连续型Hopfield网络优化后,查找到的优化路径如图7-16所示,优化路径具体为4→9→6→5→3→2→1→7→8→10,其长度为3.0383。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论