我正在进行LSTM的时间序列分类实验,我已经经历了几个HOWTO,但是,我仍然在努力解决一些非常基本的问题:
学习LSTM的主要思想是从每个时间序列中获取相同的样本吗?
E.g。如果我有时间序列A (with samples a1,a2,a3,a4)
,B(b1,b2,b3,b4)
和C(c1,c2,c3,c4)
,那么我将使用(a1,b1,c1)
,然后(a2,b2,c2)
等批量提供LSTM?这意味着所有时间序列需要具有相同的样本数量/数量?
如果是这样,任何更有经验的人都可以如此善良并且非常简单地描述我如何处理学习LSTM和创建分类器的整个过程?
我的意图是使用TensorFlow,但我还是新手。
答案 0 :(得分:0)
如果您的目标是分类,那么您的数据应该是时间序列和标签。在训练期间,您将每个进入lstm,并根据需要仅查看最后一个输出和backprop。
从您的问题判断,您可能对批处理感到困惑 - 您可以一次训练多个项目。但是,批处理中的每个项目都将获得自己的隐藏状态,并且只更新图层的参数。
单个批次中的时间序列应具有相同的长度。您应该使用END令牌终止每个序列,并使用特殊令牌PAD填充太短的内容 - lstm应该知道PAD后面和END是无用的。
不同的批次不需要具有相同数量的项目,也不需要具有相同长度的项目。