原文链接:
Bandit Algorithms for e-commerce Recommender Systems:extended abstract
另外参考:
bandit算法与推荐系统
一、推荐系统(item-to-item场景下)是否需要考虑强化学习?
在电子商务网站的产品页使用推荐系统,是为了通过提高增销(upsale)的几率从而增加订单价值(比如,本来想买汉堡,结果又买了一包薯条)。
如果一个推荐系统仅预测下一次购买的几率,那么很有可能就算没有推荐,下一次购买行为也会发生。实际上订单价值并没有增加。
我们真正应该注意false negtive(预测购买欲望低,但实际购买了的),这类购买的发生增加了订单价值。
二、进一步阐述
1. 术语解释
multi-armed bandit problem(MAB问题):
a)有一排老虎机,一个赌徒需要决定:玩哪台老虎机?一个老虎机玩几次?按什么顺序玩这排老虎机?
每个老虎机按它的特定概率分布,随机提供奖励。赌徒的目标就是最大化收益。
赌徒事先并不知道这些老虎机的任何信息,因此在过程中他面临exploitation-exploration困境:是去进一步探索(exploration)其他老虎机的相关信息,还是去玩(exploitation)在已知信息下期望收益最大的那台老虎机。
b)进一步说,EE问题(exploitation-exploration)可以拓展为最大化已知和探索未知的矛盾。在实际应用中,explore的成本是显而易见的(周期长、前景未知),exploitation却是舒适的、受人欢迎的。因此大部分人乐意做exploitation,而不是exploration。
c)这个多臂问题,推荐系统里很多问题都与它类似:
· 假设一个用户对不同类别的内容感兴趣程度不同,那么我们的推荐系统初次见到这个用户时,怎么快速地知道他对每类内容的感兴趣程度?
· 假设我们有若干广告库存,怎么知道该给每个用户展示哪个广告,从而获得最大的点击收益?是每次都挑效果最好那个么?那么新广告如何才有出头之日?
· 我们的算法工程师又想出了新的模型,有没有比A/B test更快的方法知道它和旧模型相比谁更靠谱?
· 如果只是推荐已知的用户感兴趣的物品,如何才能科学地冒险给他推荐一些新鲜的物品?
Thompson sampling
解决MAB问题的算法称为bandit算法,Thompson sampling是其中的一种。
TS的具体实现可以是:
每个臂的产生收益的概率都分别服从一个bata分布Beta(win, lose);每一次用现有的beta分布生成随机数,选择产生随机数最高的臂;若该臂获得收益,则win+1,否则lose+1;循环迭代。
2. 具体描述
problem:
item-to-item recommendation
model:
ensemble learner,a collection of base recommendation algorithms
bandit arms are extended to be:
non-stationary and non-answering