-3

全部成交,

我正在寻找一种合适的算法,它可以让我了解一些数值如何映射到数组中。

试着想象我有一个这样的训练数据集:

1 1 2 4 5 --> [0 1 5 7 8 7 1 2 3 7]
2 3 2 4 1 --> [9 9 5 6 6 6 2 4 3 5]
...
1 2 1 8 9 --> [1 4 5 8 7 4 1 2 3 4]

所以给定一组新的数值,我想预测这个新数组

5 8 7 4 2 --> [? ? ? ? ? ? ? ? ? ?]

非常感谢您提前。

此致!


一些考虑:

  • 让我们假设所有数字都是整数并且数组的长度是固定的
  • 每个预测阵列的质量可以通过一个距离函数来确定,该函数试图测量理想阵列和预测阵列之间的相似度。
4

2 回答 2

1

总的来说,这是一项具有挑战性的任务。你的数组长度是固定的吗?什么是损失函数(例如,对于单个数字来说“更接近”更好 - 预测 2 而不是 1 比预测 9 更好还是没关系?你是否因数组上的部分匹配而获得信用,例如预测上半场正确吗?等)?

在任何情况下,经典的回归或分类技术可能不会很好地适用于您的场景。我认为最好的选择是尝试遗传编程方法。适应度函数将是我前面提到的损失度量。您可以查看这个关于不同语言的遗传编程库的不错比较

于 2013-04-22T13:08:37.037 回答
0

这称为结构化输出问题,您尝试预测的目标是复杂结构,而不是简单的类(分类)或数字(回归)。

如上所述,损失函数是您必须考虑的重要事项。可以使用最小编辑距离、RMS 或简单的 0-1 损失。

结构化支持向量机或结构化输出问题的岭回归变体是可以解决此问题的两种已知算法。当然参见维基百科。

我们在拉瓦尔大学(加拿大)有一个由马里奥·马尔尚和弗朗索瓦·拉维奥莱特领导的研究小组。您可能想搜索他们的出版物,例如 Sebastien Giguere 等人的“结构化输出预测回归方法的风险界限和学习算法”。

祝你好运!

于 2014-02-11T17:13:45.077 回答