推荐系统 | 威尔逊区间法

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

我们先做如下设定:

(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 条评论
登录 后参与评论

相关文章

来自专栏大数据文摘

揭穿机器学习“皇帝的新装”

我们常把机器学习描述为一种使用数据模式标记事物的神奇技术。听起来艰涩,但事实上,拨开层层概念,机器学习的核心简单到令人尴尬。

1034
来自专栏AI科技评论

百度ICML论文:如何用一种算法同时解决中英两种语言的语音识别需求

论文作者:Dario Amodei , Rishita Anubhai , Eric Battenberg , Carl Case , Jared Casper...

40912
来自专栏灯塔大数据

每周学点大数据 | No.6算法的分析之易解问题和难解问题

No.6期 算法的分析之易解问题和难解问题 小可:嗯,我懂了。可是您前面说现在的计算机在模型上都可以称作图灵机,这个要如何理解呢? Mr. 王:你能思考这个问...

2667
来自专栏达观数据

技术干货 | 如何选择上班路线最省时间?从A/B测试数学原理说起

当面对众多选择时,如何选才能最大化收益(或者说最小化我们的开销)?比如,怎么选择最优的上班的路线才能使途中花费的时间最少?假设每天上下班路线是确定的,我们便可以...

4167
来自专栏新智元

百度公开硬件基准 DeepBench,推动深度学习专用芯片研发竞争

2016年10月18日, 世界人工智能大会技术分论坛,特设“新智元智库院长圆桌会议”,重量级研究院院长 7 剑下天山,汇集了中国人工智能产学研三界最豪华院长阵容...

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

上海联通大数据与机器学习驱动的离网预测模型

大数据的V特性Volume、Variety、Velocity可以使我们更容易捕捉到用户的离网倾向,从而作出相应的维挽措施挽留用户。上海联通部署大数据驱动的离网预...

3977
来自专栏人工智能头条

AMiner背后的技术细节与挑战

1276
来自专栏杨熹的专栏

David Silver深度强化学习第1课

强化学习-1.jpg 强化学习本质上是要找到一种最优的方式来做决策。 强化学习涉及到很多学科领域,例如它是计算机科学中机器学习的一部分,工业中的优化控制,还有模...

3155
来自专栏专知

张翼英:一点论文写作心得

【导读】论文是硕士博士必修之关。我们转载一篇来自张翼英老师的论文心得文章! 本文来自张翼英科学网博客。 链接地址:http://blog.sciencenet....

3617
来自专栏AI研习社

话题 | 如何看待谷歌最近开源的“最强NLP模型”BERT?

上周,谷歌AI团队开源了备受关注的“最强NLP模型”BERT的TensorFlow代码和预训练模型,不到一天时间,收获3000多星!

1282

扫码关注云+社区