基于MDP和Policy Gradient的强化排序学习(RLTR)实验

本文探讨了强化学习在排序领域的应用,通过MDP(Markov Decision Process)和Policy Gradient方法实现强化排序学习(RLTR)。区别于传统的scoring and sorting,RLTR采用sequential decision making,考虑了候选项之间的关联性和排序位置的影响。文章介绍了MDP rank在diversification和relevance场景下的应用,并提供了简单的代码实现,展示了在LETOR数据集上使用RLTR的NDCG@M表现。
摘要由CSDN通过智能技术生成

      排序(rank)是搜索、推荐业务中经常能够遇到的业务场景:对于某个特定用户,如何针对该用户的信息,进行个性化的备选产品(candidate)的推荐排序,从而优化业务指标(例如点击率、营收等)?在大数据的支撑下,我们可以通过一些流行的机器学习算法来自动实现排序任务的学习,如基于传统模型计算出的分数直接排序,或者LTR(learning to rank)、rankBoost、rankSVM、Page Rank等更有针对性的排序算法。这些主要基于监督学习的方法有着相似的流程:首先收集具有不同标签的样本,基于标签的指标评估学习得到模型,再通过这个模型进行实际的预测和排序。而与强化学习(Reinforcement Learning)算法【1】则提供了不太一样的解决思路:我们可以利用强化学习能够在agent和environment之间进行交互式学习的特点,同时进行排序操作和自身的学习。

强化排序学习(MDPrank)

      强化学习对排序最明显的改变是实现了“scoring and sorting”到“sequential decision making”的转变。以传统排序算法最常见的point-wise思路为例,模型的输入包括单个用户和单个candidate的特征,而输出的则是该candidate对该用户的score值;在排序过程中,用模型生成每个candidate对该用户的score,然后根据score的大小进行candidate的排序;整个过程是首先scoring再sorting,前提是假设candidates与user之间的相关性彼此独立(图2)。而强化学习则考虑到1)candidate之间的相互关联 2)当前排序位置对score的影响,从而每次在决定某个排序位置的candidate时考虑当前所有已经排好的candidates对后续的影响,因此能够实现序列化的动态决策(sequential decision making)(图2)。



图1 scoring and sorting过程

(u:user;c:candidate;虚线:模型输入;点线:模型输出)



图2 sequential decision making过程

(u:user;c:candidate;虚线:模型输入;点线:模型输出)



     【2】和【3】提供了强化排序学习(Reinforcement Learning To Rank, RLTR)的一个解决方案:把每个排序过程看成是一系列的马尔可夫过程,从而形成一个markov decision process(MDP)问题;对每一次排序决策,通过一个随机的policy策略,基于当前状态(state)进行全部可能的行为(action)的monte carlo抽样;基于candidate的特征情况,定义一个平滑可导的RL的优化目标函数;在迭代时,基于上一次行为得到的奖励(reward),采用policy gradien

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值