基于Elman神经网络预测计费系统的输出(Matlab代码实现)

Posted 我爱Matlab编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Elman神经网络预测计费系统的输出(Matlab代码实现)相关的知识,希望对你有一定的参考价值。

    目录

💥1 概述

📚2 运行结果

🎉3 参考文献

👨‍💻4 Matlab代码

💥1 概述

  简单循环网络(simple recurrent networks,简称SRN)又称为Elman network,是由Jeff Elman在1990年提出来的。Elman在Jordan network(1986)的基础上进行了创新,并且简化了它的结构,最终提出了Elman network。

Elman network就是指现在一般说的RNN(包括LSTM、GRU等等)。一个recurrent层的输出经过时延后作为下一时刻这一层的输入的一部分,然后recurrent层的输出同时送到网络后续的层,比如最终的输入层。一个Jordan network说的是直接把整个网络最终的输出(i.e. 输出层的输出)经过时延后反馈回网络的输入层,所以Jordan network的整个网络的所有层都是recurrent的。

Elman network和Jordan network通常被统称为Simple recurrent network。可能是因为Elman network里相对独立的recurrent使用起来比较灵活(比如可以用作单独的层做不同类型层的堆叠等组合;同时Jordan network在网络输出层很大的时候可能需要降维来方便输入层接受前一时间的输出),所以Elman network现在基本上是主流,以至于大家都直接叫它RNN而非它本来的名字。

📚2 运行结果

主函数部分代码:

y(1)=0.1;  % Initial conditions 

y(2)=0.1;

index=1;% Variable for plotting test data

sw=2; % Variable to switch between random and nearly best initial 

   % conditions for weights (sw=1 for random, sw=2 for nearly best)

nnu = 1;  % Input layer

nnx = 6;  % Hidden layer

nny = 1;  % Output layer

training_set_size=900;   % Training data(First 900 elements of 

              % Billings System)

test_set_size =training_set_size+40; % Test data

iteration=1;

momentum=0.65;

if sw==1

  n=0.029; % Learning rate

  weights_u = randn(nnx,nnu); % Initial conditions for weights

  weights_x = randn(nnx,nnx);

  weights_y = randn(nny,nnx);

end

🎉3 参考文献

​[1]林春燕,朱东华.基于Elman神经网络的股票价格预测研究[J].计算机应用,2006(02):476-477+484.

以上是关于基于Elman神经网络预测计费系统的输出(Matlab代码实现)的主要内容,如果未能解决你的问题,请参考以下文章

ELMAN预测基于ELMAN动态递归神经网络实现数据预测matlab源码

精彩论文基于PSO-Elman神经网络的燃煤机组受热面清洁状态预测

ELMAN预测基于粒子群算法改进ELMAN动态递归神经网络实现数据预测matlab源码

ELMAN预测基于粒子群算法改进ELMAN动态递归神经网络实现数据预测matlab源码

ELMAN预测基于布谷鸟算法改进ELMAN动态递归神经网络实现数据预测matlab源码

ELMAN预测基于布谷鸟算法改进ELMAN动态递归神经网络实现数据预测matlab源码