1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/ZJeZlpts
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
LSTM是一种含有LSTM区块(blocks)或其他的一种类神经网络,文献或其他资料中LSTM区块可能被描述成智能网络单元,因为它可以记忆不定时间长度的数值,区块中有一个gate能够决定input是否重要到能被记住及能不能被输出output。图1底下是四个S函数单元,最左边函数依情况可能成为区块的input,右边三个会经过gate决定input是否能传入区块,左边第二个为input gate,如果这里产出近似于零,将把这里的值挡住,不会进到下一层。左边第三个是forget gate,当这产生值近似于零,将把区块里记住的值忘掉。第四个也就是最右边的input为output gate,他可以决定在区块记忆中的input是否能输出 。
4.部分源码
.........................................................
for i=1:Iter
i
for j=1:Npeop
if fitness(x1(j,:))<pbest1(j)
p1(j,:) = x1(j,:);%变量
pbest1(j) = fitness(x1(j,:));
end
if pbest1(j)<gbest1
g1 = p1(j,:);%变量
gbest1 = pbest1(j);
end
v1(j,:) = v1(j,:)+c1*rand*(p1(j,:)-x1(j,:))+c2*rand*(g1-x1(j,:));
x1(j,:) = x1(j,:)+v1(j,:);
end
gb1(i)=gbest1;
end
figure;
plot(gb1,'-bs',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.0,0.0]);
xlabel('优化迭代次数');
ylabel('适应度值');
zhongjian1_num = round(g1(1));
xue = g1(2);
%模型训练
layers = [ ...
sequenceInputLayer(shuru_num)
lstmLayer(zhongjian1_num)
fullyConnectedLayer(shuchu_num)
regressionLayer];
................................................................
figure
plot(output_train,'-bs',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.0,0.0]);
hold on
plot(test_simu,'-r>',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.9,0.0]);
hold off
legend(["真实值" "预测值"])
xlabel("样本")
title("训练集")
figure
plot(YValidationy,'-bs',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.0,0.0]);
hold on
plot(test_simuy,'-r>',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.9,0.0]);
hold off
legend(["真实值" "预测值"])
xlabel("样本")
title("验证集")
figure
plot(output_test,'-bs',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.0,0.0]);
hold on
plot(test_simu1,'-r>',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.9,0.0]);
hold off
legend(["真实值" "预测值"])
xlabel("样本")
title("测试集")
A983