Bayesian评分系统:解决样本数量过少引起的问题
icon2 Brain Storm | icon4 2008-02-10 23:41| icon311 Comments | 本文内容遵从CC版权协议 转载请注明出自matrix67.com

    本来还打算给这个Blog写一个日志评分系统的,现在看来估计没时间了。之前曾经找过一些关于日志评分系统的资料,偶然在我很喜欢的web 2.0站点TheBroth里找到了一篇介绍Bayesian评分系统的旧文,觉得非常科学,大致翻译一下。
    很多网站都有用户评分功能。比如,你可以给某篇文章打分,1分表示这篇文章太烂了,10分表示你爱死这篇文章了。有些网站用加号和减号来代替评分功能。点击“+”表示你喜欢这篇文章,点击“-”表示你不喜欢这篇文章。网站很可能会在首页醒目处加一行黑体二号加粗高亮发光的字,“评价最高的10篇文章”;然后在下面放上平均得分最高的几篇文章的链接,用来吸引点击率。这时,问题就出来了:评分最高的文章不一定真的是评价最高的文章。比如说,某篇文章特别无聊,没一个人评分,然后有个人不小心点错了链接进去了,又一个不小心点到了评分栏上的最后一颗五角星,于是此网站惊现平均得分高达满分的文章;再比如说,某人刚发了一篇文章,然后趁别人还没评分前自己先给自己评几个10分,于是又一篇满分文章横空出世。事实上,可以想到绝大多数新文章刚发表时平均得分不是极高就是极低,这是这种简单的评分机制的一个很突出的问题。应该怎样解决这个问题呢?我们可以分析一下问题的根源,集中思考解决这个问题根源的办法,然后用新的公式来定义一篇文章的最终得分。
    问题的根源是什么?问题的根源就是,样本少了会导致结果不可靠。某篇文章的评分人数越少,其平均得分越不可靠,我们应该想办法让得分越靠近所有文章的总平均得分。事实上,评分人数少正说明这篇文章既不受欢迎也没啥争议,它的得分应该接近所有文章的总平均分才对。要是有一种东西能够实现“票少了不算”、“得的票越多对最终得分的影响越大”之类的想法就好了。于是,我们想到了加权平均数。
    我们希望得票越少的文章,其得分越接近所有文章的总平均分;得票越多的文章,其得分越接近它本来的平均分。于是我们为所有文章的总平均分和这篇文章的平均分各设一个权值。这篇文章的平均分的权值就是该文的评分人数,这没话说。关键是所有文章总平均分的权值。这可以根据你的喜好来设:权值越小说明你对评分要求越不严格,影响文章得分所需要的票数越少;权值越大说明你越在意样本过少所带来的负面影响,同时说明参与评分的人数一定会很多。因此,这个权值应该由你的网站的总评分人数的多少来决定,用每篇文章的平均评分人数来当权值是一个不错的选择。因此,我们可以用以下公式来算出每篇文章的最终得分:

                 所有文章的总平均分*每篇文章的平均评分人数 + 这篇文章的平均分*这篇文章的评分人数
文章最终得分 =  ---------------------------------------------------------------------------------
                                  每篇文章的平均评分人数 + 这篇文章的评分人数


    这里,总平均分的权值用的是每篇文章的平均评分人数。你也可以自己设定一个合适的权值。
    这种评分方法叫做Bayesian评分。很多web 2.0站点都在用这种评分系统。
顺便记录一下今天的心情。今天我很开心,非常开心:) 原因嘛……秘密

11 条回复

  • 楼层: 沙发 | | NSFW 说:

    sofa~ 我是来扒整站的~

  • 楼层: 板凳 | | sqybi 说:

    有人扒了我就不给M67牛费流量了...

    我曾经思考过怎么让普通的评分方法更准确...结果失败了...
    才发现有人研究过了啊...

    验证码怎么总出错...我保证我这次加法没算错...

  • 楼层: 地毯 | | sqybi 说:

    另外...Bayesian是贝叶斯?

    回复:嗯

  • 楼层: 地板 | | Zx.MYS 说:

    恩……我也考虑过这个问题……不过没想到要和所有文章扯在一起- -

  • 楼层: 地下室 | | cat.s 说:

    82呀。。可不可以每次都不登陆哦。。好麻烦啊。。

  • 楼层: 地基 | | Norman 说:

    心情好,MM表白了?

    回复:我表白,MM相信了
    之前我表白时别人就从来没信过

  • 楼层: 地壳 | | csy 说:

    为什么不用模糊综合评判??

  • 楼层: 地幔 | | cat.s 说:

    82和zpr见面哒。。

    回复:别忘了那个约定

  • 楼层: 地核 | | whiteboard 说:

    这个公式好像是动态的
    能不能弄个静态的呢

  • 楼层: 10楼 | | 竹子的叶子 说:

    好东东~~

  • 楼层: 11楼 | | Matrix67: My Blog » Blog Archive » 汉字地图第二版 说:

    [...]       2. 利用 Bayesian 评分系统 给字对的对偶程度评分;       3. [...]

  • 楼层: 12楼 | | 比特海日记【2011-11-26】 | 忙碌人生 说:

    [...] 百度百科:汉诺塔 http://baike.baidu.com/view/191666.htm 贝叶斯评分:http://www.matrix67.com/blog/archives/439                        [...]

您也随便说几句吧:

您可以在 Gravatar 设置您的头像。