一种基于GRU神经网络的推荐方法和系统技术方案

技术编号:14778102 阅读:611 留言:0更新日期:2017-03-09 14:04
本发明专利技术提供一种基于GRU神经网络的推荐方法和系统,其采用GRU神经网络模型对用户行为建模并用于推荐系统,通过结合BP算法或BPTT算法和本发明专利技术的神经网络结构,构建针对推荐系统的GRU神经网络模型学习方法,根据推荐系统的特点对GRU神经网络进行训练,建立独有神经网络结构,从而根据新的神经网络结构为不同用户生成与其兴趣爱好相对应的推荐列表。所述推荐方法和系统通过采用GRU神经网络从用户历史行为中学习用户偏好,并据此为用户提供推荐服务。通过GRU神经网络特有的递归结构,能够基于时间序列对不同类型的用户行为进行统一表示;且能够进行多尺度时间序列分析,更精确的表示具有较大随机性的用户行为。

【技术实现步骤摘要】

本专利技术涉及系统推荐
,具体涉及一种基于GRU神经网络的推荐方法及系统。
技术介绍
当前,网络服务商为用户提供了诸如新闻、商品、图片、视频、音频、文档等(以下统一简称为物品)的在线服务。为了更好的为用户提供服务,服务提供商会记录用户的历史行为,例如记录用户购买(使用)过哪些物品、对物品的评价、点击、转发、评论等。如何有效利用记录的用户历史行为,为用户提供准确的推荐,是推荐系统面临的重大挑战,主要表现在:第一,虽然用户历史行为有助于了解用户偏好,并为用户推荐物品提供了重要信息。但是多种多样的用户行为具有诸多不同的含义。如何合理利用这些信息是推荐系统面临的重要问题。第二,用户行为发生的时间顺序反映了用户偏好的变化过程,也是推荐系统需要考虑的重要因素,需要加以合理利用。因此,如何有效的利用记录的多种用户行为,为用户提供准确的推荐,是本领域人员急待解决的问题。
技术实现思路
有鉴于此,有必要提供一种能够有效的利用记录的多种用户行为从而为用户提供准确推荐的方法及系统。一种基于GRU神经网络的推荐方法,所述基于GRU神经网络的推荐方法包括以下步骤:S1、收集用户对物品的历史行为,并建立GRU神经网络;S2、按照行为发生时间对每一个用户记录的历史行为进行先后排序;并针对每一个用户生成相应的训练样本;S3、根据训练样本对GRU神经网络进行训练,确定GRU神经网络中的权重矩阵;S4、根据训练后的GRU神经网络为每一个用户生成推荐列表。一种基于GRU神经网络的推荐系统,所述基于GRU神经网络的推荐系统包括以下功能模块:用户行为收集模块,用于收集用户对物品的历史行为,并建立GRU神经网络;训练样本生成模块,用于按照行为发生时间对每一个用户记录的历史行为进行先后排序;并针对每一个用户生成相应的训练样本;权重矩阵确定模块,用于根据训练样本对GRU神经网络进行训练,确定GRU神经网络中的权重矩阵;推荐列表生成模块,用于根据训练后的GRU神经网络为每一个用户生成推荐列表。本专利技术提供一种基于GRU神经网络的推荐方法和系统,其采用GRU神经网络模型对用户行为建模并用于推荐系统,通过结合BP算法或BPTT算法和本专利技术的神经网络结构,构建针对推荐系统的GRU神经网络模型学习方法,根据推荐系统的特点对GRU神经网络进行训练,建立独有神经网络结构,从而根据新的神经网络结构为不同用户生成与其兴趣爱好相对应的推荐列表。所述推荐方法和系统通过采用GRU神经网络从用户历史行为中学习用户偏好,并据此为用户提供推荐服务。通过GRU神经网络特有的递归结构,能够基于时间序列对不同类型的用户行为进行统一表示;且GRU神经网络能够进行多尺度时间序列分析,能够更精确的表示具有较大随机性的用户行为。附图说明图1是本专利技术所述基于GRU神经网络的推荐方法的流程图;图2是本专利技术所述基于GRU神经网络的推荐方法的GRU神经网络推荐模型;图3是图1中步骤S3的子流程图;图4为图1中步骤S33的子流程图;图5是本专利技术所述基于GRU神经网络的推荐系统的结构框图;图6是图5中权重矩阵确定模块的子结构框图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明,应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,本专利技术实施例提供一种基于GRU神经网络的推荐方法,所述基于GRU神经网络的推荐方法包括以下步骤:S1、收集用户对物品的历史行为,并建立GRU神经网络;S2、按照行为发生时间对每一个用户记录的历史行为进行先后排序;并针对每一个用户生成相应的训练样本;S3、根据训练样本对GRU神经网络进行训练,确定GRU神经网络中的权重矩阵;S4、根据训练后的GRU神经网络为每一个用户生成推荐列表。其中,所述GRU神经网络包括输入层、隐藏层以及输出层,其中,所述输入层的输入包括用户信息u(t)、用户t时刻的行为信息a(t)以及用户时刻行为t的目标物品信息v(t),所述隐藏层的输出包括t时刻隐藏层的输出s(t)、t-1时刻隐藏层的输出s(t-1)以及t时刻替代隐藏层g,所述输出层的输出包括t时刻输出层的输出o(t)。具体的,如图2所示,在一个网络推荐系统中,设u(t)为GRU神经网络输入层的一个输入向量,用于表示用户信息,对于有m个用户的推荐系统,设第i个用户有m个元素,其中第i个元素为1,其它元素为0;a(t)为输入层的一个输入向量,用于表示用户t时刻的行为,对于能够处理l种用户行为的推荐系统,第j种用户行为表示为一个有l个元素的向量,其中第j个元素为1,其它元素为0;v(t)是输入层的一个输入向量,用于表示用户t时刻行为的目标物品,对于有n个物品的推荐系统,第k个物品表示为一个有n个元素的向量,其中第k个元素为1,其它元素为0;s(t-1)是输入层的一个有h个元素输入向量,用于表示t-1时刻隐藏层的输出,h为隐藏层维数;优选的,隐藏层维数h取值为[100,200]中的整数。s(t)是一个h×1的向量,表示t时刻隐藏层的输出。如图2所示,所述GRU神经网络还包括重置门r和更新门z,t时刻重置门r的输出是一个h×1的向量,其计算方法如下:r=σ(Qru(t)+Wra(t)+Vrv(t)+Xrs(t-1))其中,Qr,Vr,Wr,Xr分别表示输入层u(t)、a(t)、v(t)、s(t-1)连接到隐藏层重置门r的权重矩阵;σ是sigmoid函数,σ(x)=1/(1+e-x);所述更新门z的输出的计算方法如下:z=σ(Qzu(t)+Wza(t)+Vzv(t)+Xzs(t-1))其中,Qz,Vz,Wz,Xz分别表示输入层u(t)、a(t)、v(t)、s(t-1)连接到隐藏层更新门z的权重矩阵。图2中的g是替代隐藏层,替代隐藏层的输入是当前的输入层、上一时刻的隐藏层和当前重置门的输出,t时刻替代隐藏层g的输出是一个h×1的向量,其计算方法为:其中,Q,V,W,X分别表示输入层u(t)、a(t)、v(t)、s(t-1)连接到替代隐藏层g隐藏层的权重矩阵。s(t)是t时刻隐藏层的输出,是一个h×1的向量,其值与当前更新门、当前替代隐藏层和上一时刻的隐藏层有关,其计算方法为:其中,表示按对应元素相乘。o(t)是一个n×1的向量,表示t时刻输出层的输出,o(t)的第k个元素表示用户喜欢第k个物品的概率,o(t)计算方法为:o(t)=softmax(Ys(t))其中,Y是隐藏层连接到输出层的权重矩阵,softmax函数定义为:如图3所示,所述步骤S3包括以下分步骤:S31、随机生成权重矩阵;S32、检查收敛条件,即检查迭代次数是否达到上限;或目标函数的值是否不再减小;如果不满足收敛条件,则进行步骤S33;反之则确定了GRU神经网络中的权重矩阵,进行步骤S4;S33、根据每一个用户的训练样本对GRU神经网络进行训练,更新GRU神经网络中的权重矩阵;具体的,采用交叉熵(Crossentropy)做为待优化的目标函数,即:其中,ti是第t时刻的训练样本中的物品编号,迭代次数上限为K≤100。如图4所示,所述步骤S33包括以下分步骤:S331、计算目标函数相对于权重矩阵的梯度;即和S332、更新所有权重矩阵。以权重矩阵Y为本文档来自技高网...
一种基于GRU神经网络的推荐方法和系统

【技术保护点】
一种基于GRU神经网络的推荐方法,其特征在于,所述基于GRU神经网络的推荐方法包括以下步骤:S1、收集用户对物品的历史行为,并建立GRU神经网络;S2、按照行为发生时间对每一个用户记录的历史行为进行先后排序;并针对每一个用户生成相应的训练样本;S3、根据训练样本对GRU神经网络进行训练,确定GRU神经网络中的权重矩阵;S4、根据训练后的GRU神经网络为每一个用户生成推荐列表。

【技术特征摘要】
1.一种基于GRU神经网络的推荐方法,其特征在于,所述基于GRU神经网络的推荐方法包括以下步骤:S1、收集用户对物品的历史行为,并建立GRU神经网络;S2、按照行为发生时间对每一个用户记录的历史行为进行先后排序;并针对每一个用户生成相应的训练样本;S3、根据训练样本对GRU神经网络进行训练,确定GRU神经网络中的权重矩阵;S4、根据训练后的GRU神经网络为每一个用户生成推荐列表。2.根据权利要求1所述基于GRU神经网络的推荐方法,其特征在于,所述GRU神经网络包括输入层、隐藏层以及输出层,其中,所述输入层的输入包括用户信息u(t)、用户t时刻的行为信息a(t)以及用户时刻行为t的目标物品信息v(t),所述隐藏层的输出包括t时刻隐藏层的输出s(t)、t-1时刻隐藏层的输出s(t-1)以及t时刻替代隐藏层g,所述输出层的输出包括t时刻输出层的输出o(t)。3.根据权利要求2所述基于GRU神经网络的推荐方法,其特征在于,所述GRU神经网络还包括重置门r和更新门z,所述重置门r的输出的计算方法如下:r=σ(Qru(t)+Wra(t)+Vrv(t)+Xrs(t-1))其中,Qr,Vr,Wr,Xr分别表示输入层u(t)、a(t)、v(t)、s(t-1)连接到隐藏层重置门r的权重矩阵;σ是sigmoid函数,σ(x)=1/(1+e-x);所述更新门z的输出的计算方法如下:z=σ(Qzu(t)+Wza(t)+Vzv(t)+Xzs(t-1))其中,Qz,Vz,Wz,Xz分别表示输入层u(t)、a(t)、v(t)、s(t-1)连接到隐藏层更新门z的权重矩阵。4.根据权利要求3所述基于GRU神经网络的推荐方法,其特征在于,所述替代隐藏层g的输出计算方法为:其中,Q,V,W,X分别表示输入层u(t)、a(t)、v(...

【专利技术属性】
技术研发人员:刘俊涛王军伟陈炜
申请(专利权)人:中国船舶重工集团公司第七零九研究所
类型:发明
国别省市:湖北;42

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

1