【发布时间】:2018-12-03 13:03:49
【问题描述】:
给定 3D 向量的时间序列[x, y, z],其中 x、y 和 z 是任意整数,我想构建一个模型来预测序列中的下一个向量并捕获每个维度 x 中的模式,y,z。
所以如果 X = [[0, 0, 6], [1, 0, 0], [9, 9, 9], [3, 0, 3], [1, 2, 3]] 和我给我的模型一个 4 元素序列 [[0, 0, 6], [1, 0, 0], [9, 9, 9], [3, 0, 3]] 它会预测 [1, 2, 3]
我不能只对每个向量进行一次热编码,因为数字可以具有任意值,所以我想知道如何实现这一点。非常感谢任何见解,谢谢!
【问题讨论】:
-
您是否尝试过实现一个由一个或多个 LSTM 层和一个密集层组成的模型?只需运行
model.predict(test_data)然后round结果,看看它是否接近真实值。我不确定它是否准确,我只是想问您是否在数据上尝试过这种方法。 -
我有,但我无法解释我得到的预测向量,所以我想我可能遗漏了一些基本的东西。这是我在该过程结束时发布的一个问题(包括我的模型)stackoverflow.com/questions/51014044/…
-
在您的解决方案中,删除
TimeDistributed并添加一个大小为 3 的密集层,您对最后一层使用什么激活函数?实际上不应该有任何激活函数,因为你正在做(向量)回归。 -
我使用softmax。除非您指的是不同的层,否则它在底部的模型中?而且我认为回归在这里不起作用,因为我的向量中的 z 值对应于一个单热编码的字母,所以不会有回归可以找到的模式,我不认为。我错了吗?
-
我错过了什么吗?您是否对预测向量
[x,y,z]不感兴趣,其中x、y和z是任意整数(并且没有界限,因此它们不能被编码或离散化)?
标签: python tensorflow machine-learning keras lstm