2016-12-02 27 views
2

我需要一些方向来解决我正在尝试解决的问题。任何东西将不胜感激,谷歌的关键字或某种迹象!ML模型预测排名(任意排序的列表)

所以我有一个5项的列表。所有项目共享相同的功能,假设每个项目都有3个功能。 我将列表传递给排序函数,该函数考虑列表中每个项目的特征并返回这些项目的任意排序列表。例如,如果我将下面的项目列表(a,b,c,d,e)提供给排名函数,我会得到(e,a,b,d,c)。 这是事情,我不知道排名功能如何工作。我唯一拥有的东西是5件物品清单(例如5件,可以是大于1的任何数字),每件物品的特征以及排名功能的结果。

我们的目标是培养一个模型,输出排序函数完成它的相同方式的5个项目的有序列表。

我可以用什么ML模型来支持这个排名概念?另外,我无法确定它是分类还是回归问题。我并没有试图确定一个连续的价值或对这些项目进行分类,我想通过排名功能来确定他们的排名。

自从我自己生成它们之后,我必须对自己的配置有无限数量的项目。分级功能可以是任何东西,但让我们说这是:

attribute a score = 1/3 * (x1 + x2 + x3) to each item and sort by descending score

该模型的目标是想尽可能接近分级功能是通过输出相似的结果对于同一批次的5项内容。

在此先感谢!

回答

1

它可以被视为一个回归问题,具有以下技巧:给5个项目赋予5个特征向量,“黑匣子”函数输出5个不同的得分,如[1,2,3,4,5]。将这些视为连续值。因此,您可以将您的函数看作是运行五个不同的输入向量x1,x2,x3,x4,x5并输出五个标量目标变量t1,t2,t3,t4,t5,其中您的训练集的目标变量是得分的项目得到。例如,如果单个样本的排名是(x1,4),(x2,5),(x3,3),(x4,1),(x5,2),那么设置t1 = 4,t2 = 5, t3 = 3,t4 = 1和t5 = 2。 MLP具有“通用逼近”能力并且具有黑匣子功能,它们可以任意近似地逼近它,取决于隐藏的单元数量。因此,建立一个2层MLP,输入为五个特征向量,输出为五个评分。您将最小化平方和误差函数,经典回归误差函数。并且不要使用任何正则化术语,因为您将尝试模仿确定性的黑狐功能,因为该函数的输出中不存在随机噪声,所以您不应该担心任何过度拟合问题。

+0

谢谢你的回答。我最后一部分有点失落,你说输出单位是排名分数。这是否意味着第一个输出单元映射第一个输入矢量的得分,第二个输出单位用于第二个输入矢量的得分,......?或者第一个输出单元总是映射为'1',第二个输出单元映射到'2',...的相反位置? – Anjou

+1

这是第一个,第一个输出给出第一个输入向量的分数等等。 –

1

由于有一个未知的函数会产生输出,这是一个回归问题。具有2个隐藏层的神经网络,例如乙状结肠可以学习任何功能。

+0

谢谢你的回答。但是,我不明白这个未知函数使它成为回归问题的事实。我们也可以有一个未知的函数,它根据它们的特征来获取项目并标记它们,但这是一个分类问题? – Anjou