火炬的LSTM、多变量、多特征 [英] LSTM, multi-variate, multi-feature in pytorch

查看:23
本文介绍了火炬的LSTM、多变量、多特征的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在理解pytorch中LSTM的数据格式时遇到了问题。假设我有一个具有4个功能的CSV文件,一个接一个地以时间戳的形式排列(一个经典的时间序列)

time1 feature1 feature2 feature3 feature4
time2 feature1 feature2 feature3 feature4
time3 feature1 feature2 feature3 feature4
time4 feature1 feature2 feature3 feature4,  label
但是,这4个序列的整个集合只有一个标签。我们尝试分类的事情从时间1开始,但直到时间4才知道如何标记它。
我的问题是,一个典型的pytorch LSTM能支持这一点吗?我读过、看过、浏览过的所有教程都涉及到查看单个要素或单词模型的时序,它们仍然是一个单一维度的数据集。

如果可以支持,是否需要以某种方式扁平化数据?

Pytorch的LSTM引用状态:

输入:Batch_First=False时的形状张量(L,N,Hin})(L,N,Hin​)或Batch_First=True时的形状张量(N,L,Hin)(N,L,Hin​),包含输入序列的特征。输入也可以是压缩的可变长度序列。

这是否意味着它不能支持任何包含多个序列的输入?或者是否还有其他名称?

我真的迷路了,需要任何建议、指示、帮助等等。也许还能消除一些歧义。

我在这里发了几次帖子,都没有得到任何回应。如果这篇帖子放错了地方,有人能告诉我张贴的正确位置吗?

编辑:听从丹尼尔的建议,这四个功能应该这样放在一起,我理解正确了吗?

[(feature1, feature2, feature3, feature4, feature1, feature2, feature3, feature4, feature1, feature2, feature3, feature4, feature1, feature2, feature3, feature4), label]  when given to the LSTM?

如果正确,则本例中的输入大小是否为(16)?

最后,我的印象是LSTM的输出将是预测的标签。我说错了吗?

LSTM

如您所示,推荐答案层的输入大小为(BATCH_SIZE,SEQUENCE_LENGTH,FEATURE_SIZE)。这意味着该功能被假定为一维矢量。

因此,要在您的情况下使用它,您需要将四个要素堆叠成一个矢量(如果它们本身大于1D,则首先将它们展平),并将该矢量用作图层的输入。

关于标签。坚决支持仅在几次迭代之后才有标签。LSTM将输出与输入序列长度相同的序列,但在训练LSTM时,您可以选择在损耗函数中使用该序列的任何部分。在您的情况下,您将只希望使用最后一个元素。

这篇关于火炬的LSTM、多变量、多特征的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆