2014-05-21 39 views
3

想象一下,我有一个非常很长的图像列表,我想按照“好”人们的想法排列它们。成对比较的排名

我不想让用户直接得分为图像指派 - 由(110等)和秩序,我想尝试新的东西。

我想会是这样做的一个有趣的方法是:

  • 显示用户在两个随机图像,他们选择最好的一个
  • 收集大量的“比较”
  • 使用所有攀比拿出一些订货

原来这是used regularly,例如(使用功能,而不是图片),这似乎是一路Uservoice's Smartvote作品。

我的问题是,是否有采取这种比较长的名单,并建立一个相对排名从他们所有的图片,但不复杂的在研究论文中发现的水平的好已知的方法。

我读了一堆lectures和研究论文,但我不知道是否有任何示例代码在那里的人可能会建议?

回答

2

看起来像你可以得到某种数字排名系统,然后就根据这个排序。只需从胜利/损失运动或国际象棋中借用算法,并将每个图像比较视为回合。

做了一些看,这里有什么样的一个算法看起来像Java

一些示例代码,这里是一个库,你可以在python

借用如果你搜索ELO,你会发现一个版本它几乎以任何语言。一旦你得到你的数字图像排名,你可以按照你喜欢的方式对它们进行排序。您可能会考虑其他排名算法,以获得赢/输比赛,这只是我在搜索国际象棋排名时出现的第一个排名算法。

+0

好喊,我看着ELO和其他几个排名,似乎主要缺点是,很多的算法成对排名假定“每个人都扮演着大家”,这在我的情况下是不可行的。我想在我发音ELO成功之前需要更多的比较。 –

+1

ELO似乎并不需要每个人都扮演每个人,但每个图像的比较越多,他们的评价就越有意义。这并不意味着你需要n^2比较。即使像每个图像的二十次比较那样具有统计意义,随着时间的推移,排名会越来越准确。 – NathanTempelman

1

对于每张图片,请计算其赢得决斗的次数,并除以参与的决斗次数。该比率即为您的排名分数。

实施例:

,A Ç d, C,B d

产量

B:67%,C, D:50%,A:33%

除非你执行啊大量的比较,会有很多关系。

+0

我可以想到很多这种情况会非常糟糕的情况,但假设数据不一致和随机抽样很好,这可能是不错的。 –

+0

是的,建议随机分配。 –

+0

我已经用随机的“决斗”测试了它,并且在表面上它看起来像一个相当直观的算法。这是一种确定的排名方法吗? @SlaterTyranus你想到的潜在隐患是什么?在阅读了许多复杂的解决方案之后,肯定有一个原因并非通常使用的原因。我想象一下这样一个事实,即平局被视为损失并不是很大? –