DRN: A Deep Reinforcement Learning Framework for News Recommendation
DRN:一个新闻推荐的深度强化学习框架
参考链接:https://blog.csdn.net/weixin_41864878/article/details/90080576
摘要
本文提出了一种新的新闻推荐深度强化学习框架。由于新闻特性和用户偏好的动态性,在线个性化新闻推荐是一个极具挑战性的问题。虽然已经提出了一些在线推荐模型来解决新闻推荐的动态性,但是这些方法有三个主要问题。🐸首先,他们只尝试模拟当前的奖励(例如,点击率Click Through Rate)。🐸第二,很少有研究考虑使用用户反馈user feedback而不是点击/不点击标签 click / no click labels (例如,用户返回的频率how frequent user returns)以帮助改进推荐。🐸第三,这些方法倾向于不断向用户推荐类似的新闻,这可能会让用户感到厌烦。因此,为了应对上述挑战,我们提出了一个基于深度Q学习的推荐框架,该框架可以明确地为未来奖励建模。我们进一步考虑用户返回模式作为点击/不点击标签的补充,以捕获更多的用户反馈信息。此外,还采用了有效的探索策略,为用户寻找新的有吸引力的新闻。在一个商业新闻推荐应用程序的离线数据集和在线生产环境上进行了大量的实验,结果表明我们的方法具有优越的性能。
1. INTRODUCTION
在线内容和服务的爆炸式增长为用户提供了大量的选择。例如,最受欢迎的在线服务之一,新闻聚合服务,如谷歌新闻[15],可以提供超过用户消化量的内容。因此,个性化的在线内容推荐对于改善用户体验是必要的。
提出了几组方法来解决在线个性化新闻推荐问题,包括基于内容的方法[19,22,33],基于协同过滤的方法[11,28,34]和混合方法[12,24,25]。最近,作为对以前方法的扩展和集成,深度学习模型[8,45,52]由于能够对复杂的用户项(i。E(新闻)互动。然而,这些方法并不能有效解决新闻推荐中的以下三个难题。
首先,新闻推荐中的动态变化很难处理。新闻推荐的动态变化可以表现为两个方面。☀️首先,新闻很快就过时了。在我们的数据集中,一条新闻发布到最后一次点击之间的平均时间是4.1小时。因此,新闻特征和新闻候选集正在迅速变化。☀️其次,用户对不同新闻的兴趣可能会随着时间的推移而变化。
例如,图1显示了一个用户在10周内阅读的新闻类别。在最初的几周里,该用户更喜欢阅读“政治”(图1中的绿色条),但随着时间的推移,他的兴趣逐渐转移到“娱乐”(图1中的紫色条)和“技术”(图1中的灰色条)。因此,有必要定期更新模型。尽管有一些在线推荐方法[11,24]可以通过在线模型更新捕获新闻特征和用户偏好的动态变化,但它们只会尝试优化当前奖励(例如,点击率),因此忽略当前建议可能对未来产生的影响。例1.1给出了一个说明考虑未来的必要性的例子。
文中的意思 是:随着时间的推移,用户的兴趣爱好可以转移。当前对用户的推荐可能对未来产生影响,因此要考虑未来的奖励。
示例1.1. 当用户Mike请求新闻时,推荐代理 recommendation agent预见到他几乎有相同的概率点击两条新闻:一条关于雷雨警报,另一条关于篮球运动员科比·布莱恩特。然而,根据迈克的阅读偏好、新闻的特点以及其他用户的阅读模式,我们的经纪人推测,在阅读了关于雷雨的新闻后,迈克将不再需要阅读关于这一警报的新闻,但在阅读了关于科比的新闻后,他可能会阅读更多关于篮球的内容。这表明,推荐后一条新闻将带来更大的未来回报。因此,从长远来看,考虑未来奖励将有助于提高推荐绩效。
文中的意思 是:拿出两条“新闻”案例,来比较其未来价值。这里可以窥探到,其未来价值 与未来的点击率有关系。
其次,目前的推荐方法[23,35,3643]通常只考虑点击/不点击标签或评级作为用户的反馈。然而,一个用户返回该服务的时间[48]也将表明该用户对该建议的满意度。尽管如此,在尝试合并用户返回模式以帮助改进推荐方面几乎没有工作。
这里似乎探测出:新闻的价值奖励不仅仅包括 将点击标签作为用户反馈,同时也应该包含用户对推荐的满意度。
当前推荐方法的第三个主要问题是它倾向于不断向用户推荐相似的项目,这可能会降低用户对相似主题的兴趣。在文献中,一些强化学习方法已经提出增加一些随机性寻找新项目的决策(例如,探索)。最先进的强化学习方法通常采用简单的ϵ-greedstrategy[31]或置信上限(UCB)[23,43](mainly for Multi-Armed Bandit methods)。然而,这两种策略都可能在短期内对推荐性能造成一定程度的损害。ϵ-greedy策略可能会向客户推荐完全不相关的物品,但只有在该物品尝试多次后,才能获得相对准确的奖励估计。因此,有必要进行更有效的探索。
文中的意思是:当前的推荐方法倾向于相似项目的推荐,但这会造成“审美疲劳”.因此需要拓宽新的项目推荐,在使用ϵ-greedy策略时,出现的问题时:无法立即获得该推荐的奖励,只有通过多次尝试后才可知。
因此,在本文中,我们提出了一个深度强化学习框架,可以帮助解决在线个性化新闻推荐中的这三个挑战。首先,为了更好地模拟新闻特征和用户偏好的动态性质,我们建议使用深度Q学习(DQN)[31]框架。该框架可以同时考虑当前的回报和未来的回报。最近在推荐中使用强化学习的一些尝试要么没有明确地对未来奖励进行建模(基于MAB的作品[23,43]),要么使用离散用户日志来表示状态,因此无法扩展到大型系统(基于MDP的作品[35,36])。相比之下,我们的框架使用DQN结构,可以轻松地进行扩展。第二,我们考虑用户返回作为另一种形式的用户反馈信息,通过保持每个用户的活动得分。不同于现有工作(48),只能考虑最近的返回区间,我们考虑多个历史返回区间信息来更好地测量用户反馈。此外,与[48]不同,我们的模型可以在任何时候(而不仅仅是在用户返回时)估计用户的活跃度。此属性启用DQN中使用的体验重播更新。第三,我们建议应用Dueling Bandit梯度下降(DBGD)方法[16,17,49]进行探索,在当前推荐者的邻域中选择随机候选项。这种探索策略可以避免推荐完全不相关的项目,从而保持更好的推荐准确性。
- MAB问题:多臂赌博机问题(Multi-armed bandit problem)(后续值得了解)
- 大型系统的奖励建模:解决方法-DQN
- 用户反馈信息的时区拓展:考虑多个历史返回区间的信息
- 探索时避免完全不相干推荐:采用DBGD的方法 --》问题在于,连续的MDP?怎么解决呢?
我们的深层强化推荐系统如图2所示。我们遵循强化学习[37]中的常用术语来描述该系统。在我们的系统中,用户池(user pool)和新闻池(news pool)构成了环境,我们的推荐算法起到了代理的作用。状态定义为用户的功能表示,动作定义为新闻的功能表示。每当用户请求新闻时,一个状态表示(即,用户特征)和一组动作表示(即,新闻候选人的特征)将传递给代理。代理将选择最佳操作(即:向用户推荐新闻列表)并获取用户反馈作为奖励。具体而言,奖励由点击标签和用户活跃度评估组成。所有这些建议和反馈日志都将存储在代理的内存中。每隔一小时,代理将使用内存中的日志更新其推荐算法。
我们的贡献可以总结如下:
- 我们提出了一个强化学习框架来进行在线个性化新闻推荐。与以前的研究不同,该框架采用DQN结构,可以兼顾即时和未来的回报。虽然我们专注于新闻推荐,但我们的框架可以推广到许多其他推荐问题。
- 我们认为用户的积极性有助于提高推荐准确度,这可以提供额外的信息比简单地使用用户点击标签。
- 采用了一种更为有效的搜索方法(Dueling Bandit Gradient Descent),避免了经典搜索方法(ϵ-greedyandUpper Confidence Bound)导致的推荐精度下降。
- 我们的系统已经在线部署在一个商业新闻推荐应用程序中。大量的离线和在线实验表明,我们的方法具有优越的性能。
论文的其余部分组织如下。第2节讨论了相关工作。然后,第3节介绍了问题的定义。第4节介绍了我们的方法。之后,第5节给出了实验结果。最后,第6节给出了简要结论。
2. RELATED WORK
2.1 News recommendation algorithms
推荐系统[3,4]已被广泛研究,因为它与产品利润直接相关。近年来,随着网络内容的爆炸式增长,推荐的一种特殊应用——在线个性化新闻推荐受到了越来越多的关注。传统的新闻推荐方法可以分为三类。✋基于内容的方法[19,22,33]将保持新闻术语频率特征(例如。GTF-IDF)和用户配置文件(基于历史新闻)。然后,推荐者将选择更类似于用户配置文件的新闻。相比之下,✋协同过滤方法[11]通常利用当前用户或类似用户的过去评级[28,34]或这两种方法的组合来进行评级预测[11]。为了结合前两组方法的优点,进一步提出了✋混合方法[12,24,25],以改进用户配置文件建模。最近,作为先前方法的扩展和集成,👌深度学习模型[8,45,52]由于能够建模复杂的用户项关系,已经显示出比前三类模型更优越的性能。与对用户和项目之间的复杂交互进行建模不同,我们的算法侧重于处理在线新闻推荐的动态性质,以及对未来奖励的建模。然而,这些特征构造和用户项建模技术可以很容易地集成到我们的方法中。
文中讲了三种传统方法:基于内容、基于评级、混合方法
新方法:深度学习模型。侧重于处理新闻推荐的动态性质和对未来奖励的建模
2.2 Reinforcement learning in recommendation
2.2.1 Contextual Multi-Armed Bandit models.
一组工作[5,7,23,40,44,50]开始将该问题描述为上下文多臂赌博机问题(MAB)( a Contextual Multi-Armed Bandit (MAB) problem),其中上下文包含用户和项目特征。[23]假设预期报酬是上下文的线性函数。[39]使用 ensemble of bandits来提高性能,[40]提出了一种无参数模型,[50]解决了用户随时间变化的兴趣。最近,一些人尝试将bandit与基于聚类的协同过滤( clustering based collaborative filtering[14])和矩阵分解[6,21,32,42,43,51]相结合,以建模更复杂的用户和项目关系,并利用社交网络关系确定奖励函数。然而,我们的模型与这些工作明显不同,因为通过应用马尔可夫决策过程,我们的模型能够显式地为未来的奖励建模。从长远来看,这将大大提高推荐的准确性。
问题可以描述为:contextual MAB问题。
- contextual包含了 用户特征、项目特征
- 预期报酬
- 旧方法:【23】线性函数;【39】;【40】;【50】;…
- 新方法: MDP
2.2.2 Markov Decision Process models.
也有一些文献试图使用马尔可夫决策过程来模拟推荐过程。与基于MAB的方法相比,基于MDP的方法不仅可以捕获当前迭代的回报,还可以捕获未来迭代的潜在回报。[26,27,35,36,38]尝试将项目或项目的n-gram建模为状态(或部分观察到的MDP中的观察),并将项目之间的转换(下一个项目的建议)建模为动作。然而,这不能扩展到大型数据集,因为当项目候选集变大时,状态空间的大小将呈指数增长。此外,状态转换数据通常非常稀疏,只能用于学习与特定状态对应的模型参数过渡。因此,该模型确实很难学习。与文献不同的是,我们提出了一个具有连续状态和动作表示的MDP框架,该框架使得系统能够通过使用所有状态、动作和奖励元组来扩展和有效地学习模型参数。
旧的MDP表示
- 状态(item or n-gram of items);动作( transition between items)
- 问题:不能扩展到大型数据,因为 item candidate增多时,状态空间的大小呈指数增长。状态空间增大后,则状态之间的转化会变得稀疏。(某些状态之间的转化会变得极小以致于忽略,会转变成特定状态之间转换的模型)
- 解决方法:连续状态和动作。则可以将忽略掉的补足
3. PROBLEM DEFINITION
我们将问题定义如下:
当用户在时间 t 向推荐代理 G 发送新闻请求时,给定一个候选新闻集,我们的算法将为该用户选择一个适合该用户的 top-k新闻的列表 L 。表1总结了本文中使用的符号。
4. METHOD
个性化新闻推荐近年来吸引了大量关注[11,23,45]。目前的方法通常可分为基于内容的方法[19,22,33]、基于协同过滤的方法[11,28,34]和混合方法[12,24,25]。最近,许多深度学习模型[8,45,52]被进一步提出,以模拟更复杂的用户项交互。当新闻推荐问题发生在在线场景中时,由于三个原因,它变得更具挑战性。首先,由于新闻特征和用户偏好的高度动态性,需要在线学习。其次,仅使用点击/不点击标签不会捕获用户对新闻的完整反馈。第三,传统的推荐方法倾向于推荐相似的项目,并且会缩小用户的阅读选择范围。从长远来看,这将使用户感到厌烦,并导致用户满意度下降。
为了应对这三个挑战,我们提出了一个基于DQN的深度强化学习框架来进行在线个性化新闻推荐。具体来说,我们使用用户的连续状态特征表示和项目的连续动作特征表示作为多层深度Q网络的输入来预测潜在奖励(eg,用户是否会点击这条新闻 whether user will click on thispiece of news)👏首先,由于DQN的在线更新,该框架可以处理新闻推荐的高度动态性。同时,DQN不同于普通的在线方法,因为它能够推测用户和新闻之间未来的互动。👏其次,我们建议结合user activeness(eg,用户在一次推荐后返回应用程序的频率)和单击标签( click labels)作为用户的反馈。👏第三,我们建议在我们的算法中应用Dueling Bandit梯度下降探索策略[16,49],这既可以提高推荐多样性,又可以避免像ϵ-贪婪[31]和置信上限[23]这样的经典探索策略对推荐精度的伤害.
应对三个挑战 在 多层深度Q网络上的改变
- 连续性: 用户的连续特定,项目表示的连续动作特性
- 动态性: 在线更新
- 用户反馈:user activiness and click labels 的结合
- 探索策略: dueling bandit 梯度下降策略
我们的方法明显不同于MAB方法组[5,7,23,40,44,50],因为它对未来奖励进行了显式建模,也不同于以前使用用户日志的MDP方法[27,35,36,38],因为它连续表示状态和动作,并且能够扩展到大型系统。
在本节中,我们将首先介绍第4.1节中的模型框架。然后,我们将在第4.2节中说明特征构造,并在第4.3节中说明深度强化学习模型。然后,在第4.4节中讨论用户主动性考虑的设计。最后,第4.5节介绍了探索模块。
4.1 Model framework
fig3 解析
offline part
输入:interaction log(即User news features.)这25个维度的特征描述了用户和某条新闻之间的交互,即实体(以及类别、主题类别和提供者)出现在用户阅读历史记录中的频率。
model:多层深Q网络
输出:预测奖励(奖励:用户活跃度和点击标签)online part
t1输入:用户u1的特征(User features)【见4.2】 和 候选新闻特征(News features)【见4.2】。
model: current network Q Q Q【见4.3】 和 explore network Q ~ \tilde{Q} Q~【见4.5】
- current network Q Q Q --参数W–>生成推荐列表 L L L
- Explore Network Q ~ \tilde{Q} Q~—参数 W ~ \tilde{W} W~–>生成推荐列表 L ~ \tilde{L} L~
push: 概率交织 probabilistic interleave—>生成合并的推荐列表 L ^ \hat{L} L^
Faceback:用户反馈
Minor update :模型的探索
- 如果 L ^ \hat{L} L^中的 i i i(来自于 L ~ \tilde{L} L~)收到的反馈好,则W–> W ~ \tilde{W} W~变化(见公式8)
- 如果 L ^ \hat{L} L^中的 i i i(来自于 L ~ \tilde{L} L~)收到的反馈不好,则 W不变化
输出:user-news的反馈给 Memory
Major update: 大更新网络Q
- 数据:用户反馈 和 用户活动 user feedbackBand user activeness
- 更新:replay technique
- model :跟 offline的模型类似(应该结构相同,参数的调整)
- 方法:抽样最近的历史点击和用户记录 维护模型;发生在特定间隔
- 图示: M 3 1 M^1_3 M31表示第一轮的第3个时刻后; M 1 2 M^2_1 M12表示第二轮大跟新后的第一个时刻。
如图3所示,我们的模型由离线部分和在线部分组成。在离线阶段,从新闻和用户中提取四种特征(将在第4.2节中讨论)。采用多层深Q网络预测奖赏(即,用户新闻点击标签和用户活跃度的组合)来自这四种功能。该网络使用离线用户新闻点击日志进行培训。然后,在在线学习部分,我们的推荐代理将通过以下方式与用户交互并更新网络:
💃(1)PUSH( 推送):在每个时间戳(t1、t2、t3、t4、t5…)中,当用户向系统发送新闻请求时,推荐代理将当前用户和候选新闻的特征表示作为输入,并生成要推荐的top-k新闻列表L。通过结合当前模型(将在第4.3节中讨论)的探索和新项目(将在第4.5节中讨论)的探索 生成的 L。
💃(2)FACEBACK( 反馈):收到推荐新闻L的用户u将通过点击这组新闻给出反馈B
💃(3)MINOR UPDATE(小更新):在每个时间戳之后(例,在时间戳t1)之后,使用【 previous user **u ** news list L ,feedback B 】的特征表示, agent G将通过比较勘测网络Q和勘探网络
Q
~
\tilde{Q}
Q~的推荐性能来更新模型 (将在第4.5节中讨论)。如果
Q
~
\tilde{Q}
Q~给出了更好的推荐结果,则当前网络将向
Q
~
\tilde{Q}
Q~更新。否则,Q将保持不变。每次推荐印象出现后,都会进行小的更新。
💃(4)MAJOR UPDATE(大更新):经过一段时间
T
R
T_R
TR后,(例如,在时间戳t3之后),agent G将使用存储在内存中的 用户反馈和用户活动来更新network Q。这里,我们使用体验重播技术( replay technique)[31]来更新网络。具体来说,agent G 使用最近的历史点击和用户活动记录维护内存。每次更新发生时,agent G 都会对一批记录进行采样以更新模型。主要更新通常发生在特定的时间间隔,如一小时,在此期间进行数千次推荐印象并收集反馈.
💃(5) 重复步骤(1)-(4)。
4.2 Feature construction
为了预测用户是否会点击某条新闻,我们构建了四类功能:
- 新闻特写包括417个维度一热点特写,这些特写描述了某个属性是否出现在这条新闻中,包括标题、提供者、排名、实体名称、类别、主题类别以及最近1小时、6小时、24小时、1周和1年的点击数。
- 用户特性主要描述以下特性(即:用户分别在1小时、6小时、24小时、1周和1年内点击的新闻的标题、提供者、排名、实体名称、类别和主题类别)。每个时间粒度也有一个总的点击次数。因此,总共将有413×5=2065个尺寸。
- 用户新闻特征。这25个维度的特征描述了用户和某条新闻之间的交互,即。E实体(以及类别、主题类别和提供者)出现在用户阅读历史记录中的频率。
- 上下文特征。这些32维特征描述了新闻请求发生时的上下文,包括时间、工作日和新闻的新鲜度(请求时间和新闻发布时间之间的间隔)。
为了重点分析强化学习推荐框架,我们没有尝试添加更多的功能,例如,文本特征[45]。但它们可以很容易地集成到我们的框架中,以获得更好的性能。
4.3 Deep Reinforcement Recommendation
考虑到前面提到的新闻推荐的动态特性和估计未来回报的需要,我们应用深度Q网络(DQN)[31]来建模一个用户可能点击一条特定新闻的概率。在强化学习的设置下,用户点击一条新闻(以及未来推荐的新闻)的概率本质上是我们的代理可以获得的奖励。因此,我们可以将总报酬建模为方程1。
y
s
,
a
=
Q
(
s
,
a
)
=
r
i
m
m
e
d
i
a
t
e
+
γ
r
f
u
t
u
r
e
(1)
y_{s,a}=Q(s,a)=r_{immediate}+\gamma r_{future}\tag{1}
ys,a=Q(s,a)=rimmediate+γrfuture(1)
当状态s由 上下文特征和用户特征表示,动作a 由news 特征和用户新闻交互 特征表示时,
r
i
m
m
e
d
i
a
t
e
r_{immediate}
rimmediate表示奖励(即,用户是否点击这条新闻)了解当前情况,以及
r
f
u
t
u
r
e
r_{future}
rfuture显示代理对未来奖励的预测。γ是一个折扣因子,用于平衡即时奖励和未来奖励的相对重要性。具体地说,在当前状态s下,我们使用DDQN[41]目标通过在方程式2中的时间戳上采取行动来预测总奖励。
y
s
,
a
,
t
=
r
a
,
t
+
1
+
γ
Q
(
s
a
,
t
+
1
,
arg
m
a
x
a
′
Q
(
s
a
,
t
+
1
,
a
′
;
w
t
)
)
(2)
y_{s,a,t}=r_{a,t+1}+\gamma Q(s_{a,t+1},\arg max _{a'} Q(s_{a,t+1},a';w_t))\tag{2}
ys,a,t=ra,t+1+γQ(sa,t+1,argmaxa′Q(sa,t+1,a′;wt))(2)
其中,
r
a
,
t
+
1
r_{a,t+1}
ra,t+1通过采取行动a后的 即时奖励(下标t+1是因为奖励总是比动作延迟1个时间段)。这里,
W
t
W_t
Wt和
W
’
t
W’_t
W’t是DQN的两组不同参数。在这个公式中,我们的代理 G将推测下一个状态
s
a
,
t
+
1
s_{a,t+1}
sa,t+1,如果选择了动作 a。在此基础上,给定一组候选动作集合 {a′},根据参数
W
t
W_t
Wt选择给出最大未来报酬的动作 a′。然后,根据
W
′
t
W′_t
W′t计算对于给定状态
s
a
,
t
+
1
s_{a,t+1}
sa,t+1估计未来报酬。每隔几次迭代,
W
t
W_t
Wt和
W
t
′
W'_t
Wt′将切换。这种策略已经被证明可以消除Q的过度乐观的价值估计[41]。通过这个过程,DQN将能够考虑当前和未来的情况做出决策。
如图4所示,我们将这四类features提供给网络。用户特征和上下文特征用作 状态特征,而用user-news features和congtest features用作 动作特征。一方面,在某些状态 s 采取行动 a 的回报与所有特征密切相关。另一方面,由用户自身特征决定的奖励(例如,该用户是否处于活动状态,该用户今天是否阅读了足够的新闻)更多地受用户状态和上下文的影响。基于这一观察,如[47],我们将Q函数分为价值函数 V ( s ) V(s) V(s)和优势函数 A ( s , a ) A(s,a) A(s,a),其中 V ( s ) V(s) V(s)仅由状态特征决定, A ( s , a ) A(s,a) A(s,a)由状态特征和动作特征共同决定。
4.4 User Activeness
传统的推荐系统只关注于优化类CTR指标(即仅使用单击/不单击标签),它仅描述来自用户的部分反馈信息。推荐的数量也可能影响用户是否想再次使用该应用程序,即E更好的推荐将增加用户与应用程序交互的频率。因此,用户主动性的变化也应该得到适当的考虑。
用户以非统一模式请求新闻。用户通常在短时间内阅读新闻(例,30分钟),在此期间,他们将要求或点击高频率的新闻。然后,当他们想在几个小时后阅读更多新闻时,他们可能会离开应用程序并返回应用程序。当用户请求新闻时,会发生用户返回(用户总是在单击新闻之前请求新闻,因此,也会隐式地考虑用户单击)。
我们使用生存模型[18,30]来模拟用户回报和用户活跃度。生存分析[18,30]已应用于估计用户返回时间[20]领域。假设
T
T
T是下一个事件(即用户返回),然后hazard function(即事件发生的瞬时速率)可定义为方程3[1,30]
λ
(
t
)
=
lim
d
t
→
0
P
r
(
t
≤
T
≤
t
+
d
t
∣
T
≥
t
)
d
t
(3)
\lambda(t)=\lim _{dt\to 0} \frac{Pr(t\leq T\leq t+dt|T\geq t)}{dt}\tag{3}
λ(t)=dt→0limdtPr(t≤T≤t+dt∣T≥t)(3)
然后,事件发生的概率可定义为方程4[1,30]
S
(
t
)
=
e
−
∫
0
t
λ
(
x
)
d
x
(4)
S(t)=e^{-\int_0^t\lambda(x)dx}\tag{4}
S(t)=e−∫0tλ(x)dx(4)
预期寿命t0可计算为[1,30]
T
0
=
∫
o
∞
S
(
t
)
d
t
(5)
T_0=\int_o^{\infty}S(t)dt\tag{5}
T0=∫o∞S(t)dt(5)
在我们的问题中,我们只需设置
λ
(
t
)
=
λ
0
\lambda(t)=\lambda_0
λ(t)=λ0,这意味着 每个用户都有一个恒定的返回概率。每次我们检测到用户返回,我们对于这个特定的用户将设置为
S
(
t
)
=
S
(
t
)
+
S
a
S(t)=S(t)+S_a
S(t)=S(t)+Sa.用户活跃度得分不会超过1。例如,如图5所示,此特定用户的user activeness从
s
0
s_0
s0开始在时间
t
0
t_0
t0衰减。在时间t1,用户返回,这导致user activeness增加
s
a
s_a
sa。然后,user activeness在
t
1
t_1
t1之后继续衰减。类似的事情发生在2、t3、t4和t5。注意,尽管该用户在t4tot9期间具有相对较高的请求频率,但最大用户活跃度被截断为1。
参数 s 0 , S a , λ 0 , t 0 s_0,S_a,λ_0,t_0 s0,Sa,λ0,t0根据数据集中的实际用户模式确定。 S 0 S_0 S0被设置为0.5以表示用户的随机初始状态(他或她可以是活跃的,也可以是不活跃的)。我们可以观察用户每两次连续请求之间的时间间隔直方图,如图6所示。我们观察到,除了一天内多次阅读新闻外,人们通常每天定期返回应用程序。所以我们设定为24小时。根据等式4和等式5,衰减参数 λ 0 λ_0 λ0设置为 1.2 × 1 0 − 5 1.2×10^{−5} 1.2×10−5秒−1。此外,每次单击设置为 0.32 0.32 0.32,用户活跃度增加 s a s_a sa。以确保用户在一个每日基本请求后返回初始状态,即 S 0 e − λ 0 T 0 + S a = S 0 S_0e^{-\lambda_0T_0}+S_a=S_0 S0e−λ0T0+Sa=S0
点击/否点击标签
r
c
l
i
c
k
r_{click}
rclick和用户活动性指数
r
a
c
t
i
v
e
r_{active}
ractive的组合如等式6所示。
r
t
o
t
a
l
=
r
c
l
i
c
k
+
β
r
a
c
t
i
v
e
(6)
r_{total}=r_{click}+\beta r_{active} \tag{6}
rtotal=rclick+βractive(6)
虽然我们在这里使用生存模型来估计用户的活跃度,但也可以应用其他替代方法,如泊松点过程[13],并应具有类似的功能。
4.5 Explore
强化学习中最直接的探索策略是ϵ贪婪[31]和UCB[23]。ϵ-greedy将随机推荐概率为ϵ的新项目,而ucb将选择未被多次探索的项目(因为这些项目可能有较大的差异)。显然,这些琐碎的探索技术将在短时间内损害推荐性能。因此,我们采用Dueling Bandit梯度下降算法[16,17,49]进行勘探,而不是进行随机勘探。直观地说,如图7所示,代理G将生成一个由current netwrok Q Q Q的推荐列表 L L L和由 explore network Q ~ \tilde{Q} Q~生成的另一个列表 L ~ \tilde{L} L~.网络 Q ~ \tilde{Q} Q~的参数 W ~ \tilde{W} W~可以通过在网络Q的参数W上添加一个小扰动 Δ W \Delta W ΔW(方程7)来获得.
Δ
W
=
α
⋅
r
a
n
d
(
−
1
,
1
)
⋅
W
(7)
\Delta W=\alpha \cdot rand(-1,1)\cdot W \tag{7}
ΔW=α⋅rand(−1,1)⋅W(7)
其中α是探索系数,rand(−1,1)是一个介于-1和1之间的随机数。然后,代理将进行概率交织 probabilistic interleave[16]以生成合并的推荐列表
L
^
\hat{L}
L^ 使用
L
L
L和
L
~
\tilde{L}
L~。为了确定推荐列表
L
^
\hat{L}
L^中每个位置的项目,概率交织方法基本上将首先在列表
L
L
L和
L
~
\tilde{L}
L~之间随机选择.假设选择了
L
L
L,
L
L
L一个项目
i
i
i,以其在
L
L
L中的排名确定的概率放入
L
^
\hat{L}
L^(排名最高的项目将以更高的概率选择)。然后,将列表
L
^
\hat{L}
L^推荐给user
u
u
u,代理商 G将获得反馈。如果探索网络
Q
~
\tilde{Q}
Q~ 推荐的项目收到更好的反馈,代理商将朝着
Q
~
\tilde{Q}
Q~更新网络Q,网络参数更新为等式8
W
′
=
W
+
η
W
~
(8)
W'=W+\eta \tilde{W}\tag{8}
W′=W+ηW~(8)
否则,agent G将保持network
Q
Q
Q 不变化。通过这种探索,代理可以在不损失太多推荐准确性的情况下进行更有效的探索.
5. EXPERIMENT
5.1 Dataset
5.2 Evaluation measures
- CTR
- Precision@k
- nDCG