首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LSTM,多变量,多特征

LSTM,多变量,多特征
EN

Stack Overflow用户
提问于 2022-02-07 18:47:08
回答 1查看 403关注 0票数 2

我很难理解pytorch中LSTM的数据格式。假设我有一个CSV文件,它有4个特性,一个接一个地用时间戳(一个经典的时间序列)进行布局。

代码语言:javascript
复制
time1 feature1 feature2 feature3 feature4
time2 feature1 feature2 feature3 feature4
time3 feature1 feature2 feature3 feature4
time4 feature1 feature2 feature3 feature4,  label

然而,这一整组4个序列只有一个标签。我们试图分类的东西是从time1开始的,但我们直到第4次才知道如何给它贴上标签。

我的问题是,一个典型的火炬LSTM能支持这一点吗?我读过、看过、读过的所有教程都涉及到一个单一特性的时间序列,或者一个单词模型,它仍然是一个具有单一维度的数据集。

如果它能够支持它,那么数据是否需要以某种方式被扁平化?

Pytorch的LSTM参考状态:

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

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

我在这里真的迷路了,可能需要任何建议,指点,帮助等等。也许也能消除歧义。

我在这里发过几次帖子,但都没有得到任何回复。如果这篇文章放错了位置,有人能友好地引导我到正确的地方张贴吗?

编辑:按照Daniel的建议,我是否正确地理解了这四个特性应该像这样组合在一起:

代码语言:javascript
复制
[(feature1, feature2, feature3, feature4, feature1, feature2, feature3, feature4, feature1, feature2, feature3, feature4, feature1, feature2, feature3, feature4), label]  when given to the LSTM?

如果这是正确的,那么在这种情况下输入的大小(16)是吗?

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-07 19:06:00

如您所示,LSTM层的输入大小为(batch_size、Sequence_length、feature_size)。这意味着特征被假定为一维向量。

因此,要在您的情况下使用它,您需要将您的四个特性叠加到一个向量中(如果它们大于1D本身,然后首先将它们压平),并使用该向量作为该层的输入。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71023822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档