贝叶斯评价,一种小样本数据环境下的有效评分方法
来源:互联网 发布:python package 路径 编辑:程序博客网 时间:2024/04/29 19:43
在今天互联网上,我们可以广泛的看到用户反馈(评分)系统的身影.评价区间有1-10分的心理测评,自然也有超级简单的+/-法:譬如很赞一个美女的时候,你可以送个玫瑰或者番茄啥的,不以为然的时候更可以砸个鸡蛋过去.
举个例子,如果一篇文章写得很不错,有100个人参与评价,80个人给了1,20个人给了0,那么这篇文章的评分(rating)应该是0.8.越是很有可能以加粗高亮的方式推荐给其他用户,得到了很不错的点击率.这时,问题就出来了:rating值很高的资源就一定真的评价高么?
好吧,请允许我邪恶的想一下,如果某用户写了一篇文章,然后自己先给打几个1分.于是,史上最满意文章(rating值是1)就这样来到了我们的网站!
想象一下大多数新产生的资源不是得分极高(评价少,分数普遍高)就是得分极低(无人问津).这也是上述评分机制一个非常突出的缺陷.我们意识到:对于那些只有极少数评价的资源,他们的rating相较于那些有着极多评价的资源缺乏一定的“certainty” or “believability”
因此,我们需要"修正"一下这个计算方法:
- 对于评价很少的资源,可以认为其本身既不受欢迎也没有啥争议(不能引起话题).它的rating更应该去接近去整体评价的平均水平;
- 那些评价很多的资源,通过修正也更多的体现出"相对的高",也就是更多的接近其本来的rating.
那么,我们可以给所有资源的平均rating和特定评价资源的平均rating各引入一个权值.这个权值就是整体平均评价人数和资源评价人数.这里的整体平均评价人数的设定可以根据真实的计算得出(动态值),当然也可以自己根据喜好设定一个.值越小说明你对评分要求越不严格,影响rating所需要的票数越少;值越大说明你越在意样本过少所带来的负面影响,同时说明资源必须保证一定的人气.
其中:
- avg_num_votes:整体平均评价人数
- avg_rating:资源平均rating
- this_num_votes:待评价资源人数
- this_rating:待评价资源rating
这也就是江湖上赫赫有名的贝叶斯评价(Bayesian probability),更多信息可以围观维基百科.
实际上这种评分系统广泛适用于很多知名的WEB2.0站点.
目前正在火热举行的 花儿朵朵等选秀活动,可以考虑在此基础上增加一个"人的可信度"(来鉴别社区、论坛的马甲号,具体可以采用积分等手段),这样或许对提高选手评价的准确性和有效性起到一定的积极作用,也可以衍生出更多有趣的现象.
- 贝叶斯评价,一种小样本数据环境下的有效评分方法
- Bootstrap是通过随机模拟扩充小样本的方法
- mysql导入数据的一种有效方法:loa…
- 小样本时的概率估算
- 把小样本经验用在海量样本筛选上,才是大数据的价值
- 命令行中的数据挖掘:怎么在比较大的训练集中提取小样本
- 一种有效的关系数据库压缩方法
- 中文人名自动识别的一种有效方法
- 中文人名自动识别的一种有效方法
- 一种简单有效的个性化推荐方法
- 大奖赛的评分(不调用函数)---第一种方法
- win8环境下sqlserver配置本机数据源报错53,17的一种可能解决方法
- 一种简单环境下,读取XML节点值的方法
- 一种多线程环境下的参数访问方法
- 集群环境下控制定时钟执行的一种方法
- 一种Windows下搭建QT开发环境的简单方法
- Windows下Android开发环境配置的一种方法
- 小样本分析
- 常用。。。。
- 正则表达式
- Silverlight 性能优化 - 按需加载 (on demand loanding)
- F# 入门
- ORACLE 10g下载地址
- 贝叶斯评价,一种小样本数据环境下的有效评分方法
- 实现时间芯片DS1302的一些程序
- 转:Apache+mysql+php在windows下的配置(成功)
- 在VC中使用ListCtrl保存上线主机SOCKET句柄 收藏
- WM_Paint消息小結
- 各种有意思的效应、法则、理论、逻辑、实验
- A strange lift hdu 1548
- inotify和rsync方便地构建文件级双机热备
- (转) WEB三层架构与MVC