一种基于深度强化学习的推荐系统构建方法技术方案

技术编号:27975809 阅读:16 留言:0更新日期:2021-04-06 14:10
本发明专利技术提供一种基于深度强化学习的推荐系统构建方法,包括如下步骤:S1)建立用户与推荐系统交互的特征表征集合;S2)建立用户与推荐系统交互的状态表征;S3)推荐系统的建模;S4)推荐系统的训练;S5)推荐系统的部署。本发明专利技术的优点为:通过把一维离散型项目的动作选择空间映射到多维连续实值空间,采用进制转换的方法对推荐条目的动作空间进行简化,降低推荐系统训练的难度;采用卷积递归神经网络对用户的行为特征进行建模,提高了推荐系统的性能。

【技术实现步骤摘要】
一种基于深度强化学习的推荐系统构建方法
本专利技术涉及推荐系统
,具体涉及一种基于深度强化学习的推荐系统构建方法。
技术介绍
推荐系统是智能电子商务系统中不可或缺的一部分,通过用户的历史浏览数据向用户推荐可能所需的项目是其主要任务。常用的推荐系统方法有协同过滤、矩阵分解和基于内容的排序等。然而,这些常用的推荐方法往往把用户的偏好建模为一个静态的过程,通过一些贪婪的排序方法向用户进行推荐,不能考虑用户偏好的动态变化。最近的一些研究表明,将推荐系统建模为一个强化学习问题,通过最大化用户未来可能给出的总评分作为优化目标,可以有效地对用户的偏好进行动态建模,提升推荐系统的表现与性能。然而,由于推荐系统自身存在的一些特点,采用强化学习方法进行推荐系统构建的过程中,常常面临着如下两个问题:1)推荐系统中推荐的项目数往往巨大,用强化学习来解决时,需要考虑这种巨大的动作空间问题带来的优化困难;2)对用户观测到的状态建模,在用户与推荐系统交互的过程中,会产生用户反馈的时序信息,如何将这种时序信息提取并建模用户的状态、描述用户的行为特征,是关乎推荐系统性能的一个关键问题。
技术实现思路
本专利技术的目的是提供一种通过把一维离散型项目的动作选择空间映射到多维连续实值空间从而有效简化动作空间、并采用卷积递归神经网络对用户的行为特征进行建模来提高推荐系统性能的基于深度强化学习的推荐系统构建方法。为了达到上述目的,本专利技术通过以下技术方案来实现:一种基于深度强化学习的推荐系统构建方法,包括如下步骤:S1)建立用户与推荐系统交互的特征表征集合用户与推荐系统交互的过程采用马尔可夫决策过程<S,A,P,R>表示,其中,S为状态集合,即用户与推荐系统交互的特征表征集合,A为用户可选择的项目集合,在t时刻下选择的项目记为at,P(st+1|st,at)为状态转移函数,即当前时刻状态st下用户选择项目at后下一时刻状态st+1的概率,R(st+1|st,at)为回报函数,即用户对当前状态st选择项目at后用户的评分,推荐系统的优化目标是最大化用户的期望总评分,即其中,T为终止时刻;S2)建立用户与推荐系统交互的状态表征根据所有用户的历史记录,建立U行M列的用户评分矩阵,其中,U为用户的总数,M为推荐项目的总数,评分矩阵的第i行第j列表示第i个用户对第j个项目的评分,如果用户没有评价过该项目则评分设为0,用该矩阵的每一列作为每个推荐项目的特征;根据每个用户与推荐系统交互过程中的历史记录(包括用户选择的条目以及用户的评分),抽取当前时刻之前所有的选择条目和评分,输入到卷积神经网络中,接下来采用卷积层对所有LSTM(时间循环神经网络)单元的输出进行处理,并采用最大值池化与均值池化处理卷积层的输出,作为用户与推荐系统交互的状态表征;其中,表征用户状态的神经网络参数可以通过步骤S4)的训练过程进行学习;S3)推荐系统的建模采用演员-批评家(Actor-critic)框架对推荐系统进行建模,其中,演员模块输入当前观测到的用户状态,输出基于用户的状态所给予的推荐项目,批评家模块接收当前状态及选择项目的表示作为输入,负责对当前用户观测到的状态下的可选择条目进行评估,评估其未来可能收到的期望回报;演员模块和批评家模块均采用神经网络表示;为处理数量巨大的推荐条目数,采用把推荐条目的索引码映射到B进制连续实值的项目编码,因此演员模块的动作输出维数为logBM,其每个输出值的范围为[0,B-1];S4)推荐系统的训练采用确定性策略梯度算法DDPG,利用用户的历史数据训练演员网络和批评家网络;具体地,首先把训练数据中每个用户的评分数据处理为<st,at,rt,st+1>的四元组形式,其中st为用户在t时刻的状态,at为用户选择条目的B进制编码,rt为用户的评分,st+1为t+1时刻的状态;然后采用确定性策略梯度算法DDPG,把四元组形式的用户数据存储到DDPG的经验缓存,对演员网络和批评家网络进行训练;S5)推荐系统的部署在线上部署平台上,利用步骤S4)训练好的演员网络,根据用户的当前状态,结合演员模块与批评家模块的输出值,推荐相应的项目;具体地,在线上部署平台上,利用步骤S4)所训练好的演员模块,根据用户的当前状态,演员模块输出一个条目编码,利用相似度评估方法,对输出的条目编码和所有条目编码进行匹配,选择相似度最大的K个项目,评估其在当前状态下批评家模块的输出值,选择批评家模块输出值最大的N个项目作为推荐条目输出给用户。本专利技术与现有技术相比,具有以下优点:本专利技术一种基于深度强化学习的推荐系统构建方法,通过把一维离散型项目的动作选择空间映射到多维连续实值空间,采用进制转换的方法对推荐条目的动作空间进行简化,降低推荐系统训练的难度;采用卷积递归神经网络对用户的行为特征进行建模,提高了推荐系统的性能。附图说明图1是本专利技术实施例中用户与推荐系统交互的状态表征示意图。图2是本专利技术实施例中推荐系统建模的演员模块示意图。图3是本专利技术实施例中推荐系统建模的批评家模块示意图。具体实施方式下面结合附图,对本专利技术的实施例作进一步详细的描述。一种基于深度强化学习的推荐系统构建方法,包括如下步骤:S1)建立用户与推荐系统交互的特征表征集合用户与推荐系统交互的过程采用马尔可夫决策过程<S,A,P,R>表示,其中,S为状态集合,即用户与推荐系统交互的特征表征集合,A为用户可选择的项目集合,在t时刻下选择的项目记为at,P(st+1|st,at)为状态转移函数,即当前时刻状态st下用户选择项目at后下一时刻状态st+1的概率,R(st+1|st,at)为回报函数,即用户对当前状态st选择项目at后用户的评分,推荐系统的优化目标是最大化用户的期望总评分,即其中,T为终止时刻。S2)建立用户与推荐系统交互的状态表征根据所有用户的历史记录,建立U行M列的用户评分矩阵,其中,U为用户的总数,M为推荐项目的总数,评分矩阵的第i行第j列表示第i个用户对第j个项目的评分,如果用户没有评价过该项目则评分设为0,用该矩阵的每一列作为每个推荐项目的特征;根据每个用户与推荐系统交互过程中的历史记录(包括用户选择的条目以及用户的评分),抽取当前时刻之前所有的选择条目和评分,输入到卷积神经网络中,接下来采用卷积层对所有LSTM(时间循环神经网络)单元的输出进行处理,并采用最大值池化与均值池化处理卷积层的输出,作为用户与推荐系统交互的状态表征;其中,表征用户状态的神经网络参数可以通过步骤S4)的训练过程进行学习,表征用户状态的神经网络可以作为演员-批评家框架的一部分,具体用户与推荐系统交互状态的表征如图1所示。S3)推荐系统的建模采用演员-批评家(Actor-critic)框架对推荐系统进本文档来自技高网...

【技术保护点】
1.一种基于深度强化学习的推荐系统构建方法,其特征在于包括如下步骤:/nS1)建立用户与推荐系统交互的特征表征集合/n用户与推荐系统交互的过程采用马尔可夫决策过程<S,A,P,R>表示,其中,S为状态集合,即用户与推荐系统交互的特征表征集合,A为用户可选择的项目集合,在t时刻下选择的项目记为a

【技术特征摘要】
1.一种基于深度强化学习的推荐系统构建方法,其特征在于包括如下步骤:
S1)建立用户与推荐系统交互的特征表征集合
用户与推荐系统交互的过程采用马尔可夫决策过程<S,A,P,R>表示,其中,S为状态集合,即用户与推荐系统交互的特征表征集合,A为用户可选择的项目集合,在t时刻下选择的项目记为at,P(st+1|st,at)为状态转移函数,即当前时刻状态st下用户选择项目at后下一时刻状态st+1的概率,R(st+1|st,at)为回报函数,即用户对当前状态st选择项目at后用户的评分,推荐系统的优化目标是最大化用户的期望总评分;
S2)建立用户与推荐系统交互的状态表征
根据所有用户的历史记录,建立U行M列的用户评分矩阵,其中,U为用户的总数,M为推荐项目的总数,评分矩阵的第i行第j列表示第i个用户对第j个项目的评分,如果用户没有评价过该项目则评分设为0,用该矩阵的每一列作为每个推荐项目的特征;
根据每个用户与推荐系统交互过程中的历史记录,采用深度神经网络进行特征抽取,作为用户与推荐系统交互的状态表征;
S3)推荐系统的建模
采用演员-批评家(Actor-critic)框架对推荐系统进行建模,其中,演员模块输入当前观测到的用户状态,输出基于用户的状态所给予的推荐项目,批评家模块接收当前状态及选择项目的表示作为输入,负责对当前用户观测到的状态下的可选择条目进行评估,评估其未来可能收到的期望回报;
演员模块和批评家模块均采用神经网络表示;
S4)推荐系统的训练
采用确定性策略梯度算法DDPG,利用用户的历史数据训练演员网络和批评家网络;
S5)推荐系统的部署
在线上部署平台上,利用步骤S4)训练好的演员网络,根据用户的当前状态,结合演员模块与批评家模块的输出值,推荐相应的项目。<...

【专利技术属性】
技术研发人员:石龙翔金苍宏李卓蓉吴明晖
申请(专利权)人:浙大城市学院
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1