基于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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值