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

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

【技术实现步骤摘要】
一种基于多GRU层神经网络的推荐方法与系统
本专利技术属于系统推荐
,具体包括一种基于多GRU层神经网络的推荐方法和系统。
技术介绍
当前,网络服务商为用户提供了诸如新闻、商品、图片、视频、音频、文档等(以下统一简称为物品)的在线推荐服务。为了更好的为用户提供服务,服务提供商会记录用户的历史行为,形成用户历史行为数据集,用于学习用户偏好,并据此为用户提供推荐服务,用户历史行为数据集有以下几个特点:第一,用户历史行为数据集中记录了用户的多种行为,例如用户使用过哪些物品、对物品的评价、点击、转发、评论等;第二,用户历史行为数据集记录了用户行为发生的时间,通常具有较长的时间跨度;第三,用户历史行为数据集中包含了相当数量的噪声。针对上述特点,如何有效利用用户历史行为数据集,为用户提供准确的推荐,是推荐系统面临的重大挑战,主要表现在:第一,多种多样的用户行为具有诸多不同的含义。如何合理利用这些信息是推荐系统面临的重要问题。第二,用户行为发生的时间顺序反映了用户偏好的变化过程,需要学习用户偏好随时间的变化规律,并加以合理利用。第三,对噪声数据的处理和利用。因此,如何有效从多种用户历史行为中学习用户偏好,并据此为用户提供推荐服务是本领域人员亟待解决的问题。
技术实现思路
针对现有技术的不足,本专利技术提供了一种包含多个GRU(Gatedrecurrentunits)层的神经网络(neuralnetwork),用于从多种用户历史行为中学习用户偏好,并据此为用户提供推荐服务。一种基于多GRU层神经网络的推荐方法,包括以下步骤:S1,收集用户对物品的历史行为,每条记录为一个四元组(u,i,a,t),其中u是用户编号,a是行为的类别,i是行为针对的物品的编号,t是行为发生的时间;建立包括输入层、中间层和输出层的GRU神经网络;所述中间层由多个GRU层构成;S2,按照行为发生时间对每一个用户记录的历史行为进行先后排序;并针对每一个用户生成相应的训练样本;S3,根据训练样本对GRU神经网络进行训练,确定GRU神经网络中的权重矩阵;S4,根据训练后的GRU神经网络为每一个用户生成推荐列表。一种基于多GRU层神经网络的推荐系统,包括以下功能模块:用户行为收集模块,用于手机用户对物品的历史行为,并建立包括输入层、中间层和输出层的GRU神经网络;所述中间层由多个GRU层构成;训练样本生成模块,用于按照行为发生时间对每一个用户记录的历史行为进行信后排序;并针对每一个用户生成相应的训练样本;权重矩阵确定模块,用于根据训练样本对多GRU层神经网络进行训练,确定GRU神经网络种的权重矩阵;推荐列表生成模块,用于根据训练后的多GRU层神经网络的输出为每个用户生成推荐列表。与现有技术相比,本专利技术具有以下优点:本专利技术提供的具有多个GRU层的神经网络结构能够方便的对不同类型的用户行为进行统一表示。同时,GRU神经网络特有的递归结构,特别适用于对时间序列编码。因此,能够反映用户偏好随时间变化的情况。此外,GRU神经网络能够自动进行多尺度时间序列分析,使得GRU神经网络能够自适应的在合适的时间尺度上分析用户的历史行为,更为合理的表示具有较大随机性的用户偏好。此外,多GRU层神经网络属于一种深度学习(DeepLearning)模型,此类模型具有较强的特征选择能力,因而能够应对历史行为中存在噪声的问题。附图说明图1是一种基于多GRU层神经网络的推荐方法流程图图2是多GRU层神经网络推荐模型图3是第0层GRU的结构图4是第l层GRU的结构图5是多GRU层神经网络参数学习流程图图6是一种基于多GRU层神经网络的推荐结构框图具体实施方式为了使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术的具体实施方式做详细的说明。如图1所示,本专利技术实施例提供一种基于多GRU层神经网络的推荐方法,包括以下步骤:S1,收集用户对物品的历史行为,每条记录为一个四元组(u,i,a,t),其中u是用户编号,a是行为的类别,i是行为针对的物品的编号,t是行为发生的时间;建立包括输入层、中间层和输出层的GRU神经网络,如图2所示;所述中间层由多个GRU层构成;S2,按照行为发生时间对每一个用户记录的历史行为进行先后排序;并针对每一个用户生成相应的训练样本;S3,根据训练样本对GRU神经网络进行训练,确定GRU神经网络中的权重矩阵;S4,根据训练后的GRU神经网络为每一个用户生成推荐列表。其中输入层的输入包括:用户信息u(t):表示t时刻的用户向量,对于有m个用户的推荐系统,第i个用户表示为一个m×1的向量,其中第i个元素为1,其它元素为0;t时刻用户行为信息a(t):表示t时刻用户的行为,对于能够处理l种用户行为的推荐系统,第j种用户行为表示为一个l×1的向量,其中第j个元素为1,其它元素为0;t时刻用户行为的目标物品信息v(t),表示t时刻用户行为的目标物品,对于有n个物品的推荐系统,第k个物品表示为一个n×1的向量,其中第k个元素为1,其它元素为0;所述输出层的输出包括t时刻输出层的输出o(t),o(t)是一个n×1的向量,表示t时刻多GRU层神经网络的输出,o(t)的第k个元素表示用户喜欢第k个物品的概率,o(t)计算方法为:o(t)=softmax(YsL(t))其中,Y是第L个GRU层GRUL连接到输出层的权重矩阵,构成中间层的每个所述GRU层均包括重置门r、更新门z、t时刻输出s(t)、t-1时刻输出s(t-1)以及替代隐藏层g;每个GRU层的t时刻输出si(t)(i=0,1,...,L)为该层的输出,其为一个h×1的向量,h为GRU层的维数,h取值为[100,200]中的整数。构成中间层的第0个GRU层GRU0,如图3所示,的重置门r0为一个h×1的向量,t时刻重置门r0的计算方法为:其中,分别表示输入层u(t)、a(t)、v(t)、s0(t-1)连接到GRU0中的重置门r0的权重矩阵;σ是sigmoid函数,σ(x)=1/(1+e-x);GRU0的更新门z0为一个h×1的向量,t时刻更新门z0的计算方法为:其中,分别表示输入层u(t)、a(t)、v(t)、s0(t-1)连接到GRU0中的更新门z0的权重矩阵;GRU0的替代隐藏层g0为一个h×1的向量,t时刻g0的计算方法为:其中,分别表示输入层u(t)、a(t)、v(t)、s0(t-1)连接到GRU0中的替代隐藏层g0的权重矩阵;表示按对应元素相乘;t时刻GRU0的输出s0(t)为一个h×1的向量,其计算方法为:构成中间层的第l(l=1,2,...,L)个GRU层GRUl,如图4所示,的重置门rl为一个h×1的向量,t时刻重置门rl的计算方法为:其中,分别表示u(t)、a(t)、v(t)、sl(t-1)、sl-1(t)连接到GRUl中的重置门rl的权重矩阵;GRUl的更新门zl为一个h×1的向量,t时刻更新门zl的计算方法为:其中,分别表示u(t)、a(t)、v(t)、sl(t-1)、sl-1(t)连接到GRUl中的更新门zl的权重矩阵;GRUl的替代隐藏层gl为一个h×1的向量,t时刻gl的计算方法为:其中,分别表示u(t)、a(t)、v(t)、sl(t-1)、sl-1(t)连接到GRUl中的替代本文档来自技高网...
一种基于多GRU层神经网络的推荐方法与系统

【技术保护点】
一种基于多GRU层神经网络的推荐方法,其特征在于:包括以下步骤:S1,收集用户对物品的历史行为,每条记录为一个四元组(u,i,a,t),其中u是用户编号,a是行为的类别,i是行为针对的物品的编号,t是行为发生的时间;建立包括输入层、中间层和输出层的GRU神经网络;所述中间层由多个GRU层构成;S2,按照行为发生时间对每一个用户记录的历史行为进行先后排序;并针对每一个用户生成相应的训练样本;S3,根据训练样本对GRU神经网络进行训练,确定GRU神经网络中的权重矩阵;S4,根据训练后的GRU神经网络为每一个用户生成推荐列表。

【技术特征摘要】
1.一种基于多GRU层神经网络的推荐方法,其特征在于:包括以下步骤:S1,收集用户对物品的历史行为,每条记录为一个四元组(u,i,a,t),其中u是用户编号,a是行为的类别,i是行为针对的物品的编号,t是行为发生的时间;建立包括输入层、中间层和输出层的GRU神经网络;所述中间层由多个GRU层构成;S2,按照行为发生时间对每一个用户记录的历史行为进行先后排序;并针对每一个用户生成相应的训练样本;S3,根据训练样本对GRU神经网络进行训练,确定GRU神经网络中的权重矩阵;S4,根据训练后的GRU神经网络为每一个用户生成推荐列表。2.根据权利要求1所述的一种基于多GRU层神经网络的推荐方法,其特征在于:所述输入层的输入包括用户信息u(t)、t时刻用户行为信息a(t)以及t时刻用户行为的目标物品信息v(t),所述输出层的输出包括t时刻输出层的输出o(t)。3.根据权利要求2所述的一种基于多GRU层神经网络的推荐方法,其特征在于:构成中间层的每个所述GRU层均包括重置门r、更新门z、t时刻输出s(t)、t-1时刻输出s(t-1)以及替代隐藏层g;每个GRU层的t时刻输出si(t)(i=0,1,...,L)为该层的输出,其为一个h×1的向量,h为GRU层的维数。4.根据权利要求3所述的一种基于多GRU层神经网络的推荐方法,其特征在于:构成中间层的第0个GRU层GRU0的重置门r0为一个h×1的向量,t时刻重置门r0的计算方法为:其中,分别表示输入层u(t)、a(t)、v(t)、s0(t-1)连接到GRU0中的重置门r0的权重矩阵;σ是sigmoid函数,σ(x)=1/(1+e-x);GRU0的更新门z0为一个h×1的向量,t时刻更新门z0的计算方法为:其中,分别表示输入层u(t)、a(t)、v(t)、s0(t-1)连接到GRU0中的更新门z0的权重矩阵;GRU0的替代隐藏层g0为一个h×1的向量,t时刻g0的计算方法为:其中,分别表示输入层u(t)、a(t)、v(t)、s0(t-1)连接到GRU0中的替代隐藏层g0的权重矩阵;表示按对应元素相乘;t时刻GRU0的输出s0(t)为一个h×1的向量,其计算方法为:5.根据权利要求4所述的一种基于多GRU层神经网络的推荐方法,其特征在于:构成中间层的第l(l=1,2,...,L)个GRU层GRUl的重置门rl为一个h×1的向量,t时刻重置门rl的计算方法为:其中,分别表示u(...

【专利技术属性】
技术研发人员:刘俊涛李伦黄志刚
申请(专利权)人:中国船舶重工集团公司第七零九研究所
类型:发明
国别省市:湖北,42

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

1