7.2.5 BP网络逼近仿真实例

参考书籍:《智能控制 - 第5版》刘金琨 编著 P117
##题目:使用BP网络逼近对象

采样时间取1ms。输入信号为u(k)=0.5sin(6πt)。神经网络结构为2-6-1结构,权值的初始值取[-1, +1]
之间的随机值,取学习速率xita=0.5,动量因子alpha=0.05.


MATLAB代码及其详细的注释为

%BP identification
clear all;
close all;%% 神经网络结构为 2-6-1xite=0.50;  %学习速率
alfa=0.05;  %动量因子%% 权值初始值取[-1,+1]之间的随机值w2=rands(6,1);   %w2为6*1的矩阵
w2_1=w2;w2_2=w2_1;   %隐含层到输出层权值初始化w1=rands(2,6);   %w1为2*6的矩阵
w1_1=w1;w1_2=w1;  %输入层到隐含层权值初始化dw1=0*w1; %dw1为2*6的零矩阵%% 输入输出初始化x=[0,0]';   %矩阵2*1,两个输入变量x1、x2u_1=0;   %上一个状态值
y_1=0;   %上一个状态值I=[0,0,0,0,0,0]'; %隐含层神经元输入
Iout=[0,0,0,0,0,0]'; %隐含层神经元输出
FI=[0,0,0,0,0,0]'; %% BP网络具体算法%时间范围为0~1秒,意味着权值更新1000次
ts=0.001;
for  k=1:1:1000time(k)=k*ts; %创建一个时间变量,标记每个时刻的值,方便后续绘图u(k)=0.50*sin(3*2*pi*k*ts); %输入变量1表达式(输入变量2为输出变量的上一个状态值)y(k)=u_1^3+y_1/(1+y_1^2);  %输出变量表达式% 前向传播:计算网络的输出for  j=1:1:6   % 隐含层神经元的输入为所有输入的加权之和I(j)=x'*w1(:,j); % 取w1(2*6)的第j列元素(2*1)% 隐含层神经元的输出Iout(j)采用s函数激发I(j),即x'(j)采用s函数激发x(j)获得Iout(j)=1/(1+exp(-I(j))); end   % 输出层神经元输出(即整个网络的输出)yn(k)=w2'*Iout;         % Output of NNI networks% 实际输出与理想输出之差e(k)=y(k)-yn(k);    % Error calculation% 反向传播:采用deta学习规则,调整各层间的权值%输出层与隐含层的连接权值w2(即w_jn)学习算法% w2==w_jn(k+1); w2_1==w_jn(k); w2_2==w_jn(k-1)w2=w2_1+(xite*e(k))*Iout+alfa*(w2_1-w2_2);  %式7.11%隐含层及输出层的连接权值w1(即w_ij)学习算法% FI(j)为 [x'(j)(1-x'(j))]for j=1:1:6FI(j)=exp(-I(j))/(1+exp(-I(j)))^2;endfor i=1:1:2for j=1:1:6dw1(i,j)=e(k)*xite*FI(j)*w2(j)*x(i);endend% w1==w_ij(k+1); w1_1==w_ij(k); w1_2==w_ij(k-1)w1=w1_1+dw1+alfa*(w1_1-w1_2);  %式7.12%%%%%%%%%%%%%%Jacobian%%%%%%%%%%%%%%%%% 输出对象对输入对象的敏感度,称为Jacobian信息,其值可由神经网络辨识而得yu=0;for j=1:1:6yu=yu+w2(j)*w1(1,j)*FI(j);enddyu(k)=yu;%更新输入变量x(1)=u(k);x(2)=y(k);%更新权值w1_2=w1_1;w1_1=w1;w2_2=w2_1;w2_1=w2;%更新上一个状态u_1=u(k);y_1=y(k);
end%% 画图figure(1);
plot(time,y,'r',time,yn,'b');
xlabel('times');ylabel('y and yn');
figure(2);
plot(time,y-yn,'r');
xlabel('times');ylabel('error');
figure(3);
plot(time,dyu);
xlabel('times');ylabel('dyu');

BP网络逼近仿真实例相关推荐

  1. BP网络逼近仿真实例详解

    BP网络逼近仿真实例详解 题目 解题思路 代码 运行结果 代码详解 题目 使用BP网络逼近对象 采样时间取1ms.输入信号为u(k) = 0.5sin(6πt).神经网络为2-6-1结构,权值为W_1 ...

  2. 【啃书】《智能优化算法及其MATLAB实例》例9.3运用BP网络预测数据

    文章目录 问题描述 仿真过程 matlab源码 问题描述 仿真过程 matlab源码 %20201104lu注:该代码在matlab2019b成功运行,运行会提醒该代码使用的函数老旧 %%%%%%%% ...

  3. matlab bp归一化,bp网络样本归一化处理

    我贴出来吧 归一化化定义:我是这样认为的,归一化化就是要把你需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内.首先归一化是为了后面数据处理的方便,其次是保正程序运行时收敛加快. 在ma ...

  4. 【遗传优化BP网络】基于自适应遗传算法的BP神经网络的股票预测MATLAB仿真

    1.软件版本 MATLAB2021a 2.本算法理论知识 通过MATLAB对BP神经网络,基于遗传优化的BP神经网络,基于改进遗传优化的BP神经网络以及基于改进遗传优化的组合BP神经网络等多种算法的股 ...

  5. BP神经网络简单应用实例,bp神经网络的设计方法

    需要把MATLAB中的BP神经网络工具箱与自己的一个软件项目结合 这个就是C++与matlab混合编程.但是神经网络工具箱比较特别,它反盗用比较严厉.采用传统的混编方式,可以调用matlab自己的函数 ...

  6. 使用BP网络逼近函数-matlab

    一.大致介绍 BP算法的学习过程是由正向传播和反向传播组成的.在正向传播的过程中,输入的信息从输入层到隐含层处理 最后传向输出层,而且每一个神经元只能影响到下一层神经元的状态.当在输出层得不到期望的输 ...

  7. bp神经网络数据预测实例,bp神经网络实例分析

    BP人工神经网络方法 (一)方法原理人工神经网络是由大量的类似人脑神经元的简单处理单元广泛地相互连接而成的复杂的网络系统.理论和实践表明,在信息处理方面,神经网络方法比传统模式识别方法更具有优势. 人 ...

  8. 基于遗传算法的BP神经网络齿轮箱故障诊断实例

    一.BP神经网络概述 BP网络是一类多层的前馈神经网络.它的名字源于在网络训练的过程中,调整网络的权值的算法是误差的反向传播的学习算法,即为BP学习算法.BP算法是 Rumelhart等人在1986年 ...

  9. RBF网络逼近算法(matlab)——S-Function函数实现

    RBF网络原理 RBF网络原理同BP网络类似,具体原理及公式推导下次更新,这里先简单说明. 不同的是RBF网络的激活函数使用的是高斯基函数(其值在输入空间中有限范围 为非零值),而不是Sigmoid函 ...

最新文章

  1. java中多线程的实现方式
  2. Linux下快捷键使用
  3. [译]React高级话题之Context
  4. JAX-RS Bean验证错误消息国际化
  5. VB2005.Net 环境下使用Jmail组件发送邮件
  6. 飞秋官方下载 访问我博客也有近一半的用户
  7. Maven_Build_Resources
  8. python3.7运行报错_Python 3.7 环境下运行 scrapy crawl 报错 def write(self, data, async=False)?...
  9. 金属100寸“电视”却无屏,语音识别+DTS+1080P,微鲸M1测评
  10. Dart之字符串(String)的相关方法总结
  11. Google earth
  12. 《区块链技术与应用》公开课系列笔记——目录导航页
  13. 网课答案免费搜题入口
  14. hdf5 matlab,hdf5格式的matlab读写操作
  15. WAP 2.0 VS WEB 2.0
  16. 牛客小白月赛10 A,B,C,D
  17. 手机备忘录怎么设置提醒 备忘录提醒设置方法
  18. Unity Live2D的接入和使用
  19. 煤炭行业:供给短缺周期开启(20201231).PDF
  20. 如何设置网络访问 SQL Express?

热门文章

  1. mysql-dnslog注入
  2. OData与SAP Annotation
  3. Java反射:使用Annotation功能
  4. 豪情-关于生活工作学习之感悟-第二篇
  5. 【随笔闲谈】Windows命令行常用命令
  6. 字节跳动青训营--前端day8
  7. 大数据Spark Structured Streaming
  8. Web(二)html5基础-表格高级样式的设置
  9. PCR主成分回归预测MATLAB代码 代码注释清楚。 main为主程序,读取EXCEL数据,也可以换自己数据集
  10. Android玩乐系列:修改汇编代码支持原生高清来电大头贴(三)