ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类

2022-05-22 22:00:07  阅读:172  来源: 互联网

标签:预测 训练 长短期 时间 MATLAB 序列 LSTM 数据


原文链接:http://tecdat.cn/?p=26318

原文出处:拓端数据部落公众号

此示例说明如何使用长短期记忆 (LSTM) 网络对序列数据的每个时间步长进行分类。

要训​​练深度神经网络对序列数据的每个时间步进行分类,可以使用 序列对序列 LSTM 网络。序列序列 LSTM 网络使您能够对序列数据的每个单独时间步进行不同的预测。

此示例使用从佩戴在身上的智能手机获取的传感器数据。该示例训练 LSTM 网络,以在给定时间序列数据的情况下识别佩戴者的活动,这些数据表示三个不同方向的加速度计读数。训练数据包含七个时间序列数据。每个序列具有三个特征并且长度不同。数据集包含六个训练观察和一个测试观察。

加载序列数据

加载人类活动识别数据。该数据包含从佩戴在身上的智能手机获得的七个时间序列的传感器数据。每个序列具有三个特征并且长度不同。这三个特征对应于三个不同方向的加速度计读数。

  1.   XTrain
  2.    

在图中可视化一个训练序列。绘制第一个训练序列的第一个特征,并根据相应的活动为绘图着色。

  1.   figure
  2.   for j = 1:numel
  3.   label = classes;
  4.   idx = find
  5.   hold on
  6.   plot
  7.   end
  8.    

定义 LSTM 网络架构

定义 LSTM 网络架构。将输入指定为大小为 3 的序列(输入数据的特征数)。指定一个具有 200 个隐藏单元的 LSTM 层,并输出完整的序列。最后,通过包括一个大小为 5 的全连接层,然后是一个 softmax 层和一个分类层来指定五个类。

  1.    
  2.    
  3.   layers = [ ...
  4.   seuenceutLaer
  5.   lsmLyer
  6.   fulyCnectdyer
  7.   sotmLyer
  8.   clssfcainLyr];

指定训练选项。将求解器设置为 'adam'。训练 60 个 epoch。

使用指定的训练选项训练 LSTM 网络 trainNetwork。每个 mini-batch 包含整个训练集,因此每个 epoch 更新一次图。序列很长,因此处理每个小批量和更新绘图可能需要一些时间。

测试 LSTM 网络

加载测试数据并在每个时间步进行分类。

加载人类活动测试数据。 XTest 包含一个维度为 3 的单个序列。  YTest is 包含与每个时间步相对应的分类标签序列。

  1.    
  2.   figure
  3.   plot
  4.   xlabel
  5.   legend
  6.   title

使用对测试数据进行分类 。

YPrd = clssif;

或者,您可以使用 一次进行一个时间步长的预测 。通常,与一次一个时间步进行预测相比,对完整序列进行预测会更快。有关如何通过在单个时间步预测之间更新网络来预测未来时间步的示例。

计算预测的准确性。

ac = sum(YPrd == YTst{1})./nul(YTs{1})

 

使用绘图将预测与测试数据进行比较。

  1.   plot
  2.   hold on
  3.   plot
  4.   hold off


最受欢迎的见解

1.用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类

2.Python中利用长短期记忆模型LSTM进行时间序列预测分析 – 预测电力消耗数据

3.python在Keras中使用LSTM解决序列问题

4.Python中用PyTorch机器学习分类预测银行客户流失模型

5.R语言多元Copula GARCH 模型时间序列预测

6.在r语言中使用GAM(广义相加模型)进行电力负荷时间序列分析

7.R语言中ARMA,ARIMA(Box-Jenkins),SARIMA和ARIMAX模型用于预测时间序列数

8.R语言估计时变VAR模型时间序列的实证研究分析案例

9.用广义加性模型GAM进行时间序列分析

标签:预测,训练,长短期,时间,MATLAB,序列,LSTM,数据
来源: https://www.cnblogs.com/tecdat/p/16299204.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有