返回

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

发布时间:2022-11-09 02:08:37 285
# 数据

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

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

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

加载序列数据

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


1.  XTrain
2.

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

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


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

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

定义 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 更新一次图。序列很长,因此处理每个小批量和更新绘图可能需要一些时间。

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

测试 LSTM 网络

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

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


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

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

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

YPrd = clssif;

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

计算预测的准确性。

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

 

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

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

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

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


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

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线