实验19 长短期记忆网络的简介及应用.pptxVIP

实验19 长短期记忆网络的简介及应用.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

长短期记忆网络的简介及应用

实验19

课程学习目标

理解长短期记忆网络(LongShort-TermMemory,LSTM)的基础知识。

掌握如何使用PyTorch构建LSTM模型来处理时间序列数据。

LSTM简介

LSTM基本结构

LSTM由遗忘门、输入门、单元状态和输出门组成,解决传统RNN在处理长序列数据时的梯度消失和梯度爆炸问题。

LSTM工作原理

通过门控机制控制信息流动,遗忘门决定保留多少旧信息,输入门决定添加多少新信息,输出门决定输出多少信息。

LSTM应用领域

广泛应用于自然语言处理、语音识别、时间序列预测

等领域,有效处理长期依赖信息。

LSTM简介

LSTM的应用实例

本节通过构建和训练一个LSTM模型来预测时间序列数据中的旅行乘客人数。实验中使用了前132个月的乘客数据进行模型训练,并预测接下来的12个月的乘客数量。

安装seaborn库

在实验开始前需要打开AnacondaPrompt进入自己创建的虚拟环境(pytorch_env)中安装seaborn库。

1.导入库

seaborn库安装完成后打开JupyterNotebook导入实验所需的库。

2.准备数据

该数据集包含年度、月份和乘客数量的信息。运行结果显示了从1949年到1960年的航班乘客人数数据,总共有144条记录,每条记录包含3个列(年份、月份和乘客人数)。

2.准备数据

使用Matplotlib库绘制了“flights”数据集中乘客人数的时间序列图。

图表显示了从1949年到1960年每月的乘客数量,数据呈现出明显的上升趋势,反映了随着时间推移乘客数量的持续增长以及周期性的波动。

2.准备数据

将数据分为训练集(前132月)和测试集(最后12月),训练数据归一化到[-1,1]。

数据预处理

01

数据转换为PyTorch的FloatTensor格式。

数据格式转换

02

定义函数create_inout_sequences,输入序列为12个月乘客人数,标签为第13个月乘客人数。

创建输入序列和标签

03

输出前5个生成的输入序列和标签对,用于模型训练。

输出前5个序列和标签对

04

3.定义LSTM模型

定义LSTM模型,继承自nn.Module,包含LSTM层和全连接层。

LSTM模型定义

LSTM层输入大小1,隐藏层大小100,输出大小1。

LSTM层参数

输入序列经LSTM层和全连接层,输出最后一个时间步预测值。

前向传播

使用平滑L1损失函数,Adam优化器,学习率0.001。

损失函数与优化器

创建LSTM模型实例,准备训练和优化。

模型实例创建

01

02

03

04

05

4.训练模型

对LSTM模型进行200次训练,每个周期遍历所有输入序列和标签。

训练设置

01

执行前向传播,计算损失,使用平滑L1损失函数评估预测值和实际标签的误差。

前向传播与损失计算

02

执行反向传播,通过Adam优化器更新模型参数。

反向传播与参数更新

03

04

将序列和标签移动到指定设备,每个序列处理前重置LSTM隐藏状态。

设备迁移与隐藏状态重置

每25个周期打印当前损失值,展示训练进展。

训练进度展示

05

5.评估模型

从训练数据最后12数据点开始,循环预测未来12个月乘客人数。

LSTM模型评估

模型进入评估模式,不更新梯度,逐步生成预测结果。

模型评估模式

预测值通过反归一化恢复到原始数据比例。

预测值反归一化

绘制折线图展示原始数据与预测数据的对比,

展示未来12个月乘客数量趋势。

绘制对比图

5.评估模型

时间序列数据展示

蓝色实线表示1949-1960年乘客数量,呈上升趋势,有季节性波动。

LSTM模型预测

橙色虚线预测未来12个月乘客数,趋势一致但存在误差。

预测误差分析

模型预测波动较平滑,未完全捕捉急剧变化,季节性波动处理有限。

整体预测评价

整体趋势预测合理,但细节处理需改进。

6.保存和加载模型

保存模型:使用torch.save(net.state_dict(),PATH)将模型参数保存到文件。

加载模型:使用model.load_state_dict(torch.load(PATH,map_location=device))从文件中加载模型参数,并通过model.eval()设置模型为评估模式。

本节实验作业

1.创建一个LSTM网络,输入形状为(序列长度,批大小,特征数)并输出相同长度的序列。

2.初始化一个形状为(10,1,5)的随机输入张量并通过LSTM网络。打印输出形状。

具体操作请查看视频教程

文档评论(0)

弹弹 + 关注
实名认证
文档贡献者

人力资源管理师、教师资格证持证人

该用户很懒,什么也没介绍

版权声明书
用户编号:6152114224000010
领域认证该用户于2024年03月13日上传了人力资源管理师、教师资格证

1亿VIP精品文档

相关文档