成对比较排名

时间:2014-05-21 17:12:21

标签: algorithm sorting ranking

想象一下,我有一个非常长的图片列表,我想按照人们认为他们的“好”的顺序对它们进行排名。

我不想让用户直接为图像分配分数(1 - 10等)并按此顺序,我想尝试新的东西。

我在想的是一种有趣的方式:

  • 向用户显示两个随机图片,他们选择更好的图片
  • 收集大量'比较'
  • 使用所有比较来提出一些订购

原来这是used regularly,例如(使用功能,而不是图片),这似乎是Uservoice's Smartvote的工作方式。

我的问题是,是否有一种众所周知的方法可以采用这一长长的比较列表,并为所有图像建立相对排名,但不会达到研究论文中的复杂程度。

我已经阅读了一堆lectures和研究论文,但我想知道是否有人可能推荐的示例代码?

2 个答案:

答案 0 :(得分:3)

似乎你可以得到某种数字排名系统,然后根据它进行排序。只需从赢/输运动或象棋中借用算法,并将每个图像比较视为回合。

有些人看了,这里有一些示例代码,其中包含Java

中的算法。

这是一个可以在python

中借阅的图书馆

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

答案 1 :(得分:1)

对于每张图片,计算它赢得决斗的次数,并除以它参与的决斗次数。这个比率是你的排名得分。

示例:

B ,A C A D, B C,B D

收益率

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

除非你进行大量的比较,否则会有很多关系。