推荐系统中的那些“思维”
Posted 张春宇的日记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推荐系统中的那些“思维”相关的知识,希望对你有一定的参考价值。
“向量化思维”,就是数据都应该转成向量表示,然后交给机器去处理。随着神经网络的普及,几乎所有的数据都可以"to vector"一下。更重要的是,让机器去学习,就要从机器的角度去看数据,而不是从人的角度。由于做数据的过程中,很多时候要照顾人的可看性,所以就保留着人能读懂的样子。但这对机器是非常不友好的,将数据转换成机器能理解的向量格式,是非常重要的一种思维。
“MAB问题”,全称是multi-armed bandit problem。来源于赌博业,赌博机有不止一个推臂,每个推臂的收益满足一定的统计分布,当赌徒推动其中一个推臂时,便能获得一定的报酬。明显,这个报酬是从推臂的相关分布派生的一个随机变量,而赌徒在最初无法得知推臂的报酬的分布情况。赌徒的目的是获得最大的收益。由于每次试验只能选择其中一个推臂,若赌徒选择其中某个推臂的次数达到一定值,那么就可以得出该推臂报酬对应的统计分布情况。同时,如果赌徒只使用其中某一个或者某几个推臂,那么他就减少了使用新的推臂的机会,而这些推臂以一定的概率可能具有更高的报酬。那么赌徒面临的问题是:选择已知报酬均值最高的推臂,来获得较高的报酬,或选择其他未知分布的推臂,以谋求获得可能存在的更高的报酬。这是选择已知推臂或未知推臂的两难问题。该问题由Robbins最早提出,它将多臂赌博机看做一个Agent的统计决策模型,将探索与利用的两难问题变为Agent在最优化决策的同时提升知识。
这个问题本质上就是一个选择问题,选择从经济学角度来看是有成本和收益的。成本就是机会成本,收益就要看问题的目标了。在推荐系统中,解决这个问题的方法是bandit算法,用来解决探索与利用问题,通过多次实验,使得收益确定好的选项多选,确定不好的选项少选,不确定的就是按一定几率去尝试,使预期的收益最大。比如用户的兴趣标签很多,无法全部使用,怎样解决从库中合理的选择标签,使得用户的点击变多。
在职场中的时间越长,就越会发现选择的重要性。整个职场生涯,就是一个MAB问题,怎么在这个问题中获得尽量多的回报。在职场中,可重复实验的选项比较少,但如果能在做选择时评估一下预期收益并作出较好的选择,我想将会对职场这个MAB问题的收益有很大的帮助。这里想到了一个量化方式叫凯利公式。
其中,f*是应该注入的资本比值或者应该投入的精力比例,p是获胜的概率,q是失败的概率,b是赔率。赔率=期望盈利/可能亏损。根据这个公式,胜算越大,赚的越多,投入就越大,更重要的是它提供了一个量化思路。这个公式在赌场和股市的量化交易中广泛应用,赌博真的是不喜欢也逃不开的问题。
“合理的排行榜”,排行榜是一个马太效应非常强的场景,记得以前工作时,相当长的一段时间内top1的搜索就是《武动乾坤》这本小说,其他的请求怎么也突破不了。在前不久和小伙伴们参加一次比赛的时候,还在讨论这个问题--强者恒强,如何才能让其他优秀的候选项能够动态的展现出来。时间重力因子和牛顿冷却定律,就提供了非常好的动态更替方案。同样的,这也提了一个醒,“时间”是在工作实践中最容易忽略的一个重要因素。对于基于好评率的排行榜中,一个通常的问题就是评分人数太少时,这个好评率不具有参考价值,因为一个好评或差评都会给好评率带来巨大的波动。威尔逊区间和贝叶斯平均公式中就考虑了评分数量的因素,让好评率趋于客观、公正。
“数学思维”,数学其实无处不在,数学家们就是在用数学解释这个世界。在这次学习中有两处感触比较深的数学知识应用。一个是指数分布在加权采样中的应用,一个hoeffding不等式在相似度计算剪枝中的应用。
先说指数分布,在教科书上,对指数分布的描述是“假设到银行办理业务的时间是不确定的,那么每个人办理业务时间的概率分布就是指数分布,就是两个事件发生的时间间隔,服从指数分布”。把指数分布的这个意义应用到推荐系统的标签中,权重越大的标签,用户消费的越频繁,也就是间隔的时间越短。所以在采样时,为每个标签构造一个指数分布的随机数,参数就是标签的权重,然后用这个指数分布产生一个随机数,非常的完美。
然后是hoeffding不等式的应用。在实时推荐系统中,会根据用户行为的发生而更新物品之间的相似度,而对于热门物品的更新就会产生巨大的计算量而难以接受。此时就可以考虑进行剪枝,一种剪枝的方法是,某些物品之间的相似度已经接近期望时,就没有必要继续进行更新了。怎么判断已经接近期望了呢,这时就可以用hoeffding不等式。
hoeffding不等式的具体形式如下图:
从hoeffding不等式可以看出,当N逐渐变大时,不等式的上边界越来越接近0,所以样本期望越来越接近总体期望。也就是当更新次数N大于某一值时,样本期望和总体期望之间的差异小于某一指定值epsilon的概率小于等于不等式的右侧。反过来,指定好概率和epsilon,就可以求得这个N值,是不是也非常完美。
由于个人在学习中比较死板,所以对于上面这两种把知识活学活用的场景非常羡慕。
以上是关于推荐系统中的那些“思维”的主要内容,如果未能解决你的问题,请参考以下文章