推荐系统——强化学习

DRN: A Deep Reinforcement Learning Framework for News Recommendation

1.新闻推荐面临三大挑战:
a.新闻更新速度快
b.用户兴趣根据时间变化速度快
c.寻找相似的物品,可能会降低用户的兴趣
2.motivation:
a.通过使用Deep Q-Learning框架,同时考虑现在和未来的reward
b.考虑用户的活跃度用于提升推荐效果,比简单使用用户点击率作为标签所蕴含的信息量更多
3.在该论文中,将用户的隐含特征表示作为状态,将新闻的特征表示作为action,将用户点击率以及用户活跃度相结合作为reward。
推荐系统——强化学习_第1张图片
4. 模型线上推荐的一般流程如下:
(1)PUSH:用户发送新闻请求,然后推荐器G将状态(用户的隐含特征表示)和操作(新闻用户集的隐含特征表示)作为输入,G通过考虑现有模型的开发exploitation和新物品的探索exploration,生成top-k的新闻推荐列表L。
(2)FEEDBACK:用户根据推荐列表L,给出在这个集合上的反馈B
(3)MINOR UPDATE:根据用户特征表示u,推荐列表L以及反馈B,推荐器G将根据exploitation和exploration的结果Q和Q’更新模型。如果Q’结果更好,则根据模型向Q’的方向更新,否则保持不变。每一次推荐完成后,都可能进行MINOR UPDATE
(4)MINOR UPDATE:每隔一段时间,将记录在Memory中的用户反馈B和用户活跃度更新网络Q,采用experience replay technique进行更新。每次更新的时候,将选取一个batch的记录对模型进行更新。
(5)重复步骤(1)~(4)
推荐系统——强化学习_第2张图片
5. 构建特征:

新闻特征:包括417维的one-hot 编码,表明新闻中是否出现了特定的性质
用户特征:主要包括用户在五个特定时间段内点击的新闻出现的特定性质,维度为413*5
用户新闻特征:包括25个维度的特征描述用户和某个特定的新闻交互
上下文特征:32个维度用于描述一个新闻要求产生时的上下文,包括新闻的新鲜程度,即请求时间和新闻发布时间之差

6.模型的总奖励为:
在这里插入图片描述
在时间t和动作a后产生的reward为
在这里插入图片描述
通过参数W选出最大化收益的动作a’,根据a’更新参数W为W’,计算得到未来收益

7.Q network框架如图所示
推荐系统——强化学习_第3张图片
其中状态s与用户特征和上下文特征有关,由于action选择与状态s和action a都相关,所以需要包含4个feature。
8. 用户活跃度分析:通过生存模型来分析用户反馈和用户的活跃度,其中概率密度函数和t时间后事件发生的概率如公式(3)和公式(4)所示
在这里插入图片描述
在这里插入图片描述

用户的活跃度估计通过简单设置λ(t) = λ0 ,意味着每个用户都有常数概率反馈,每次检测到用户反馈,则设置S(t) = S(t) + Sa ,但是每个用户的活跃度都不能超过1。
推荐系统——强化学习_第4张图片
保证在平均间隔时间后,概率回到初始状态s0
在这里插入图片描述
最终的奖赏值可以设计为
在这里插入图片描述
9. Exploitation and Exploration
由于传统的ϵ-greedy和UCB(Upper Confdence Bound)的探索方法,都将破坏推荐效果,因此该文选用的是Dueling Bandit Gradient Descent algorithm 方法进行explore。框架图如Figure 7 所示,首先,agent G用现在的网络Q生成推荐序列L, 然后用explore 网络Q’生成另一个推荐列表L’。其中Q’中的参数W’可以由现在网络Q中的参数W加上一个小的扰乱∆W来实现。其中∆W生成方式如公式(7)所示。
在这里插入图片描述
α是explore系数,rand(-1,1)表示-1到1之间的随机数。通过概率交叉生成融合的推荐序列L~ 。交叉选择的方式是,首先决定是从L中还是L’中挑选物品,然后根据在相应列表中的排序概率选择物品(排名越高的选择到的概率越大)。如果Q’产生的物品推荐结果更好,则agent G将Q中的参数W朝着Q’的参数的方向更新,如公式(8)所示。否则,Q中的参数保持不变。通过这种方式能够保证有效的explore而不降低推荐的准确率。
在这里插入图片描述
推荐系统——强化学习_第5张图片

你可能感兴趣的:(推荐系统)