您现在的位置:首页 >> 机器学习 >> 内容

基于PSO优化的LSTM网络数据预测matlab仿真

时间:2023/4/12 22:27:19 点击:

  核心提示:A983,包括程序操作录像...

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

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168