如何使用机器学习技术按时间顺序预测矢量

时间:2017-11-10 11:41:21

标签: python machine-learning computer-vision

例如,如何基于该对象的历史位置(时间序列矢量数据)预测多点对象(诸如具有关节的手的关节对象)的位置。在这种情况下是否有任何机器学习技术表现良好以及如何在Python中实现它(例如,如何用这个多维向量目标变量替换原始目标变量)?

类似于:(带有3个时间戳的两点对象)

model = #such as random forest or CNN
X = [[(1.2, 1.4, 2.9), (3.5, 3.2, 1.8)], [(3.2, 3.1, 1.9), (3.1, 3.4, 1.9)], [(3.0, 3.1, 1.5), (2.8, 4.7, 2.5)]]
# 2 points * 3 Time stamps * 3 Dimension- each tuple
Y = [(2.1, 3.1, 3.5), (2.2, 3.0, 4.0)] #Just one row example
model.fit(X, Y)
#Please note that we might also consider the time order and the relationship
#between each joint (eg. Joint-joint distance should remain the same)

1 个答案:

答案 0 :(得分:1)

您的问题看起来像 时间序列预测问题。它包含一系列输入点,从索引1到K,并尝试预测从索引K + 1到N的下一个点。这些点可以是多维的,如您所描述的那样。因为存在许多模型,例如隐马尔可夫模型递归神经网络

但我也认为你可以更好地定义你的问题。在研究物理对象位置时,任何先验知识,您可以输入您的模型将大大改善它。例如,计算臂的惯性,速度和加速度量(来自您的数据点)将有助于模型预测下一个位置。此外,空间运动通常对翻译和旋转不变* ,您的模型也应考虑到这一点。

那就是说,你需要自己做一些研究,找到适合你数据的最佳方法。