用户投票算法随手记

来源:互联网 发布:弈城围棋软件下载 编辑:程序博客网 时间:2024/06/02 23:49

【随手记。 请点进原文看。。。。原文写的好好啊好好的偷笑


前四篇与发布时间有关:


(1)基于用户投票的排名算法(一):Delicious和Hacker News

http://www.ruanyifeng.com/blog/2012/02/ranking_algorithm_hacker_news.html

前者通过没60min更新一次最近被收藏的数目,以此来排名。

在 被收藏数目(得票数目)的基础上加入了帖子的发帖时间,已解决Delicious不能让新帖子浮上来的问题。score = ( P- 1) / (T +2)^G 首先它排除了发帖人的票数,然后,它的时间因素考虑到了帖子刚刚发···而导致分母过小的问题(+了一个平均时间)。还考虑了时间导致的帖子的分衰减速度问题:重力因子G。


(2)reddit:  在 赞成 的 基础上,引入了  反对 。

考虑了:

帖子的发帖时间: t = 发帖时间 - 某个固定值。 (帖子越早发,这个值越小)

赞成与反对的差值: 

投票方向 1:赞成多 , 0:一样多,   -1:反对票多。

帖子的受肯定程度 (否定程度) z 。是个底数为10的对数形式的,说明帖子越往后 如果突然有一部分人投一样的票  就不会很会受影响了。


(3) stackof  overflow  :不光考虑到了   赞成 和  反对  两个因素。还考虑到了帖子被浏览的次数,被回答的次数,问题得分,回答得分,发帖时间,最后一个回答的时间 等。【帖子本身质量、用户参与度、时间】


(4)把牛顿冷

却定律  Newton‘s law  of  cooling   应用到排名貌似很cool : http://www.ruanyifeng.com/blog/2012/03/ranking_algorithm_newton_s_law_of_cooling.html

定律内容: 物体的冷却速度与                它当前的温度和室内温度的差值    成正比。


后(5)

与时间无关: http://www.ruanyifeng.com/blog/2012/03/ranking_algorithm_wilson_score_interval.html

不是简单的用 好评数 - 差评数, 或 好评率 来评判某个帖子是否热门。 引入了  置信区间 。又由于 置信区间不能很好的解决 小样本 的问题,又提到了  威尔逊 区间。


贝叶斯平均法:  http://www.ruanyifeng.com/blog/2012/03/ranking_algorithm_bayesian_average.html

IDMB采用的方法。

它借鉴了"贝叶斯推断"(Bayesian inference)的思想:既然不知道投票结果,那就先估计一个值,然后不断用新的信息修正,使得它越来越接近正确的值。

它可以解决 被关注比较少的帖子 排名不公平的问题。。。因为 这类型的帖子 使用上述置信区间的话,由于样本比较少,置信区间的跨度都比较大,下限也大,所以采用上面(5)的方法的话,最后结果不怎么对它有利

















0 0