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

电商pc网站建设方案外链生成器

电商pc网站建设方案,外链生成器,商城网站优化,阿里营销网站建设一、简述 1.循环神经网络 循环神经网络(RNN)是一种用于处理序列数据的神经网络。不同于传统的前馈神经网络,RNN在隐藏层中加入了自反馈连接,使得网络能够对序列中的每个元素执行相同的操作,同时保持一个“记忆”状态…

一、简述

1.循环神经网络

循环神经网络(RNN)是一种用于处理序列数据的神经网络。不同于传统的前馈神经网络,RNN在隐藏层中加入了自反馈连接,使得网络能够对序列中的每个元素执行相同的操作,同时保持一个“记忆”状态,这个状态会随着序列的推进而更新。

循环神经网络由输入层、隐藏层、输出层组成。输入层接受传入数据;隐藏层既接收当前时刻的输入,也接收上一时刻隐藏层的状态作为额外输入,这种结构允许RNN对序列中的每个元素执行相同的操作,同时保持一个“记忆”状态,这个状态会随着序列的推进而更新;输出层基于隐藏层的状态生成输出。

训练过程使用随时间反向传播的方法,按照标准的反向传播算法进行权重更新,并对每个时间步都执行误差反传和权重更新。

2.长短期记忆网络

长短期记忆网络是循环神经网络的一种特殊形式,用于解决传统循环神经网络在处理长时间依赖时遇到的梯度消失或爆炸问题。

通过引入细胞状态和门控机制来控制信息的流动:输入门决定哪些值将被更新到细胞状态;遗忘门决定从细胞状态中丢弃哪些信息;输出门决定下一个隐藏状态的内容。这样的设计使LSTM能够在长时间跨度内保留重要的信息,同时也能够选择性地忘记不相关的信息。

二、应用

1.预测一个数据

clear
clc%设置时间序列,代表数据中的每个时间点
time = 1:20;
%设置目标预测时间点
target_time = 21;%初始化数据数组,包含20个时间点的数据值
data = [0.845, 2.673, 0.215, 1.456, 2.987, 1.322, 0.653, 2.134, 1.567, 0.954, 2.456, 0.342, 1.789, 2.235, 0.789, 1.123, 2.567, 0.456, 1.890, 2.034];%用layrecnet函数创建一个循环神经网络,第一个参数是输入层数,第二个参数是隐藏层大小,即神经元的数量
net = layrecnet(1,10);%将data转换成序列格式以便于循环神经网络处理
%用con2seq函数将普通数值数组转换为cell数组格式
input_seq = con2seq(data');%目标序列与输入序列相同,用之前的数据点来预测下一个数据点
target_seq = con2seq(data');%用train函数训练循环神经网络
%输入参数为循环神经网络模型、输入序列和目标序列,返回训练后的网络模型
net = train(net, input_seq, target_seq);%用sim函数使用训练好的模型对输入序列进行预测,返回预测结果的序列形式
sim_y = sim(net, input_seq);%用cell2mat函数将预测结果由cell数组格式转换为普通数值数组
sim_Y = cell2mat(sim_y);%绘图
figure;
%在同一图中绘制多个曲线
hold on;%绘制原始训练数据的折线图
%LineWidth设置线条宽度,MarkerSize设置标记大小,DisplayName显示图例名称
plot(time, data, 'o-', 'LineWidth', 1.5, 'MarkerSize', 8, 'DisplayName', '训练数据');%绘制预测结果
%使用'sim_Y(end)'获取最后一个预测值
plot(target_time, sim_Y(end), 'ro', 'MarkerSize', 10, 'DisplayName', '预测结果');xlabel('时间');ylabel('结果');% 添加图例,'Location', 'best'让MATLAB自动选择图例的最佳位置。
legend('Location', 'best');% 设置图表标题。
title('预测');
hold off; 

 

2.预测多个数据

clear
clc%设置时间序列,代表数据中的每个时间点
time = 1:20;%设置目标预测时间点
target_time = 21 :25;%初始化数据数组,包含了20个时间点的数据值
data = [0.845, 2.673, 0.215, 1.456, 2.987, 1.322, 0.653, 2.134, 1.567, 0.954, 2.456, 0.342, 1.789, 2.235, 0.789, 1.123, 2.567, 0.456, 1.890, 2.034];%输入序列X是原始数据中除了最后一个元素的所有元素,长度比原始序列少一个元素
X = data(1 : end-1);%目标序列Y是原始数据中除了第一个元素的所有元素,与输入序列相对应,用于监督学习
Y = data(2:end);%将输入和目标数据转换为序列格式
%'con2seq'函数将数值向量转换为cell数组
X = con2seq(X);
Y = con2seq(Y);%创建循环神经网络模型
%设置隐藏层神经元的数量
hiddenUnits = 10; %创建具有1个输入层和指定数量隐藏单元的递归神经网络。
net = layrecnet(1, hiddenUnits);%配置训练参数
%显示训练进度窗口
net.trainParam.showWindow = true;
%设置最大迭代次数为100
net.trainParam.epochs = 100;%训练RNN模型
[net,tr] = train(net, X, Y);%将最后一个数据点转换为cell类型,用于初始化预测过程
lastInput = num2cell(data(end));%初始化存储预测结果和误差的变量
predicted_data = []; 
errors = []; % 存储误差值%对于每一个目标预测时间点,执行预测过程。
for i = 1:numel(target_time)%使用训练好的模型进行预测,结果保留三位有效数字prediction = round(cell2mat(sim(net, lastInput)), 3, 'significant');%计算误差error = abs(prediction - cell2mat(lastInput));%将当前预测结果和误差拼接到相应的列表中predicted_data = [predicted_data, prediction];errors = [errors, error];%更新lastInput为新的预测值,用于下一次循环预测lastInput = {prediction};
end%绘图
%绘制训练集和预测结果,蓝色表示训练数据,红色表示预测数据
figure
hold on
%绘制训练数据
plot(time, data, 'b') 
%绘制预测数据
plot(target_time, predicted_data, 'r') 
xlabel('年份')
ylabel('温度')
legend('训练数据', '预测数据')%用mean函数计算平均绝对误差
MAE = mean(errors);

 

http://www.dtcms.com/wzjs/321548.html

相关文章:

  • 昆明网站优化公司百度搜索风云榜排名
  • 搜索引擎优化教程郑州网站运营专业乐云seo
  • 丰台周边网站建设佛山网络推广哪里好
  • 做烘焙的网站世界互联网峰会
  • 车网站建设策划书免费建站系统哪个好用吗
  • 网站建设 电子商务网站开发qq引流推广平台
  • godaddy主机到网站百度官方网站网址是多少
  • 电子网站建设方案网站开发公司
  • 哪家网站做国际网购电商怎么做
  • 湖南做网站的公司网站收录登录入口
  • 邢台做网站的那好网站运营推广的方法有哪些
  • 用插件做网站杭州网站设计制作
  • 长沙做网站哪里好网站搜索引擎优化的方法
  • 广州做网站多模板建站价格
  • 郑州视频网站建设大概多少钱好用的种子搜索引擎
  • 京山网站制作网上教育培训机构哪家好
  • 如何在网站中加入百度地图怎么做公众号
  • 怎么做校园表白网站口碑营销的形式
  • 免费网站怎么制作百度搜题网页版入口
  • 扒网站样式百度上海分公司地址
  • 做网站需要会哪些编程语言关键词权重查询
  • 连连电商网站开发公司宁波 seo排名公司
  • php动态网站建设内容百度搜索引擎首页
  • 深圳华强北手机靠谱吗济南seo快速霸屏
  • 做音频主播的网站互联网搜索引擎
  • 涪陵网站设计怎么给公司做网站推广
  • 广西注册公司网站推广策划方案怎么做
  • 怎么做8代码网站长春seo按天计费
  • 江西省城住房和城乡建设厅网站重庆电子商务网站seo
  • 展示照片的网站模板郑州搜索引擎优化