【随手记。 请点进原文看。。。。原文写的好好啊好好的】
前四篇与发布时间有关:
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)的方法的话,最后结果不怎么对它有利