基于用户投票的排名算法之 威尔逊区间

使用威尔逊区间计算POI与TD之间的分数,现在总结一下。 

对于召回的一些数据如何给这些数据来排名,然后根据这个排名来显示数据,这就需要使用“威尔逊区间”了。

首先我们讨论的情况是每个项目只有两种选择,且项目之间是相互独立的,就是项目符合“二项分布”的。

[1]中所举的例子中可以看出,无论得分情况为

得分 = 赞成票 - 反对票

还是

得分 = 赞成票 / 全部票

都会出现错误的情况。

有一种计算得分的策略是,通过某事件发生的概率的最低置信区间来对项目进行排序。

所谓”置信区间”,就是说,以某个概率而言,p会落在的那个区间。比如,某个产品的好评率是80%,但是这个值不一定可信。根据统计学,我们只能说,有95%的把握可以断定,好评率在75%到85%之间,即置信区间是[75%, 85%]。

而“威尔逊区间”就是为了计算这个“置信区间”的。二项分布的置信区间有多种计算公式,最常见的是”正态区间”(Normal approximation interval),但是这种算法对于小样本的情况下准确度是很低的。

威尔逊区间的计算公式如下:



其中,p¯¯¯ 表示的是一件事发生的概率,n表示发生的总次数,z表示置信水平,一般取0.95。

这样通过计算每个项目的“威尔逊区间”就能得到最终的排名。 
比如知乎就是用这种策略来计算每条回答得分,最后按分数来排名的。

此时威尔逊区间也能化简为如下格式:

其中p表示赞同数/总票数,n表示总票数,z为参数。

参考链接为: 
1,http://www.ruanyifeng.com/blog/2012/03/ranking_algorithm_wilson_score_interval.html 
2,http://blog.sina.com.cn/s/blog_67dd85310102wtdq.html

来源:https://blog.csdn.net/w417950004/article/details/78856705

猜你喜欢

转载自blog.csdn.net/secondlieutenant/article/details/80599748