推荐系统 | 威尔逊区间法

我推荐一种之前在惠普做过一种排序方法:威尔逊区间法

我们先做如下设定:

(1)每个用户的打分都是独立事件。

(2)用户只有两个选择,要么投喜欢'1',要么投不喜欢'0'。

(3)如果总人数为n,其中喜欢的为k,那么喜欢的比例p就等于k/n。

这是一种统计分布,叫做"二项分布"(binomial distribution)

理论上讲,p越大应该越好,但是n的不同,导致p的可信性有差异。100个人投票,50个人投喜欢;10个人投票,6个人喜欢,我们不能说后者比前者要好。

所以这边同时要考虑(p,n)

刚才说满足二项分布,这里p可以看作"二项分布"中某个事件的发生概率,因此我们可以计算出p的置信区间。

所谓"置信区间",就是说,以某个概率而言,p会落在的那个区间。

置信区间展现的是这个参数的真实值有一定概率落在测量结果的周围的程度。置信区间给出的是被测量参数的测量值的可信程度,即前面所要求的“一个概率”,也就是结论的可信程度。

二项分布的置信区间有多种计算公式,最常见的是"正态区间"(Normal approximation interval)。但是,它只适用于样本较多的情况(np > 5 且 n(1 − p) > 5),对于小样本,它的准确性很差。

这边,我推荐用t检验来衡量小样本的数据,可以解决数据过少准确率不高的问题。

这样一来,排名算法就比较清晰了:

第一步,计算每个case的p(好评率)。

第二步,计算每个"好评率"的置信区间(参考z Test或者t Test,以95%的概率来处理)。

第三步,根据置信区间的下限值,进行排名。这个值越大,排名就越高。

解释一下,n为评价数,p为好评率,z为对应检验对应概率区间下的统计量

比如t-分布:

可以看到,当n的值足够大时,这个下限值会趋向p,如果n非常小,这个下限值会大大小于p,更加符合实际。

Reddit的评论排名,目前就使用这个算法。国内的化,滴滴也有部分业务涉及,效果也不错。

更新一下,没想到这个话题还是有高达9个人关注,所以这边我再说一些更细化的过程吧。

在计算排名的时候,我们通常会考虑三个事情:

1、上文讲到的,次数+好评率的分布,次数越多好评率越可靠,好评率越高该项越值得推荐。

2、时间因素,如果一个项目是10天前推送的,一个项目是昨天推送的,很明显前者的次数远大于后者。

3、影响权重,你这边只考虑了喜欢和不喜欢,其实所有的排序不可能只以1个维度考虑,通常会考虑多个维度,比如浏览次数,搜索次数等,你需要考虑每个的重要性或者说权重大小。

第一点这里就不讲了,其他方法也有很多,比如贝叶斯平均的优化版本、再比如经典的Hacker公式:

第二点时间因素:

时间越久,代表之前的投票结果对当前的影响越小,这边有很多不同的影响方式,举几个例子,比如艾宾浩斯遗忘规律:

这里的c、k决定下降速度,业务运用过程中,c值一般在[1,2],k值一般在[1.5,2.5]

比如时效衰减:

这里就是比较常见的移动窗口式的,永远只看近期某一段时间,而且时间内呈线性下降,不过可以改变变化方式。

第三点不同种的属性对于结果的影响自然不同

举个例子,用户主动搜索和用户浏览相比,用户主动搜索的情况下,用户的需求更为强烈。

通常需要判断这些强烈程度都是通过:

相关性:看因变量与自变量之间的相关系数,如:cor函数。

importance:看删除或者修改自变量,对应变量的判断影响大小,如:randomForest的重要性。

离散程度:看自变量的数据分布是否足够分散,是否具有判断依据,如:变异系数或者pca等等。

原文发布于微信公众号 - 人工智能LeadAI(atleadai)

原文发表时间:2017-11-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏计算机视觉战队

视觉的深度学习与网络的构建,训练及测试

已经很久没有更新平台的内容,今天抽空来给大家分享一些关于计算机视觉领域的一个重点,那就是“深度学习”,接下来就来详细聊聊深度学习(为什么要深度学习特征???)...

3388
来自专栏专知

【深度】浅析Geoffrey Hinton最近提出的Capsule计划

【导读】本文全面介绍了深度学习的来龙去脉以及Hinton最近提出的Capsule计划。希望做物理的、做数学的、做生物的、做化学的、做计算机、包括做科幻的都能看的...

2826
来自专栏大数据文摘

“未卜先知”、“自学成才”:GANs奇思妙想TOP10榜单

1323
来自专栏CSDN技术头条

WSDM 2017精选论文解读

人工智能和机器学习领域的学术论文汗牛充栋。每年的各大顶级会议、研讨班录用好几千篇论文,即便是亲临现场也很难追踪到所有的前沿信息。在时间精力有限的情况下,选择精读...

2386
来自专栏前沿技墅

卷积网络虽动人,胶囊网络更传“神”

1864
来自专栏华章科技

33种经典图表类型总结,轻松玩转数据可视化

导读:随着时代的发展,越来越多的数据量堆积,然而这些密密麻麻的数据的可读性较差并且毫无重点,而数据可视化更加直观有意义,更能帮助数据更易被人们理解和接受。

691
来自专栏人工智能头条

从零到一学习计算机视觉:朋友圈爆款背后的计算机视觉技术与应用 | 公开课笔记

1425
来自专栏大数据文摘

哥伦比亚大学数据科学课程笔记(2)

1939
来自专栏大数据挖掘DT机器学习

将机器学习用到算法交易中

假设我有一个问题,我想根据一些人的身高和体重来判断性别。 我有一个数据表,数据里面有三个男的三个女的,我有他们体重身高的数据。现在有一个人性别不知道,我们怎么推...

3558
来自专栏Pytorch实践

机器是如何做阅读理解的?

机器阅读理解 斯坦福有个很重要的比赛,就是让机器完成阅读理解题目,即给定一篇文章,让机器理解文章含义进行题目回复。每年这一比赛都是国际性的,引来了业界、学术界的...

3597

扫码关注云+社区