LSTM 时间序列分类

Posted

技术标签:

【中文标题】LSTM 时间序列分类【英文标题】:LSTM Timeseries Classification 【发布时间】:2018-03-29 04:47:45 【问题描述】:

我是神经网络和 LSTM 的新手,因此需要一些帮助。

我有 100 个不同时间长度的文件,每个文件都有 13 个特征。每个文件代表一个输出类。

现在,我想要一个可以对这些时间序列文件进行分类的 LSTM 网络。 我应该怎么做?我应该如何处理/准备我的数据?网络的输入应该是什么样的?

提前致谢。

【问题讨论】:

您的问题似乎过于含糊。首先要清楚你的要求是什么,以及 LSTM 的要求是什么,以根据你的需要预测输出。你说的特征是什么意思?特征是“列”还是您的平均“时间步长”?你能展示一下你的文件数据是什么样子的例子吗? @FawadKhalil,我有 100 个文件(每个文件属于一个主题),每个文件中有 13 个不同的传感器数据列(例如,传感器 1、传感器 2、...传感器 13)。它用于对人类活动进行分类,即他是否在行走/跑步/坐着/站立等。我想使用 LSTM 为它实现一个分类器,因为它可以包含很长时间的上下文信息。现在我的问题基本上是,我如何将这些数据提供给 LSTM 网络?我应该如何处理它?我应该将时间序列分开并进行单变量序列分类,还是可以将所有这些时间序列仅提供给一个网络? 【参考方案1】:

您将使用 RNN 的多对一配置来完成分类任务。您将时间序列序列输入网络,然后网络将为您生成单个输出。

现在,您将准备形状(样本、时间步、特征)和标签中的数据以成为形状(标签、)。然后您的测试集将遵循相同的格式。例如,您有一组 50 个视频,每个视频 30 秒,每帧 100 个像素。以下是形状中每个术语的含义的解释:

样本:这些是样本,一个样本可能包含多个时间步长。如果是上述示例,则为 50。

timesteps:这是您在预测当前步长时必须及时查看的时间步长数。提到的示例将是 30,因为您将查看 30 个时间步长来预测有关视频的某些内容。通常,这可能取决于您的选择和要求您选择的数字。

特征:这些是每个时间步的特征/属性。对于上述示例,它将是 100。

标签:这些是每个样本的标签。它的形状会根据您的需要而变化。

因此,对于我们的视频示例,训练的形状为 (50, 30, 100),标签的形状为 (50, )。测试数据将具有形状(无、30、100)。在这里,None 表示它可以是“任意”,这表示您可以在测试数据中拥有任意数量的样本进行预测。

更多关于LSTM的参考和解释,请看:this video

您也可能有兴趣关注this link、this 和this。如果对您有好处,请查看this。

另外,请确保您学习并做某事,并来这里询问您在此过程中遇到的问题。谢谢你:)

【讨论】:

以上是关于LSTM 时间序列分类的主要内容,如果未能解决你的问题,请参考以下文章

使用(?) LSTM 进行多变量时间序列分类

如何为 LSTM 重塑数据 - 时间序列多类分类

了解用于序列分类的 LSTM 架构

对时间序列分类的LSTM全卷积网络的见解

使用keras构建LSTM分类器

使用 LSTM 和 keras 进行时间序列预测的分类变量