1

所以基本上我正在处理一个长度不等的训练和测试数据集(一堆数组),如下所示:

a: {true, [1,3, 4, 5, 5, 8 ,10 ,10]}
b: {true, [1,3, 25, 18 ,1 ,10]}
c: {false, [1, 8 ,10]}
d: {false, [1,3  ,10 ,10]}

我是机器学习领域的新手,我被困在如何使这些不等长的输入数组变得等​​长,从而可以轻松地利用现有的机器学习算法。

目前我可以考虑使用最大公共序列来查找不同长度的输入数组之间的相似性..

但基本上在我得到 LCS 信息之后,我怎样才能将输入数组转换为等长的数组..?

我走对了吗?谁能给我一些帮助?

4

2 回答 2

1

此类任务没有通用解决方案。一切都取决于您的数据实际代表什么。有几十种特征提取技术可以很好地处理各种长度的数据,但特定的选择取决于特定的任务。没有,也不可能有一种通用的方法可以使可变长度表示成为恒定长度的一种。LCS 似乎是一种非常奇怪的方法,它应该给出非常错误的结果(至少在一般情况下,也许在这个特定的问题中它是有意义的)。如果是这种情况(LCS 确实有意义),它将返回新表示的一维。这只是您的新向量的一个特征。您需要更多才能应用任何合理的机器学习技术。

于 2014-04-28T07:04:07.790 回答
0

大多数机器学习算法需要固定的输入和输出。全卷积神经网络或循环神经网络可以处理不同的输入和输出。

但在你的情况下,我建议只使用 grt max。数组长度并将零附加到具有少于最大值的项目的数组。

于 2017-08-19T20:52:35.830 回答