《MATLAB 神经网络43个案例分析》:第23章 Elman神经网络的数据预测----电力负荷预测模型研究

  • 1. 前言
  • 2. MATLAB 仿真示例
  • 3. 小结

1. 前言

《MATLAB 神经网络43个案例分析》是MATLAB技术论坛(www.matlabsky.com)策划,由王小川老师主导,2013年北京航空航天大学出版社出版的关于MATLAB为工具的一本MATLAB实例教学书籍,是在《MATLAB神经网络30个案例分析》的基础上修改、补充而成的,秉承着“理论讲解—案例分析—应用扩展”这一特色,帮助读者更加直观、生动地学习神经网络。

《MATLAB神经网络43个案例分析》共有43章,内容涵盖常见的神经网络(BP、RBF、SOM、Hopfield、Elman、LVQ、Kohonen、GRNN、NARX等)以及相关智能算法(SVM、决策树、随机森林、极限学习机等)。同时,部分章节也涉及了常见的优化算法(遗传算法、蚁群算法等)与神经网络的结合问题。此外,《MATLAB神经网络43个案例分析》还介绍了MATLAB R2012b中神经网络工具箱的新增功能与特性,如神经网络并行计算、定制神经网络、神经网络高效编程等。

近年来随着人工智能研究的兴起,神经网络这个相关方向也迎来了又一阵研究热潮,由于其在信号处理领域中的不俗表现,神经网络方法也在不断深入应用到语音和图像方向的各种应用当中,本文结合书中案例,对其进行仿真实现,也算是进行一次重新学习,希望可以温故知新,加强并提升自己对神经网络这一方法在各领域中应用的理解与实践。自己正好在多抓鱼上入手了这本书,下面开始进行仿真示例,主要以介绍各章节中源码应用示例为主,本文主要基于MATLAB2015b(32位)平台仿真实现,这是本书第二十三章Elman神经网络的数据预测实例,话不多说,开始!

2. MATLAB 仿真示例

打开MATLAB,点击“主页”,点击“打开”,找到示例文件

选中chapter23.m,点击“打开”

chapter23.m源码如下:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%功能:基于Elman神经网络的电力负荷预测模型研究
%环境:Win7,Matlab2015b
%Modi: C.S
%时间:2022-06-18
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Matlab神经网络43个案例分析% 基于Elman神经网络的电力负荷预测模型研究
% by 王小川(@王小川_matlab)
% http://www.matlabsky.com
% Email:sina363@163.com
% http://weibo.com/hgsz2003%% 清空环境变量clc;
clear all
close all
nntwarn off;%% 数据载入
tic
load data;
a=data;%% 选取训练数据和测试数据for i=1:6p(i,:)=[a(i,:),a(i+1,:),a(i+2,:)];
end
% 训练数据输入
p_train=p(1:5,:);
% 训练数据输出
t_train=a(4:8,:);
% 测试数据输入
p_test=p(6,:);
% 测试数据输出
t_test=a(9,:);% 为适应网络结构 做转置p_train=p_train';
t_train=t_train';
p_test=p_test';%% 网络的建立和训练
% 利用循环,设置不同的隐藏层神经元个数
nn=[7 11 14 18];
for i=1:4threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1];% 建立Elman神经网络 隐藏层为nn(i)个神经元net=newelm(threshold,[nn(i),3],{'tansig','purelin'});% 设置网络训练参数net.trainparam.epochs=1000;net.trainparam.show=20;% 初始化网络net=init(net);% Elman网络训练net=train(net,p_train,t_train);% 预测数据y=sim(net,p_test);% 计算误差error(i,:)=y'-t_test;
end%% 通过作图 观察不同隐藏层神经元个数时,网络的预测效果plot(1:1:3,error(1,:),'-ro','linewidth',2);
hold on;
plot(1:1:3,error(2,:),'b:x','linewidth',2);
hold on;
plot(1:1:3,error(3,:),'k-.s','linewidth',2);
hold on;
plot(1:1:3,error(4,:),'c--d','linewidth',2);
title('Elman预测误差图')
set(gca,'Xtick',[1:3])
legend('7','11','14','18','location','best')
xlabel('时间点')
ylabel('误差')
hold off;
toc

添加完毕,点击“运行”,开始仿真,输出仿真结果如下:


依次点击Performance,Training State可得以下视图


原工程仿真视图如下:

3. 小结

Elman神经网络是 J. L. Elman于1990年首先针对语音处理问题而提出来的,是一种典型的局部回归网络( global feed forward local recurrent)。它可以看作是一个具有局部记忆单元和局部反馈连接的递归神经网络。它的主要结构是前馈连接, 包括输入层、 隐含层、 输出层, 其连接权可以进行学习修正;反馈连接由一组“结构 ” 单元构成,用来记忆前一时刻的输出值, 其连接权值是固定的。在这种网络中, 除了普通的隐含层外, 还有一个特别的隐含层,称为关联层 (或联系单元层 ) ;该层从隐含层接收反馈信号, 每一个隐含层节点都有一个与之对应的关联层节点连接。关联层的作用是通过联接记忆将上一个时刻的隐层状态连同当前时刻的网络输入一起作为隐层的输入, 相当于状态反馈。隐层的传递函数仍为某种非线性函数, 一般为 Sigmoid函数, 输出层为线性函数, 关联层也为线性函数。对本章内容感兴趣或者想充分学习了解的,建议去研习书中第二十三章节的内容。后期会对其中一些知识点在自己理解的基础上进行补充,欢迎大家一起学习交流。

《MATLAB 神经网络43个案例分析》:第23章 Elman神经网络的数据预测----电力负荷预测模型研究相关推荐

  1. 神经网络预测模型算法_MATLAB Elman神经网络的数据预测—电力负荷预测模型研究...

    点击上方蓝字关注"公众号" MATLAB  Elman神经网络的数据预测-电力负荷预测模型研究 负荷预测的核心问题是预测的技术问题,或者说是预测的数学模型. 传统的数学模型是用显示 ...

  2. MATLAB神经网络43个案例分析

    AI 菌 链接:http://pan.baidu.com/s/1o79BrPg 密码:5cpx 内容简介 读者调用案例的时候,只要把案例中的数据换成自己需要处理的数据,即可实现自己想要的网络.如果在实 ...

  3. 《MATLAB 神经网络43个案例分析》:第25章 基于MIV的神经网络变量筛选----基于BP神经网络的变量筛选

    <MATLAB 神经网络43个案例分析>:第25章 基于MIV的神经网络变量筛选----基于BP神经网络的变量筛选 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 < ...

  4. 《MATLAB 神经网络43个案例分析》:第34章 广义神经网络的聚类算法——网络入侵聚类

    <MATLAB 神经网络43个案例分析>:第34章 广义神经网络的聚类算法--网络入侵聚类 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB 神经网络 ...

  5. 《MATLAB 神经网络43个案例分析》:第5章 基于BP_Adaboost的强分类器设计——公司财务预警建模

    <MATLAB 神经网络43个案例分析>:第5章 基于BP_Adaboost的强分类器设计--公司财务预警建模 1. 前言 2. MATLAB 仿真示例一 3. MATLAB 仿真示例二 ...

  6. 《MATLAB 神经网络43个案例分析》:第32章 小波神经网络的时间序列预测——短时交通流量预测

    <MATLAB 神经网络43个案例分析>:第32章 小波神经网络的时间序列预测--短时交通流量预测 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB ...

  7. 《MATLAB 神经网络43个案例分析》:第33章 模糊神经网络的预测算法——嘉陵江水质评价

    <MATLAB 神经网络43个案例分析>:第33章 模糊神经网络的预测算法--嘉陵江水质评价 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB 神经网 ...

  8. 《MATLAB 神经网络43个案例分析》:第4章 神经网络遗传算法函数极值寻优——非线性函数极值寻优

    <MATLAB 神经网络43个案例分析>:第4章 神经网络遗传算法函数极值寻优--非线性函数极值寻优 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB ...

  9. 《MATLAB 神经网络43个案例分析》:第3章 遗传算法优化BP神经网络——非线性函数拟合

    <MATLAB 神经网络43个案例分析>:第3章 遗传算法优化BP神经网络--非线性函数拟合 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB 神经网 ...

  10. 《MATLAB 神经网络43个案例分析》:第19章 基于SVM的手写字体识别

    <MATLAB 神经网络43个案例分析>:第19章 基于SVM的手写字体识别 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB 神经网络43个案例分析 ...

最新文章

  1. 你所了解的python岗位有哪些_Python是最火语言之一,那么他适合做哪些岗位?Python最全岗位!...
  2. Apache开启GZIP压缩功能方法
  3. Flink分布式standalone部署方式(第一种方式)
  4. Jeecg入门篇,高手掠过
  5. 设计一个笔记本电脑类,属性随意,并且进行属性私有化,对外提供公开的set和get方法。 设计一个可插拔的接口:InsertDrawable,该接口有什么方法自行定义。
  6. python程序如何执行死刑_「Python基础知识」Python生成器函数
  7. oracle导入的表在哪,oracle导入导出表及表结构
  8. [置顶] 【cocos2d-x入门实战】微信飞机大战之三:飞机要起飞了
  9. Franka Emika机械臂快速入门教程
  10. mysql的 case用法_Mysql casewhen的三种用法
  11. Apple ID Your Account Cannot Be Created at This Time
  12. word中如何删除某符号前面或后面所有的文字
  13. wordpress 上传图片时提示“无法建立目录wp-content/uploads/2019/03。有没有上级目录的写权限?
  14. 《小石潭记》古文鉴赏
  15. VAF:Variant Allel Frequency简介
  16. Wrong JPEG library version: library is 80, caller expects 62 解决办法
  17. anaconda使用和入门
  18. 毕业答辩的PPT攻略
  19. 以『公众号』为例,手把手教你爬取PC端数据
  20. 世界一流企业,谁不是靠模仿起家的?

热门文章

  1. C语言的体系结构--main函数存在的必然性(听杨力祥老师的课)
  2. 软件项目管理工具介绍
  3. 快手视频批量下载,一个脚本就够了,手把手教你批量下载快手高清视频。
  4. Python面试必备!最全面的重点知识汇总,建议收藏!
  5. Ubuntu修改hosts文件
  6. GNS3专用 Cisco IOS下载
  7. c语言食堂饭卡管理课程设计,第十一章 C语言课程设计—饭卡管理程序.docx
  8. Python3 | UserWarning: findfont: Font family [‘SimHei‘] not found. Falling back to DejaVu Sans.
  9. Android Theme.AppCompat 和 ThemeOverlay.AppCompat
  10. 移动端证件识别OCR