当前位置: 首页 > news >正文

公共场所建设网站沈阳做平板网站

公共场所建设网站,沈阳做平板网站,1688电脑网页版,有哪些网站可以用LSTM模型可以在一定程度上学习和预测非平稳的时间序列,其具有强大的记忆和非线性建模能力,可以捕捉到时间序列中的复杂模式和趋势[4]。在这种情况下,LSTM模型可能会自动学习到时间序列的非平稳性,并在预测中进行适当的调整。其作为…

        LSTM模型可以在一定程度上学习和预测非平稳的时间序列,其具有强大的记忆和非线性建模能力,可以捕捉到时间序列中的复杂模式和趋势[4]。在这种情况下,LSTM模型可能会自动学习到时间序列的非平稳性,并在预测中进行适当的调整。其作为循环神经网络(RNN)的特殊形式,继承了循环神经网络的优点。首先,利用记忆机制,可以有效提取时间序列数据的时间依赖性。其次,在模型训练时,学习到的权重参数在时间步骤之间是共享的,故对长时间序列的训练具有一定的可拓展性,而且比起传统的神经网络模型,它所需参数数量较少,降低了模型的复杂度。最后,它也具有LSTM神经网络特有的优势,对训练时权重变化不稳定而产生梯度消失和梯度爆炸问题有着不错的改善效果。LSTM单元的主要结构由3个门控制器和记忆细胞组成。其中,输入门控制特征的流向信息,输出门控制特征的输出信息,遗忘门控制特征的去除与遗忘,记忆细胞负责存储细胞状态信息。通过不同功能门的控制,从而解决RNN存在的长期依赖问题[5]。LSTM单元内的计算过程为:

clc
clear
load('data.mat')
data=RTS'
%% 序列的前485个用于训练,后10个用于验证神经网络,然后往后预测10个数据。
dataTrain = data(1:485);    %定义训练集
dataTest = data(486:495);    %该数据是用来在最后与预测值进行对比的
%% 数据预处理
mu = mean(dataTrain);    %求均值 
sig = std(dataTrain);      %求均差 
dataTrainStandardized = (dataTrain - mu) / sig;    
%% 输入的每个时间步,LSTM网络学习预测下一个时间步,这里交错一个时间步效果最好。
XTrain = dataTrainStandardized(1:end-1);  
YTrain = dataTrainStandardized(2:end);  
%% 一维特征lstm网络训练
numFeatures = 1;   %特征为一维
numResponses = 1;  %输出也是一维
numHiddenUnits = 200;   %创建LSTM回归网络,指定LSTM层的隐含单元个数200。可调layers = [ ...sequenceInputLayer(numFeatures)    %输入层lstmLayer(numHiddenUnits)  % lstm层,如果是构建多层的LSTM模型,可以修改。fullyConnectedLayer(numResponses)    %为全连接层,是输出的维数。regressionLayer];      %其计算回归问题的半均方误差模块 。即说明这不是在进行分类问题。%指定训练选项,求解器设置为adam, 1000轮训练。
%梯度阈值设置为 1。指定初始学习率 0.01,在 125 轮训练后通过乘以因子 0.2 来降低学习率。
options = trainingOptions('adam', ...'MaxEpochs',1000, ...'GradientThreshold',1, ...'InitialLearnRate',0.01, ...      'LearnRateSchedule','piecewise', ...%每当经过一定数量的时期时,学习率就会乘以一个系数。'LearnRateDropPeriod',400, ...      %乘法之间的纪元数由“ LearnRateDropPeriod”控制。可调'LearnRateDropFactor',0.15, ...      %乘法因子由参“ LearnRateDropFactor”控制,可调'Verbose',0,  ...  %如果将其设置为true,则有关训练进度的信息将被打印到命令窗口中。默认值为true。'Plots','training-progress');    %构建曲线图 将'training-progress'替换为none
net = trainNetwork(XTrain,YTrain,layers,options); 
net = predictAndUpdateState(net,XTrain);  %将新的XTrain数据用在网络上进行初始化网络状态
[net,YPred] = predictAndUpdateState(net,YTrain(end));  %用训练的最后一步来进行预测第一个预测值,给定一个初始值。这是用预测值更新网络状态特有的。
%% 进行用于验证神经网络的数据预测(用预测值更新网络状态)
for i = 2:20  %从第二步开始,这里进行20次单步预测(10为用于验证的预测值,10为往后预测的值。一共20个)[net,YPred(:,i)] = predictAndUpdateState(net,YPred(:,i-1),'ExecutionEnvironment','cpu');  %predictAndUpdateState函数是一次预测一个值并更新网络状态
end
%% 验证神经网络
YPred = sig*YPred + mu;      %使用先前计算的参数对预测去标准化。
rmse = sqrt(mean((YPred(1:10)-dataTest).^2)) ;     %计算均方根误差 (RMSE)。
subplot(2,1,1)
plot(dataTrain(1:end))   %先画出前面485个数据,是训练数据。
hold on
idx = 486:(485+20);   %为横坐标
plot(idx,YPred(1:20),'.-')  %显示预测值
hold off
xlabel("Time")
ylabel("Case")
title("Forecast")
legend(["Observed" "Forecast"])
subplot(2,1,2)
plot(data)
xlabel("Time")
ylabel("Case")
title("Dataset")
%% 继续往后预测2023年的数据
figure(2)
idx = 486:(485+20);   %为横坐标
plot(idx,YPred(1:20),'.-')  %显示预测值
hold off
net = resetState(net);

 MATLAB运行结果如下:

 

http://www.yayakq.cn/news/746138/

相关文章:

  • 网站开发用哪些技术房地产基础知识
  • 保健品 东莞网站建设适合毕设做的简单网站
  • 五站合一网站建设重庆网站建设接重庆零臻科技
  • 个人做排行网站深圳市创同盟科技有限公司
  • 企业手机网站建设策划网名logo设计制作
  • 网站诸多个人或主题网站建设 实验体会
  • 静态网站是什么原因c 做网站怎么截取前面的字符
  • 深圳网站建设 猴王网络长沙网站制作作
  • 南京做网站seo怎么制作游戏?
  • 门户网站建设与开发如何改wordpress主页
  • 行业自建网站苏州集团网站设计开发
  • 一流的免费网站建设卖手机网站开发的必要性
  • 深圳做分销网站公司易网
  • 网站后台图片网站建设顺序
  • 如何接单做网站哈尔滨做企业网站
  • 社交网站第一步怎么做iis8搭建网站
  • 怎么黑掉织梦做的网站使用本地主机做网站
  • 西部数码网站打不开各大网站收录入口
  • 丹徒建设网官方网站带数据库网站设计
  • 电商网站建设与课程设计计算机网站开发是那个语言
  • 辽宁建设网站首页百度导航下载2021最新版
  • 有关网站开发的论文网站模板psd
  • 网站开发专业成功人士医院网站那里填评价
  • 三亚建设网站网站建设收费标准如何
  • 网站后台统计深圳网站制作招聘
  • 2015年做那个网站致富品牌注册怎么注册
  • 给个网站做填空题2017做网站挣钱吗
  • 宽屏营销型网站源码内蒙古建设厅网站官网
  • centos7网站开发防制网站怎么做
  • 长春广告公司网站建设管理咨询公司最专业的公司