贝叶斯平均

  • 贝叶斯平均思想和公式
  • 贝叶斯平均计算实例

贝叶斯平均思想和公式

前期讲过Wilson得分进行排序,解决了观看量很少,导致结果不可信的问题。Wilson评分虽然保证了排名的可靠性,但该排序方法也会大大削弱那种观看量少(小众的)的视频的得分,忽略了冷门视频和新事物的产生,这样排名榜上始终会是那些观看量高的视频,新视频和冷门的视频很难出来,长期靠后。

这里就有一个问题:热门视频与冷门视频的平均得分,是否真的具有可比性?举个例子来说,一个热门视频每天2000次曝光,另外一个冷门视频只有50次曝光。很明显,使用Wilson评分,后者的得分将被大幅拉低,所以考虑到贝叶斯平均进行排序,给每个视频增加一定量的曝光。

其思想在于:

  1. 假设所有视频都至少有m次曝光(设置一个基准),那么就都具备了同等的一个评选条件;
  2. 然后假设这m次曝光的评分是所有视频的平均得分(即假设这个视频具有平均水准);
  3. 最后,用现有的评分进行修正,长期来看,v/(v+m)这部分的权重将越来越大,得分将慢慢接近真实情况。

贝叶斯平均式子如下:


v : 代表该视频的实际观看量;
m : 代表最低的一个观看量(人工干预设置,可根据实际观看情况而定,平 均值等等);
R : 该视频的平均得分;
C : 所有视频的平均得分。

贝叶斯平均计算实例

自己造的一个小例子,具体看公式实现的结果如下:

import pandas as pd
a = [10,5,50]
b = [100,4,400]
c = [200,3.5,700]
d = {'video_1':a,'video_2':b,'video_3':c}
data = pd.DataFrame(d).T
data.columns = ['观看量','平均得分','总分']
print(data)

C = (50+400+700)/(10+100+200)
C = 3.71
三个视频观看量的平均值是103,不妨设置最低观看量m = 100(可调整)
于是这里m = 100

根据贝叶斯公式就可得三个视频的贝叶斯得分:

data['BA'] =  (data['总分']+ 3.71*100)/(data['观看量']+100)


我们发现观看量较少的video_1的分数提上去了,观看量较多的分数则稍微下降。这样新视频也有机会上榜单。

结论:以贝叶斯平均为依据的排序某种程度上更能反应真实的情况,观看量多且评分较高的视频会更加靠前,观看量且评分较低的产品也会更加靠后,与单纯依据每个视频的平均分排序相比,这种结果更有意义。

不管是Wilson 评分还是贝叶斯平均,两者各有千秋,都是产品排序的一种方法,需要结合实际情况而定,不能以偏概全就认定某种方法一定更优。

参考文章:
https://www.ruanyifeng.com/blog/2012/03/ranking_algorithm_bayesian_average.html

贝叶斯平均:排序算法之二相关推荐

  1. 推荐系统遇上深度学习(二十)-贝叶斯个性化排序算法原理及实战

    排序推荐算法大体上可以分为三类,第一类排序算法类别是点对方法(Pointwise Approach),这类算法将排序问题被转化为分类.回归之类的问题,并使用现有分类.回归等方法进行实现.第二类排序算法 ...

  2. BPR贝叶斯个性化排序算法

    目录 一.BPR算法的作用 二.显式反馈和隐式反馈 1.显式反馈 2.隐式反馈 三.BPR算法 1.概念 2.相关定义 3.建模思路 四.BPR优化 五.算法流程 六.结束 七.代码实现 一.BPR算 ...

  3. 推荐算法之贝叶斯个性化排序 BPR

    就像哲学有不同的流派一样,推荐系统的算法设计思路也可以分为不同的流派.排序学习恰恰就是其中的一种流派.熟悉 RecSys 等推荐系统国际会议的从业者可能会发现,自 2010 年以后的若干年内,陆续出现 ...

  4. BPR贝叶斯个性化推荐算法—推荐系统基础算法(含python代码实现以及详细例子讲解)

    BPR贝叶斯个性化排序算法 一.问题导入 二.显示反馈与隐式反馈 2.1 显式反馈与隐式反馈基本概念 2.2 显式反馈与隐式反馈的比较 2.3 显式反馈与隐式反馈的评价方法 2.3.1 显式反馈数据模 ...

  5. 常用的评论/帖子/文章排序算法六(贝叶斯平均)

    背景 最近在做评论排序的需求,之前都是按照评论的点赞数来倒排.但是用的很多其它的app并不是这么简单的排序方式,所以本次决定好好研究一下,就有了这几篇 文章的转载.本文转载于阮一峰的网络日志http: ...

  6. 推荐系统遇上深度学习(二十一)--贝叶斯个性化排序(BPR)算法原理及实战

    笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值,找寻数据的秘密,笔者认为,数据的价值不仅仅只体现在企业中,个人也可以体会到数据的魅力,用技术力量探索行为密码,让大数据 ...

  7. 基于用户投票的排名算法(六):贝叶斯平均

    作者: 阮一峰 日期: 2012年3月28日 (这个系列实在拖得太久,今天是最后一篇.) 上一篇介绍了"威尔逊区间",它解决了投票人数过少.导致结果不可信的问题. 举例来说,如果只 ...

  8. 推荐常用的排序学习算法——BPR(贝叶斯个性化排序)

    文章目录 1. 排序学习 1.1 优势 1.2 排序学习在推荐领域的作用 1.3 排序学习设计思路 1.3.1 单点法(Pointwise) 1.3.2 配对法(Pairwise) 1.3.3 列表法 ...

  9. 贝叶斯个性化排序(BPR)算法

    在推荐系统中的经典矩阵分解技术中,我们讨论过像funkSVD之类的矩阵分解方法如何用于推荐.今天我们讲另一种在实际产品中用的比较多的推荐算法:贝叶斯个性化排序(Bayesian Personalize ...

最新文章

  1. Linux课程设计八音盒,单片机课程设计——八音盒精要.doc
  2. 用亲和性分析方法推荐电影
  3. ai如何做倒角和圆角_石材路沿石是如何倒角的?倒角费用是多少?路沿石质量标准?...
  4. Android封装快捷键,android打包一个没有快捷键的apk,并且通过另一个应用启动
  5. Java进阶04 RTTI
  6. 推荐12个绚丽的CSS3图片悬停效果
  7. 路由器链路聚合技术(Eth-Trunk、Ip-Trunk)
  8. Pyhont 高阶函数
  9. 转帖 一个很有用但不常用到的传值方法! http://topic.csdn.net/u/20070124/22/09d43606-4119-4407-bfa6-8b2890ffbac7.html...
  10. tcpip详解卷一 pdf_清华大牛爆肝分享网络底层/网络协议/TCP/IP协议详解卷一
  11. js读取excel表格
  12. ps css圆形路径文字,ps圆形路径文字怎么做
  13. 印象最深刻的三位老师、难忘的往事
  14. 华为云PB级数据库GaussDB(for Redis)揭秘第八期:用高斯 Redis 进行计数
  15. ping某个域名的详细过程
  16. Problem:Ubuntu Give up waiting for root device
  17. 哈希表Hash与JAVA集合类Map及其方法put()、getOrDefault()、keySet()、get()
  18. FileWriter和FileReader的基本使用
  19. SPSS学习笔记之——OR值与RR值
  20. 灰度共生矩阵灰度梯度共生矩阵

热门文章

  1. Python数据处理Tips数据的降维的Scikit-learn的14种实现方式
  2. JVM与字节码——2进制流字节码解析
  3. 3ds Max制作红旗飘动操作浅析
  4. 美图手机大英博物馆限量版来了!洛可可风格设计官图曝光
  5. edui 富文本编辑_2020-03-03 快速部署UEditor富文本编辑器
  6. iOS 通过scheme进行应用间跳转
  7. MessageBird以6亿美元收购美国SparkPost,C轮融资规模扩大至10亿美元,成为全球第一大全渠道提供商
  8. 初学pyhon的几个练习小程序
  9. 背完这些技术栈面试题,从零变面霸,大厂offer拿到手软!!!
  10. Leetcode Solutions - Part 1