Python与人工智能编程-基础与实验 课件 实验19 网络数据爬取_第1页
Python与人工智能编程-基础与实验 课件 实验19 网络数据爬取_第2页
Python与人工智能编程-基础与实验 课件 实验19 网络数据爬取_第3页
Python与人工智能编程-基础与实验 课件 实验19 网络数据爬取_第4页
Python与人工智能编程-基础与实验 课件 实验19 网络数据爬取_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

长短期记忆网络的简介及应用实验19课程学习目标理解长短期记忆网络(LongShort-TermMemory,LSTM)的基础知识。掌握如何使用PyTorch构建LSTM模型来处理时间序列数据。LSTM简介LSTM基本结构LSTM由遗忘门、输入门、单元状态和输出门组成,解决传统RNN在处理长序列数据时的梯度消失和梯度爆炸问题。LSTM工作原理通过门控机制控制信息流动,遗忘门决定保留多少旧信息,输入门决定添加多少新信息,输出门决定输出多少信息。LSTM应用领域广泛应用于自然语言处理、语音识别、时间序列预测等领域,有效处理长期依赖信息。LSTM简介组件名称功能输入操作输出遗忘门决定丢弃哪些信息Sigmoid函数计算遗忘因子(介于0与1之间)输入门决定存储哪些新信息Sigmoid函数确定更新哪些信息,tanh层产生新的候选值向量更新向量单元状态更新和存储长期信息输出门根据单元状态决定输出什么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个序列和标签对043.定义LSTM模型定义LSTM模型,继承自nn.Module,包含LSTM层和全连接层。LSTM模型定义LSTM层输入大小1,隐藏层大小100,输出大小1。LSTM层参数输入序列经LSTM层和全连接层,输出最后一个时间步预测值。前向传播使用平滑L1损失函数,Adam优化器,学习率0.001。损失函数与优化器创建LSTM模型实例,准备训练和优化。模型实例创建01020304054.训练模型对LSTM模型进行200次训练,每个周期遍历所有输入序列和标签。训练设置01执行前向传播,计算损失,使用平滑L1损失函数评估预测值和实际标签的误差。前向传播与损失计算02执行反向传播,通过Adam优化器更新模型参数。反向传播与参数更新0304将序列和标签移动到指定设备,每个序列处理前重置LSTM隐藏状态。设备迁移与隐藏状态重置每25个周期打印当前损失值,展示训练进展。训练进度展示055.评估模型从训练数据最后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.创建

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论