您的位置:首页 > 其它

论文阅读报告 DCM BANDITS: LEARNING TO RANK WITH MULTIPLE CLICKS

2016-11-20 16:24 381 查看

论文阅读报告

DCM BANDITS: LEARNING TO RANK WITH MULTIPLE CLICKS

摘要

  当用户在搜索引擎上查询感兴趣的条目时,通常得到一个包含相关网页链接的列表。用户从第一个网页链接开始,浏览所有的感兴趣的链接并点击,直至得到想要的结果或者是最后一个链接为止。这种用户浏览行为称为dependent click model(DCM)。论文通过最大化推荐的网页链接推荐满意度,向用户推荐最合适的网页链接。在此报告中,先介绍与论文相关的多臂赌博机问题(multi-armed bandit problem)。然后介绍论文作者在2015年发表的相关论文《Cascading Bandits: Learning to Ranking the Cascade Model》,论文与DCM是类似的。最后是DCM的介绍。

参考资料

https://zhuanlan.zhihu.com/p/21388070 专治选择困难症——bandit算法

http://banditalgs.com/2016/09/18/the-upper-confidence-bound-algorithm/ The Upper Confidence Bound Algorithm

Kveton B, Szepesvari C, Wen Z, et al. Cascading Bandits: Learning to Rank in the Cascade Model[C]// ICML. 2015:767-776.

Katariya S, Kveton B, Szepesvári C, et al. DCM Bandits: Learning to Rank with Multiple Clicks[J]. 2016.

介绍

  搜素引擎通常把推荐的网页链接进行排序,按照相关度来进行排序,最相关的网页放在最前面方便用户浏览。在推荐中往往会考虑用户点击的数据,比如cascade mode(Craswell et al., 2008)是网页搜索中最流行的用户行为模型之一。在2015年,本论文的作者曾提出在线的遗憾优化学习算法(regret-optimal online learning algorithms),此级联模型的主要限制在于不能学习多次点击的行为。

  在论文中作者提出一个在线学习的算法DCM来学习用户多次点击的问题。在每一个时刻t,推荐给用户一个包含K个网页链接的列表,用户从最开始的链接浏览至最后一个链接,当用户找到感兴趣的链接时会点击链接并且浏览网页,然后可能会离开搜索的界面或者继续浏览下一个链接。当用户离开搜索的界面时,DCM会判断用户是否已经得到其想要的信息:如果用户得到想要的结果离开搜索界面,DCM会得到奖励1;如果用户浏览所有的链接并得不到满意的结果,DCM得到奖励0。DCM的目标在于最大化总的奖励,或者说最小化累积遗憾(推荐的K个网页链接和最优的推荐结果间的差异累积)。本论文中的一个挑战是用户是否得到满意结果是未知的。

  在此阅读报告中,着重介绍论文的思想和做法,对于公式的推导过程不做详细的介绍。

多臂赌博机

  多臂赌博机问题(multi-armed bandit problem),与平常生活中遇到各式各样的选择问题是息息相关的。比如:去哪里上大学、选择什么专业、中午吃什么等。为此解决这问题需要进行有策略的进行选择,而这就是bandit算法。其解决的问题如下:

  一个赌徒,要去摇老虎机,走进赌场一看,一排老虎机,外表一模一样,但是每个老虎机吐钱的概率可不一样,他不知道每个老虎机吐钱的概率分布是什么,那么想最大化收益该怎么整?这就是多臂赌博机问题。怎么解决这个问题呢?最好的办法是去试一试,而这个试一试也不是盲目地试,而是有策略地试,越快越好,这些策略就是bandit算法。



  多臂赌博机问题和很多问题之间是有联系的:1. 假设一个用户对不同类别的内容感兴趣程度不同,那么我们的推荐系统初次见到这个用户时,怎么快速地知道他对每类内容的感兴趣程度?这就是推荐系统的冷启动;2. 假设我们有若干广告库存,怎么知道该给每个用户展示哪个广告,从而获得最大的点击收益?是每次都挑效果最好那个么?那么新广告如何才有出头之日?3. 我们的算法工程师又想出了新的模型,有没有比A/B test更快的方法知道它和旧模型相比谁更靠谱?……

  以下本文主要介绍解决此问题的UCB算法。

问题描述

  假设有K个老虎机排列在面前,每一次我们可以选择一个老虎机来按并且获得奖励。但老虎机的选择有两个问题:是应该选择过去回报率高的老虎机,还是选择过去回报率较低但是有潜力的老虎机呢?对此,我们可以假设K个老虎机的奖励独立服从一个概率分布,记录每一轮中老虎机的奖励信息,根据历史信息选择奖励最高的老虎机。在多臂赌博机中,把老虎机称之为臂。

  

UCB算法

  这个算法被认为是乐观面对不确定性:首先每一轮猜测各个臂可能给出的奖励,然后选择奖励最高的臂,如果实际获得的奖励少则减少臂的奖励估计,减少对臂的选择;否则提高臂的奖励估计,增加对臂的选择。里面对臂的奖励估计,则是建立一个指数,通过动态的调整指数参数来对臂的奖励估计。

  所以需要一个定义策略好坏的指标——累积遗憾:一个策略A和一个动作集{K}, 在T时间后的累积遗憾是策略A的期望奖励和最佳臂的期望奖励之差。

  定义策略的奖励为f(A),则最优臂为A∗=argmaxA∈Kf(A),所以策略A的累积遗憾RT(A)=fT(A∗)−fT(A),表示该策略与收益期望最大的臂之间的收益差异。所以一个好的策略应该是最小化:R(n)=E[∑i=1n[Rt(At)]]

  定理:假设X1,X2,...,Xn相互独立且服从1-次高斯分布(方差为1、均值为0),û =∑nt=1Xt/n,可以得到P(û ≥ε)≤exp(−nε22)。

  可以写作:P(û ≥2nlog(1δ))−−−−−−−−√≤δ。

  所以,对于某个老虎机的估计,可能的形式为:û i(t−1)+2Ti(t−1)log(1δ)−−−−−−−−−−−√。

  δ的选择不同产生不同的算法,当δ越小,策略的选择越乐观(因为指数变得更大)。

  UCB算法的具体算法如下:取δ=1/t,t是试验的总次数

对每个臂先试一次观察收益情况;

以后每次选择指数最大的臂u ̂_i (t-1)+√(2/(T_i (t-1)) log⁡(t))。

  UCB算法的累积期望遗憾是O(logN),最坏情况下累积遗憾不超过O(KNlogN−−−−−−−−√)。

Cascading Bandits: Learning to Ranking the Cascade Model

  此论文是阅读论文的作者2015年写的,相当于是一个简化版本。

  对于用户搜索的条目,搜索引擎返回推荐的K个网页链接,通常K个网页链接是按照相关性进行排序的。用户通常从第一个网页链接浏览到最后一个链接,然后选择最感兴趣的链接进行点击浏览。基于这种用户行为,论文中为了解决搜索引擎中的推荐问题,提出了两个模型:CascadeUCB1和CascadeKL-UCB。两个模型的差异在于置信上限的计算不同。

  而且论文中的设定的用户行为模式与现实具有差异的,所以模型不能解决多次点击的行为。

用户行为模式

  用户的行为模式如下图所示:

  



 

算法

  假设总共有n个网页链接,每次向用户推荐K个链接。在第t步得到的奖励认为是推荐的K个网页至少有一个被点击的概率:

f(A,w)=1−∏k=1K(1−w(ak))

  其中A=(a1,…,aK)和w∈[0,1]E。

  所以累积遗憾函数的计算为R(At,wt)=f(A∗,wt)−f(At,wt),A∗=argmaxA∈∏K(E)f(A,w¯¯¯)为理想的网页。

  具体的算法步骤如图所示,思想是和多臂赌博机的类似的:

  



  

w0∼P: wt(e)∈{0,1}表示用户在时间t对链接e的偏好程度。这个偏好是随机的并且服从伯努利分布(用户感兴趣的链接均值为p,不感兴趣的链接均值为p−Δ);

∀e∈E:T0(e)←1:相当于每个链接首先推荐一遍并被浏览;

∀e∈E:ŵ 1(e)←1:每个链接预设浏览了一次并被点击;

Compute UCBs:计算每个链接的置信上限;

At←(at1……atK):选取置信上限最大的K个网页链接进行推荐;

Ct∈1,…,K,∞:表示用户浏览的终止位置,当C_t≤K表示用户找到感兴趣的链接,当C_t=∞表示用户浏览了所有的链接没有找到感兴趣的;

Tt(e)←Tt−1(e)+1:表示链接被浏览的次数加一;

ŵ Tt(e)(e)←⋯:更新浏览过的链接被点击的次数。

  与原先的多臂赌博机问题相比,可以看出计算过程是相似的。每一次像用户推荐K个链接,用户浏览了前Ct≤K个链接,并且点击了第Ct个链接。可以把每个链接看做是一个赌博机,按照置信上限从大到小向用户逐个推荐链接,并且得到一个收益(用户满不满意),而{Ct+1,…,K}的链接没有进行试验。由此看来,与原先多臂赌博机问题的差异在于UCBs的计算。

  CascadeUCB1算法中:Ut(e)=ŵ Tt−1(e))(e)+1.5Tt−1(e)log(t−1)−−−−−−−−−−−−−√,与多臂赌博机相比只是系数上的差异;CascadeKL-UCB算法中:Ut(e)=max{q∈[ŵ Tt−1(e)(e),1]:Tt−1(e)DKL(ŵ Tt−1(e)(e)||q)≤logt+3loglogt},其中DKL(p||q)是两个服从均值为p和q的伯努利分布变量的KL散度,这里是找一个最大的置信上限满足和观测的均值差异在一个区间内。

 

DCM Bandits: Learning to Rank with Multiple Clicks

  上篇论文中,用户的行为假定只点击一个最吸引他的网页。而在实际情况中,用户往往是点击多个感兴趣的页面,当浏览到需要的网页或者不存在感兴趣的网页才终止浏览的行为。论文中假设每个网页对用户的吸引概率是独立的,并且用户在浏览网页后有个终止的概率表示获取到需要的网页。用户依次浏览推荐的K个网页,用户会点击吸引他的网页,当用户点击网页浏览后如果获取到需要的信息则终止浏览,否则继续浏览下一个网页。为此论文中提出了dcmKL-UCB模型。

用户行为模式

  与上一个模型相比,用户会点击多个链接,并且在每一个链接中有一定的概率离开。

  用户行为模式如下图所示:

  



算法

  论文中新增添一个只和位置k相关的终止概率v¯k,表示当用户在浏览第k个链接后终止继续浏览的概率。当存在一个网页链接是吸引用户的,可以看作收益为1,即w(e)=1且v(k)=1。所以在第t步得到的奖励认为是推荐的K个网页至少有一个满足用户的需求的概率:f(A,w,v)=1−∏k=1K(1−v(k)w(ak))

  相应的累积遗憾为:R(At,wt,vt)=f(A∗,wt,vt)−f(At,wt,vt)

  其中A∗=argmaxA∈∏K(E)f(A,w¯¯¯,v¯)为理想的网页,At为推荐的网页。

  具体的算法过程如下:

  


<\center>

  

ct(k):用0或1来表示用户是否点击链接;

2.v¯k:算法中没有出现终止概率的计算,是由于论文中假设v¯1≥⋯≥v¯K是有序的,那么对于任意的v~1≥⋯≥v~K有A∗=argmaxA∈∏K(E)f(A,w¯¯¯,v~),即推荐的K个网页链接和终止概率的大小是无关的。可以证明的是推荐的网页链接按照感兴趣的概率从大到小放置在位置1到K能得到最大的奖励f(A,w,v),证明略。

  在dcmKL-UCB算法中,Ut(e)=max{q∈[w,1]:w=ŵ Tt−1(e)(e),Tt−1(e)DKL(w||q)≤logt+3loglogt},公式上可以看出,和上篇论文的计算是相同的。

实验

算法中预设参数:

总网页链接数L;

用户感兴趣的网页链接数K,假设编号为0——K-1;

用户感兴趣的网页,吸引概率p=0.2;

用户不感兴趣的网页与感兴趣的网页之间的吸引用户概率的gap为∆,所以不感兴趣的网页吸引用户的概率为p-∆;

每个位置的终止概率为γ=0.8。

总的迭代次数n=10^5;

每组实验做20次,取均值作为实验结果。



实验结果可以得出:

期望累积遗憾随着K的增大而减少;

期望累积遗憾随着L的增大而变大;

期望累积遗憾随着∆的减少而变大。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐