回声状态网络ESN

该博客介绍了如何使用回声状态网络(ESN)进行时间序列预测。通过加载数据集,将数据划分为训练集和测试集,然后初始化网络权重,计算隐藏层状态,并利用逆矩阵求解输出权重。在训练集上计算RMSE为32.9144,在测试集上的RMSE为19.0914,展示了ESN在时间序列预测中的应用。
摘要由CSDN通过智能技术生成

dataset = csvread('D:\matlab2016a\data.csv');
x = dataset(:,1:3);
y = dataset(:,4);

x_train = x(1:145,:);
y_train = y(1:145);
x_test = x(146:end,:);
y_test = y(146:end);

[samples,inputnum] = size(x_train);
hiddennum = 10;
outputnum = 1;

w_in = rand(hiddennum,inputnum);
w_state = rand(hiddennum,hiddennum);
w_back = rand(hiddennum,outputnum);

s(1,:) = zeros(1,hiddennum);
for i = 1:samples
    s(i+1,:) = tanh(w_in*x_train(i,:)'+w_state*s(i,:)'+w_back*y_train(i));
end
s = s(2:end,:);
w_out = (inv(s'*s)*s'*y_train)';

for i = 1:samples
    predict_train(i) = w_out*s(i,:)';
end

train_RMSE = sqrt((sum(predict_train-

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值