数据平滑 : 基于用户投票的排名算法

数据平滑

常用的行为次数与曝光次数比值类的特征,由于数据的稀疏性,这种计算方式得到的统计量通常具有较大的偏差,需要做平滑处理,比如广告点击率常用的贝叶斯平滑技术。 而在我们推荐场景中,也会用到很多统计类特征、比率特征。 如果直接使用,比如由于不同item的下发量是不同的,这会让推荐偏向热门的类目,使得越推越窄,无法发现用户的个体差异,也不利于多样性的探索。 我们可以把曝光量进行分段,同一个曝光量级的指标进行比较,也可以用该item所属类目统计量的平均值进行平滑处理。 对于离群值较多的数据,我们会使用更加健壮的处理方法,比如使用中位数而不是均值,基于分位数而不是方差。 而在短视频业务上较短或较长的视频在播放完成度上存在天然的差距,我们按视频本身长度离散,观看时长做分位数处理,同时做威尔逊置信区间平滑,使得各视频时长段播放完成度相对可比,避免出现打分因视频长度严重倾斜的情况。 以及短视频app的投稿数量大,对于长尾的视频和类目都是需要做平滑处理的。 下面介绍两种较为常用的平滑技术。

贝叶斯平滑

电商领域中经常需要计算或预测一些转化率指标,比如CTR。这些转化率可以是模型的预测值,也可以作为模型的特征使用。以商品点击率预测为例,CTR的值等于点击量除以曝光量。理想情况下,例如某个广告点击量是10000次,转化量是100次,那转化率就是1%。但有时,例如某个广告点击量是2次,转化量是1次,这样算来转化率为50%。但此时这个指标在数学上是无效的。因为大数定律告诉我们,在试验不变的条件下,重复试验多次,随机事件的频率近似于它的概率。后者点击量只有2次,不满足“重复试验多次”的条件。如果对于一个新上线的商品,其曝光为0,点击量也为0,此时这件商品的CTR应该设为0还是赋一个初始值?初始值设0是可以的,但不太合理。当CTR作为特征使用时,表示这个商品完全没有点击,不太符合日常推断,通常是赋一个大于0的初始值。

以上两个问题可以使用平滑技术来解决。贝叶斯平滑的思想是给CTR预设一个经验初始值,再通过当前的点击量和曝光量来修正这个初始值。如果某商品的点击量和曝光量都是0,那幺该商品的CTR就是这个经验初始值;如果商品A和商品B的曝光量差别很大,那幺可以通过这个经验初始值来修正。贝叶斯平滑就是确定这个经验值的过程。贝叶斯平滑是基于贝叶斯统计推断的,因此经验值计算的过程依赖于数据的分布情况。对于一件商品或一条广告,对于某次曝光,用户要幺点击,要幺没点击,这符合二项分布。因此对于点击率类的贝叶斯平滑,都可以基于以下假设:对于某件商品或广告,其是否被点击是一个伯努利分布。伯努利分布的共轭分布就是Beta分布,也就是说,点击率服从Beta分布。而所有的数据有一个自身的点击率分布,这个分布可以用不同的beta分布来拟合。beta分布可以看做是对点击率的一个先验知识,我们可以根据观测来修改我们的先验,所以贝叶斯平滑就是估计Beta分布中的参数α和β,其中C和I是点击次数和曝光量。实际应用时根据历史数据得到的α和β可以帮助确定平滑参数的大致范围,防止设置参数时偏离过大。

威尔逊区间平滑

我们在看电影的时候经常会看评分,这个评分是怎么得到的呢?一种非常简单的方法是
得分 = 赞成数 − 反对数 得分=赞成数-反对数 得分=赞成数反对数

在现实生活中我们会接触到很多评分系统,如豆瓣书评、YouTube 影评,在这些评分中有1个共同问题是每个 item 的评分人数是不同的,比如10000 个人打了 90 分似乎比只有 10 个人打了 90分更能被相信该 item 是90分的。威尔逊区间法常用来解决此类问题,是一种基于二项分布的计算方法,综合考虑评论数与好评率,平滑样本量对评价的影响,我们画像兴趣分上也用到了威尔逊区间平滑。

假设u表示正例数(好评),n表示实例总数(评论总数),那么好评率p就等于u/n。p越大,表示这个item的好评比例越高,越应该排在前面。但是,p的可信性,取决于有多少人,如果样本太小,p就不可信。我们已知p是二项分布中某个事件的发生概率,因此我们可以计算出p的置信区间。置信区间实际就是进行可信度的修正,弥补样本量过小的影响。如果样本多,就说明比较可信,不需要很大的修正,所以置信区间会比较窄,下限值会比较大;如果样本少,就说明不一定可信,必须进行较大的修正,所以置信区间会比较宽,下限值会比较小。威尔逊区间就是一个很好的修正公式,在小样本上也具有很强的鲁棒性。

在下面的公式中, p表示样本的好评率,n表示样本的大小,z表示对应某个置信水平的z统计量,是一个常数。一般情况下,在95%的置信水平下,z统计量的值为1.96。可以看到,当n的值足够大时,这个下限值会趋向 p 。如果n非常小,这个下限值会远小于 p,起到了降低好评率的作用,使得该item的打分变低、排名下降。

浅谈微视推荐系统中的特征工程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值