23.ELman神经网络预测数据

这篇具有很好参考价值的文章主要介绍了23.ELman神经网络预测数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.简述

      学习目标:ELman神经网络预测数据

Elman网络介绍
神经网络是一个庞大的体系和概念,根据处理信息的不同方式来区分不同的network。比如根据处理信息结果的传递方向,分前馈型与反馈型。前馈型网络会根据输出数值来调整网络的参数,反馈型网络的输入会存在输入或者输出数值的反馈,可以对运算处理过程不断地进行优化。网络的反馈形式决定了网络的动态运算特点,递归神经网络ELMAN和前面所介绍的三层BP神经网络相比,增加了一个承接层,可以理解成延时算子,作用是让网络存在记忆功能,更好地适应数据输入的动态变化。

Elman结构组成

ELMAN的构造分为四层神经元:输入层、隐含层、承接层以及输出层(在使用智能算法优化ELMAN的参数时,理解ELMAN的结构将有所帮助)。

a). 输入层、输出层的神经元节点个数:
输入层的神经元数量与输入数据特征的维数是相等的,输出层的神经元节点数量也等同于输出数据标签的维度,这与BP神经网络一样。

b). 隐含层的神经元节点个数:
不管在BP还是ELMAN,或者其他的神经网络,隐含层的神经元个数都不是固定的。如果选择的隐含层神经元个数较少时,就会导致网络的学习程度减小甚至无法学习。节点个数较多时,则会导致网络训练的过程变慢,也很难得出预计的情况。只有当隐含层神经元数量只有控制在一个合理的范围内,才能使得网络模型好的进行学习运算。
通常的做法是根据以下公式来推出隐含层节点数目的范围,在范围之内根据训练误差最小(分类问题则取准确率最高或者误差率最低)的原则来确定最佳的隐含层节点数目。
 

c). 承接层的神经元节点个数:
承接层也叫做上下文层和状态层,主要功能是用来记忆隐含层上一个时间点的输出数值。所以承接层的神经元个数与隐含层相同,确定方法为:先根据训练误差最小确定最佳的隐含层神经元节点,再得到承接层的神经元节点个数。

建立ELMAN神经网络的步骤
1.读取数据
2. 划分训练集、测试集
3. 数据归一化
4. 获取输入层节点、输出层节点个数
5. 确定网络层与层之间的传递函数和训练算法
6. 构建最佳隐含层节点(承接层节点)的ELMAN神经网络
7. 训练网络
8. 网络测试
9. 对ELMAN的预测值与实际值进行误差分析
10. 打印预测结果和误差表格
 

2.代码

data=[0.4 0.5 0.5 0.45;0.5 0.56 0.54 0.45;0.4 0.5 0.5 0.45;0.5 0.56 0.54 0.45;0.5 0.56 0.54 0.45;0.4 0.5 0.5 0.75;0.5 0.46 0.54 0.45]
net=[];
for i=1:4
P=[data(1:3,i),data(2:4,i),data(3:5,i)];
T=[data(4,i),data(5,i),data(6,i)];
th1=[0,1;0,1;0,1];
th2=[0,1];
net{i}=newelm(th1,th2,[20,1]);
net{i}=init(net{i});
net{i}=train(net{i},P,T);
test_p{i}=data(4:6,i);
y(i)=sim(net{i},test_p{i});
end
fprintf('真实值:\n');
disp(data(7,:));
fprintf('预测值:\n');
disp(y);
fprintf('误差:\n');
disp((y-data(7,:))./y);

3.运行结果

23.ELman神经网络预测数据

 23.ELman神经网络预测数据

 23.ELman神经网络预测数据文章来源地址https://www.toymoban.com/news/detail-492519.html

到了这里,关于23.ELman神经网络预测数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python机器学习】决策树、K近邻、神经网络等模型对Kaggle房价预测实战(附源码和数据集)

    需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 超参数调优需要依靠试验的方法,以及人的经验。对算法本身的理解越深入,对实现算法的过程了解越详细,积累了越多的调优经验,就越能够快速准确地找到最合适的超参数 试验的方法,就是设置了一系列超参数之后

    2024年02月03日
    浏览(34)
  • 预测知识 | 神经网络、机器学习、深度学习

    神经网络 神经网络(neural network)是机器学习的一个重要分支,也是深度学习的核心算法。神经网络的名字和结构,源自人类的大脑构造,即神经网络是模拟生物学中神经元信号传输而形成的一种算法。 机器学习 在开展神经网络或深度学习研究前,需要理清人工智能(AI)、

    2024年02月13日
    浏览(30)
  • 神经网络是如何学习预测的?

    作为一名程序员,我们习惯于去了解所使用工具、中间件的底层原理,本文则旨在帮助大家了解 AI 模型的底层机制,让大家在学习或应用各种大模型时更加得心应手,更加适合没有 AI 基础的小伙伴们。 一、GPT 与神经网络的关系 GPT 想必大家已经耳熟能详,当我们与它进行对

    2024年04月15日
    浏览(19)
  • 【深度学习】——循环神经网络RNN及实例气温预测、单层lstm股票预测

           密集连接网络和卷积神经网络都有主要的特点,那就是它们没有记忆。它们单独处理每个输入,在输入和输入之间没有保存任何状态。举个例子:当你在阅读一个句子的时候,你需要记住之前的内容,我们才能动态的了解这个句子想表达的含义。生物智能已渐进的方

    2023年04月24日
    浏览(36)
  • 简述神经网络的优点和缺点,人工神经网络优缺点

    最小二乘法:通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。 其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达

    2024年02月06日
    浏览(41)
  • 基于蛙跳优化的神经网络数据预测matlab仿真

    目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序        通过蛙跳优化算法,优化神经网络的权值参数,然后使用优化后的神经网络模型对数据进行预测,输出预测曲线。 MATLAB2022a版本运行         基于蛙跳优化的神经网络数据预测

    2024年01月25日
    浏览(26)
  • 使用python里的神经网络进行数据分类预测

    在Python中使用神经网络进行数据分类预测,可以使用深度学习库如TensorFlow、Keras或PyTorch来实现。以下是使用Keras库的示例代码: Step 1: 准备数据 首先,准备用于训练和测试神经网络的数据集。将数据集分为输入特征和相应的目标类别。确保对数据进行适当处理和归一化。 S

    2024年02月16日
    浏览(28)
  • 使用matlab里的神经网络进行数据分类预测

    在MATLAB中使用神经网络进行数据分类预测,你可以按照以下步骤进行: Step 1: 准备数据 首先,准备用于训练和测试神经网络的数据。将数据集分为输入特征和相应的目标类别。确保数据已经进行了适当的预处理和标准化。 Step 2: 创建并训练神经网络模型 使用MATLAB的Neural Net

    2024年02月16日
    浏览(32)
  • 使用python里的神经网络进行数据回归预测

    在Python中使用神经网络进行数据回归预测,你可以使用深度学习库如TensorFlow、Keras或PyTorch来实现。以下是使用Keras库的示例代码: Step 1: 准备数据 首先,准备用于训练和测试神经网络的数据集。将数据集分为输入特征和相应的目标值。确保对数据进行适当处理和归一化。 S

    2024年02月17日
    浏览(30)
  • 计算机视觉学习笔记(二)---传统神经网络之波士顿房价预测

      本文承接pytorch学习笔记(一),以波士顿房价预测为例演示利用pytorch搭建一个简单的传统神经网络   数据集为波士顿房价数据,预测目标为MEDV(标签),其余变量均为特征。由于是csv格式可以直接采用pandas包下的read_csv读取   观察到在输入的数据中,有的特征普遍

    2024年02月04日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包