贝叶斯平均:排序算法之二
贝叶斯平均
- 贝叶斯平均思想和公式
- 贝叶斯平均计算实例
贝叶斯平均思想和公式
前期讲过Wilson得分进行排序,解决了观看量很少,导致结果不可信的问题。Wilson评分虽然保证了排名的可靠性,但该排序方法也会大大削弱那种观看量少(小众的)的视频的得分,忽略了冷门视频和新事物的产生,这样排名榜上始终会是那些观看量高的视频,新视频和冷门的视频很难出来,长期靠后。
这里就有一个问题:热门视频与冷门视频的平均得分,是否真的具有可比性?举个例子来说,一个热门视频每天2000次曝光,另外一个冷门视频只有50次曝光。很明显,使用Wilson评分,后者的得分将被大幅拉低,所以考虑到贝叶斯平均进行排序,给每个视频增加一定量的曝光。
其思想在于:
- 假设所有视频都至少有m次曝光(设置一个基准),那么就都具备了同等的一个评选条件;
- 然后假设这m次曝光的评分是所有视频的平均得分(即假设这个视频具有平均水准);
- 最后,用现有的评分进行修正,长期来看,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
贝叶斯平均:排序算法之二相关推荐
- 推荐系统遇上深度学习(二十)-贝叶斯个性化排序算法原理及实战
排序推荐算法大体上可以分为三类,第一类排序算法类别是点对方法(Pointwise Approach),这类算法将排序问题被转化为分类.回归之类的问题,并使用现有分类.回归等方法进行实现.第二类排序算法 ...
- BPR贝叶斯个性化排序算法
目录 一.BPR算法的作用 二.显式反馈和隐式反馈 1.显式反馈 2.隐式反馈 三.BPR算法 1.概念 2.相关定义 3.建模思路 四.BPR优化 五.算法流程 六.结束 七.代码实现 一.BPR算 ...
- 推荐算法之贝叶斯个性化排序 BPR
就像哲学有不同的流派一样,推荐系统的算法设计思路也可以分为不同的流派.排序学习恰恰就是其中的一种流派.熟悉 RecSys 等推荐系统国际会议的从业者可能会发现,自 2010 年以后的若干年内,陆续出现 ...
- BPR贝叶斯个性化推荐算法—推荐系统基础算法(含python代码实现以及详细例子讲解)
BPR贝叶斯个性化排序算法 一.问题导入 二.显示反馈与隐式反馈 2.1 显式反馈与隐式反馈基本概念 2.2 显式反馈与隐式反馈的比较 2.3 显式反馈与隐式反馈的评价方法 2.3.1 显式反馈数据模 ...
- 常用的评论/帖子/文章排序算法六(贝叶斯平均)
背景 最近在做评论排序的需求,之前都是按照评论的点赞数来倒排.但是用的很多其它的app并不是这么简单的排序方式,所以本次决定好好研究一下,就有了这几篇 文章的转载.本文转载于阮一峰的网络日志http: ...
- 推荐系统遇上深度学习(二十一)--贝叶斯个性化排序(BPR)算法原理及实战
笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值,找寻数据的秘密,笔者认为,数据的价值不仅仅只体现在企业中,个人也可以体会到数据的魅力,用技术力量探索行为密码,让大数据 ...
- 基于用户投票的排名算法(六):贝叶斯平均
作者: 阮一峰 日期: 2012年3月28日 (这个系列实在拖得太久,今天是最后一篇.) 上一篇介绍了"威尔逊区间",它解决了投票人数过少.导致结果不可信的问题. 举例来说,如果只 ...
- 推荐常用的排序学习算法——BPR(贝叶斯个性化排序)
文章目录 1. 排序学习 1.1 优势 1.2 排序学习在推荐领域的作用 1.3 排序学习设计思路 1.3.1 单点法(Pointwise) 1.3.2 配对法(Pairwise) 1.3.3 列表法 ...
- 贝叶斯个性化排序(BPR)算法
在推荐系统中的经典矩阵分解技术中,我们讨论过像funkSVD之类的矩阵分解方法如何用于推荐.今天我们讲另一种在实际产品中用的比较多的推荐算法:贝叶斯个性化排序(Bayesian Personalize ...
最新文章
- Linux课程设计八音盒,单片机课程设计——八音盒精要.doc
- 用亲和性分析方法推荐电影
- ai如何做倒角和圆角_石材路沿石是如何倒角的?倒角费用是多少?路沿石质量标准?...
- Android封装快捷键,android打包一个没有快捷键的apk,并且通过另一个应用启动
- Java进阶04 RTTI
- 推荐12个绚丽的CSS3图片悬停效果
- 路由器链路聚合技术(Eth-Trunk、Ip-Trunk)
- Pyhont 高阶函数
- 转帖 一个很有用但不常用到的传值方法! http://topic.csdn.net/u/20070124/22/09d43606-4119-4407-bfa6-8b2890ffbac7.html...
- tcpip详解卷一 pdf_清华大牛爆肝分享网络底层/网络协议/TCP/IP协议详解卷一
- js读取excel表格
- ps css圆形路径文字,ps圆形路径文字怎么做
- 印象最深刻的三位老师、难忘的往事
- 华为云PB级数据库GaussDB(for Redis)揭秘第八期:用高斯 Redis 进行计数
- ping某个域名的详细过程
- Problem:Ubuntu Give up waiting for root device
- 哈希表Hash与JAVA集合类Map及其方法put()、getOrDefault()、keySet()、get()
- FileWriter和FileReader的基本使用
- SPSS学习笔记之——OR值与RR值
- 灰度共生矩阵灰度梯度共生矩阵
热门文章
- Python数据处理Tips数据的降维的Scikit-learn的14种实现方式
- JVM与字节码——2进制流字节码解析
- 3ds Max制作红旗飘动操作浅析
- 美图手机大英博物馆限量版来了!洛可可风格设计官图曝光
- edui 富文本编辑_2020-03-03 快速部署UEditor富文本编辑器
- iOS 通过scheme进行应用间跳转
- MessageBird以6亿美元收购美国SparkPost,C轮融资规模扩大至10亿美元,成为全球第一大全渠道提供商
- 初学pyhon的几个练习小程序
- 背完这些技术栈面试题,从零变面霸,大厂offer拿到手软!!!
- Leetcode Solutions - Part 1