利用 Bandit 算法设计的推荐算法可以较好地解决上述问题。 根据是否考虑上下文特征,Bandit算法分为context-free bandit和contextual bandit两大类。 算法伪代码(single-play bandit algorithm): 与传统方法的区别: 每个候选商品学习一个独立的模型,避免传统大一统模型的样本分布不平衡问题 传统方法采用贪心策略,尽最大可能...
Bandit算法是一类用来实现Exploitation-Exploration机制的策略。根据是否考虑上下文特征,Bandit算法分为context-free bandit和contextual bandit两大类。接下来我们即将介绍考虑上下文特征的一种在线学习算法-LinUCB,我们在计算参数及最后推荐结果的时候,用到以下几部分的信息:上下文特征 x,用户的反馈 c。而这些信息在每次反馈...
Bandit算法是一类用来实现Exploitation-Exploration机制的策略。根据是否考虑上下文特征,Bandit算法分为context-free bandit和contextual bandit两大类。 Context-free Bandit算法有很多种,比如 、softmax、Thompson Sampling、UCB(Upper Confidence Bound)等。 UCB这样的context-free类算法,忽略了用户作为一个个活生生的个体本身...
Bandit算法是一类用来实现Exploitation-Exploration机制的策略。根据是否考虑上下文特征,Bandit算法分为context-free bandit和contextual bandit两大类。 1. UCB Context-free Bandit算法有很多种,比如 ϵ−greedy、softmax、Thompson Sampling、UCB(Upper Confidence Bound)等。 在此,重点介绍一下UCB方法的基本思想。在统...
这种做法可以让我们得知如果线上展现的是新算法的结果的话,用户会如何反馈,是点击还是不点击。下图展示了不同bandit算法的效果: 下图是一个具体的例子: 线上表现 与离线评估一致,算法上线后确实表现出了明显的提升,同时作者也观察到了在replay技术下离线指标的提升和线上指标提升之间是存在相关性的。同时也观察到了...
离线评测时,计算出新算法的推荐结果,并在1中的日志里寻找推荐结果与新算法结果一致的数据,也就是上图中的用户1、2和4,然后计算这个集合中用户的点击率,上图中也就是2/3。 这种做法可以让我们得知如果线上展现的是新算法的结果的话,用户会如何反馈,是点击还是不点击。下图展示了不同bandit算法的效果: ...
转:Contextual Bandit算法在推荐系统中的实现及应用 http://xudongyang.coding.me/linucb/
第四步,更新,因为执行完action 之后,我有一个user 的feedback,可以去更新model 的参数。关于Contextual Bandit 比较有名的算法,我这里列举了两篇,第一篇就是LinUCB (WWW,2010),第二篇是Thompson Sampling (ICML,2013) 下面就引入我们下面那个topic,如何在有限的探索资源下去做Contextual Bandit的决策问题。场景如...
论文分析了已有的Bandit算法,包括UCB、E-Greedy、Thompson Smapling,然后提出了LinUCB算法,LinUCB分为两种: 简单的线性不相交模型 disjoint LinUCB 混合相交的线性模型 hybrid LinUCB 概述 人生中有很多选择问题,当每天中午吃饭的时候,需要选择吃饭的餐馆,那么就面临一个选择,是选择熟悉的好吃的餐馆呢,还是冒风险选择一个...
LinUCB等基于bandit的算法面临一些问题:(1)LinUCB一次只能选择一个arm,而在推荐系统中,往往一次需要给出一个推荐列表,即需要选择多个arm;(2)推荐系统中往往面临着position bias与pseudo-exposure问题。 position bias: 推荐的item的ctr受位置影响,推荐位置较高的item,ctr天然就会更高。