068 | 推荐的Exploit和Explore算法之二:UCB算法
洪亮劼
该思维导图由 AI 生成,仅供参考
这周,我们来讨论 EE 策略,周一介绍了 EE 的综合情况。今天来看一种最基本的思路,叫作 UCB(Upper Confidence Bound)算法。
EG 算法
在介绍 UCB 算法之前,我们先来看一种更加简单的 EE 算法,叫 EG(Epsilon-Greedy)算法。
我们先来回顾一下 EE 的主要目的。EE 的核心思想是说,我们对当前物品的估计往往是有限的、不准确的,需要不断尝试来增强对整个环境的了解,进而能够更加准确地对每个物品进行估计。
可以说,EG 算法是最简单也是最基本的 EE 算法。EG 算法的基本思路是这样的:既然我们当前对所有物品的估计是不完整的,那就可以随机地显示所有物品来获取数据。假设我们现在有一千个物品,我们对每个物品都需要估计一个数值,比如点击率。很显然,这个点击率的估计受以下两个因素的影响:已经显示了什么样的物品和显示的次数。那么,要想进一步提高这个估计值的准确度,EG 算法认为我们必须对所有物品进行“探索”(Explore)。
具体来说,EG 算法的流程是这样的:对于所有的物品,在概率 P 的情况下,按照当前的估计值来显示物品。回到刚才点击率的例子,那就是在概率 P 的情况下,谁的点击率高就显示谁。然后在概率 1-P 的情况下,随机地在所有物品中选择显示对象。如果我们从所有用户的角度来看,也就是说,P% 的用户看到的是根据点击率排序的物品,而 (1-P)% 的用户看到的是随机的物品。
EG 的想法是,虽然在最开始的时候,这种随机性可能会带来用户体验的下降,也就是那 (1-P)% 的用户会持续看到随机的内容,但是在牺牲这部分用户体验的情况下,随着时间的推移,慢慢地从整体上来看,对所有物品的估计会更加准确,P% 的那部分用户的体验会增加。这也就是一种牺牲小部分用户体验来换取大部分用户体验的思路。
UCB 算法的核心思路
我们刚才讲了 EG 算法的基本思路。很显然,EG 有一个很大的问题,那就是有一个固定百分比的用户持续看到的都是随机的内容,这就太过于局限。
那么,我们能不能根据对物品的估计,来动态地调整显示物品的可能性呢?
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
UCB算法是一种用于推荐系统中的Explore-Exploit策略的算法。在介绍UCB算法之前,文章首先介绍了更简单的EE算法——EG算法。EG算法通过随机显示物品来获取数据,以增强对整个环境的了解。然后,文章详细解释了UCB算法的核心思想,即通过考虑物品的估计值和置信度来动态地调整显示物品的可能性。UCB算法的提出备受学术界关注,因为相比于EG算法,UCB算法不需要固定百分比的用户持续看到随机内容,也没有需要调整的参数。然而,UCB算法也存在问题,最大的问题在于对物品打分的机制,即均值加上两倍的标准差。在实际应用中,对绝大多数物品的打分数值可能是相同的,这导致UCB算法并没有设计任何机制来加以区分。因此,UCB算法本质上还是“确定性”算法,并不能真正做到随机探索。最后,文章留下一个思考题,即如果有一大堆物品的UCB打分值是一样的,该如何解决这个问题。文章内容深入浅出,对UCB算法的优劣势进行了清晰的阐述,为读者提供了深入了解推荐系统中Explore-Exploit策略的算法的重要参考。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《AI 技术内参》,新⼈⾸单¥98
《AI 技术内参》,新⼈⾸单¥98
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- 不玩请问标准差是怎么计算的?我理解经验的点击率就是总的click除以总的show2018-11-041
- 林彦如果有一大堆物品的 UCB 打分值是一样的,是不是可以考虑引进一个随机数来打破平衡? 搜索资料过程中提到LinUCB可以根据物品的特征,涉及的用户特征,所在页面的信息得出一些特征值,用这些特征值的组合计算来预估物品的期望值和UCB值作为打分,再根据实际结果更新特征值。我的理解分数一样时也是先随机选择一个。 Thompson sampling会引入概率分布,每次生成的值是根据参数已计算好的概率分布来生成的,是随机的。2018-03-23
收起评论