乐趣区

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

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

此示例阐明如何应用长短期记忆 (LSTM) 网络对序列数据的每个工夫步长进行分类。

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

此示例应用从佩戴在身上的智能手机获取的传感器数据。该示例训练 LSTM 网络,以在给定工夫序列数据的状况下辨认佩戴者的流动,这些数据表示三个不同方向的加速度计读数。训练数据蕴含七个工夫序列数据。每个序列具备三个特色并且长度不同。数据集蕴含六个训练察看和一个测试察看。

加载序列数据

加载人类流动辨认数据。该数据蕴含从佩戴在身上的智能手机取得的七个工夫序列的传感器数据。每个序列具备三个特色并且长度不同。这三个特色对应于三个不同方向的加速度计读数。

XTrain

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

figure
for j = 1:numel
    label = classes;
    idx = find
    hold on
    plot
end

定义 LSTM 网络架构

定义 LSTM 网络架构。将输出指定为大小为 3 的序列(输出数据的特色数)。指定一个具备 200 个暗藏单元的 LSTM 层,并输入残缺的序列。最初,通过包含一个大小为 5 的全连贯层,而后是一个 softmax 层和一个分类层来指定五个类。

layers = \[ ...
    seuenceutLaer
    lsmLyer
    fulyCnectdyer
    sotmLyer
    clssfcainLyr\];

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

应用指定的训练选项训练 LSTM 网络 trainNetwork。每个 mini-batch 蕴含整个训练集,因而每个 epoch 更新一次图。序列很长,因而解决每个小批量和更新绘图可能须要一些工夫。

测试 LSTM 网络

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

加载人类流动测试数据。XTest 蕴含一个维度为 3 的单个序列。YTest is 蕴含与每个工夫步绝对应的分类标签序列。

figure
plot
xlabel
legend
title

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

YPrd = clssif;

或者,您能够应用 一次进行一个工夫步长的预测。通常,与一次一个工夫步进行预测相比,对残缺序列进行预测会更快。无关如何通过在单个工夫步预测之间更新网络来预测将来工夫步的示例。

计算预测的准确性。

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

 

应用绘图将预测与测试数据进行比拟。

plot
hold on
plot
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 进行工夫序列剖析

退出移动版