当前位置: 首页 > 专利查询>中山大学专利>正文

一种基于多用户行为的神经网络推荐方法技术

技术编号:23766752 阅读:38 留言:0更新日期:2020-04-11 20:14
本发明专利技术提供一种基于多用户行为的神经网络推荐方法,包括以下步骤:S1.挖掘非目标行为和目标行为的关联性,获得非目标行为到目标行为的置信度;S2.使用基于用户多行为的神经网络推荐模型来挖掘多行为与用户偏好之间的关系,其中包括构造用户和物品的行为特征矩阵,应用神经协同过滤模型,基于S1所得的置信度,使用行为分类学习策略对模型求解,获得物品推荐列表。本发明专利技术提供的基于多用户行为的神经网络推荐方法,首先对用户行为数据按照时间段进行划分,计算从非目标行为到目标行为的发生概率,根据用户和物品的交互行为来构造用户和物品的行为特征矩阵,然后利用神经协同过滤模型来表示行为和用户喜好之间复杂的关系,最后使用行为分类学习的策略对模型进行求解,获得推荐列表。

A neural network recommendation method based on multi-user behavior

【技术实现步骤摘要】
一种基于多用户行为的神经网络推荐方法
本专利技术涉及推荐系统领域,更具体地,涉及一种基于多用户行为的神经网络推荐方法。
技术介绍
目前基于多用户行为的推荐方法主要有两类。一类是使用联合矩阵分解的方法,将用户根据不同的行为表示成多个特征矩阵,通过和物品的特征矩阵做内积来预测用户和物品的交互。一类是使用贝叶斯个性化排序的方法,根据用户与特定物品的交互行为的相对重要性,对物品进行排序,产生推荐列表。但第一类方法的主要问题在于其表示的是用户行为和偏好之间的线性关系,难以抽象出更复杂的非线性关系。第二类方法的主要问题在于需要人为设定交互行为的相对重要程度,存在较大的误差。而近年来机器学习领域的发展,为推荐系统提供了方法的指导。神经网络能有效地获取非线性的关系,可以利用神经网络来设计推荐方法的模型,抽象出用户行为和偏好之间更深层而且复杂的联系。此外,用户的多种行为之间具有一定的关联性,而且这种关联程度可能随时间发生改变,也就是说,某种特定行为对反映其偏好的重要性可能会变化。为了充分考虑这种动态的变化,我们的算法中使用了马尔可夫模型来捕捉行为之间关联性的动态变化,并将其作为神经网络模型的参数之一,使用行为分类学习的策略对模型进行学习。
技术实现思路
现有技术中基于多用户的推荐方法普遍存在的问题是:难以抽象出用户行为和喜好之间复杂的非线性关系,推荐结果存在较大误差。为解决上述技术问题,本专利技术的技术方案如下:本专利技术第一方面公开一种基于多用户行为的神经网络推荐系统,包括行为关联性算法和基于用户多行为的神经网络推荐模型;行为关联性算法,用于挖掘为目标行为和目标行为的关联性,获得非目标行为到目标行为的置信度;基于用户多行为的神经网络推荐模型,用于挖掘多行为与用户偏好之间的关系,其中构造用户和物品的行为特征矩阵,应用神经协同过滤模型,根据行为关联性算法求出的置信度,使用行为分类学习策略对模型求解,最终获得物品推荐列表。本专利技术第二方面公开一种基于多用户行为的神经网络推荐方法,包括以下步骤:S1.使用行为关联性分析算法来挖掘非目标行为和目标行为的关联性,获得非目标行为到目标行为的置信度;S2.使用基于用户多行为的神经网络推荐模型来挖掘多行为与用户偏好之间的关系,其中包括构造用户和物品的行为特征矩阵,应用神经协同过滤模型,基于S1所得的置信度,使用行为分类学习策略对模型求解,获得物品推荐列表。在一种优选方案中,所述的S1包括以下步骤:S11.用U表示用户集合,I表示物品集合,B表示非目标行为集合,O表示目标行为集合,将用户u的行为数据集表示为Du,数据集中的每一组数据表示该用户在物品i上发生的行为;其中将非目标行为bj和目标行为ow之间的关系表示为关联规则R:bj→ow,这一关联关系的置信度表示为c(bj→ow),用于表示在bj发生的情况下,由关联规则“bj→ow”推出的发生ow的概率;S12.关联规则bj→ow的置信度序列Cjw具有以下的表示形式:Cjw={c(bj→ow)1,c(bj→ow)2,…c(bj→ow)t}其中,bj为第j种非目标行为,ow为第w种目标行为,t为当前时间段,c(bj→ow)t为关联规则bj→ow在数据子集Dut(是对数据集Du按照时间段划分的数据子集)中的置信度。S13.置信度的取值范围在[0,1],可以将该区间分为n个子区间(n为超参数),分别对应n个整数,用于表示状态;根据置信度序列及以上转换规则,得到置信度状态序列Sjw:Sjw={s(bj→ow)1,s(bj→ow)2,…s(bj→ow)t};其中,bj为第j种非目标行为,ow为第w种目标行为,t为当前时间段,s(bj→ow)t为关联规则bj→ow在数据子集Dut(是对数据集Du按照时间段划分的数据子集)中的置信度状态。S14.用置信度状态序列,计算关联规则bj→ow的每个状态到其他任何状态的转移概率pxy=p(sx→sy)j,构成状态转移矩阵Pjw:S15.根据S13所得的置信度状态序列,其最后的状态为s(bj→ow)t,则用独热编码表示出状态向量预测下一个状态向量为:S16.令index为中最大值对应的下标,则时间段t的置信度状态s(bj→ow)t+1=index,即下一状态的置信度c(bj→ow)t+1=s(bj→ow)t+1对应置信度区间的中值。在一种优选方案中,在S2的具体步骤如下:S21.根据用户的特征矩阵P和物品的特征矩阵Q,使用独热编码分别对用户和物品的ID进行编码,根据用户的多行为特征构建行为特征矩阵;S22.输入步骤S21所得的行为特征矩阵,使用神经协同过滤算法来表示行为的学习函数;S23.对非目标行为独立学习、目标行为联合学习的多行为学习策略,根据联合学习的结果,为用户产生推荐列表。在一种优选方案中,所述的S21的具体步骤如下:S211.生成用户特征矩阵P和物品特征矩阵Q,使用独热编码分别对用户和物品的ID进行编码,获得M×E和N×E的矩阵;S212.对M×E的用户特征矩阵增加K个特征,对应用户K种行为的发生次数;同样,为N×E的物品特征矩阵增加K个特征,分别对应与该物品相关的K种行为发生的次数,构造出的用户特征矩阵P和物品特征矩阵Q的大小分别是M×(E+K)和N×(E+K);S213.和分别表示用户u和物品i的独热编码向量,可以使用以下公式获得对应的特征向量,也就是矩阵P的第u行和Q的第i行:在一种优选方案中,所述的S22中神经网络的输出为其中为关于特征向量的函数表示,σ是把输出转换成概率的sigmoid函数。在一种优选方案中,所述的包括3种常用的函数表示方法,分别是通用矩阵分解方法(GMF),多层感知机方法(MLP)和神经矩阵分解方法(NeuMF),这三种方法的介绍如下;通用矩阵分解方法(GMF)是在矩阵分解的结果上,为每个项增加权重:其中h表示权重向量。多层感知机方法(MLP)是通过非线性的方法进行学习:…zL=ReLU(WLzL-1+bL)其中L表示多层感知机中隐含层的数量,Wx和bx分别表示第x层的权重和偏置项,激活函数默认使用线性整流函数(ReLU);神经矩阵分解方法(NeuMF)是将GMF和MLP两种按照一定的权重结合起来:其中h表示权重向量,zL为通过MLP学习得到的隐含层最后一层的结果。在一种优选方案中,所述的S23包括以下步骤:S231.对非目标行为进行独立学习;S2311.将用户-物品在非目标行为bj的交互表示为矩阵Yj,Yj的大小为M×N,M为用户数量,N为物品数量。S2312.每种非目标行为bj都有独立的预测函数和损失函数。bj的预测函数如下:其中是物品在行为bj上的偏置项,是函数表示;S2本文档来自技高网...

【技术保护点】
1.一种基于多用户行为的神经网络推荐系统,其特征在于,包括行为关联性算法和基于用户多行为的神经网络推荐模型;/n行为关联性算法,用于挖掘为目标行为和目标行为的关联性,获得非目标行为到目标行为的置信度;/n基于用户多行为的神经网络推荐模型,用于挖掘多行为与用户偏好之间的关系,其中构造用户和物品的行为特征矩阵,应用神经协同过滤模型,根据行为关联性算法求出的置信度,使用行为分类学习策略对模型求解,最终获得物品推荐列表。/n

【技术特征摘要】
1.一种基于多用户行为的神经网络推荐系统,其特征在于,包括行为关联性算法和基于用户多行为的神经网络推荐模型;
行为关联性算法,用于挖掘为目标行为和目标行为的关联性,获得非目标行为到目标行为的置信度;
基于用户多行为的神经网络推荐模型,用于挖掘多行为与用户偏好之间的关系,其中构造用户和物品的行为特征矩阵,应用神经协同过滤模型,根据行为关联性算法求出的置信度,使用行为分类学习策略对模型求解,最终获得物品推荐列表。


2.一种基于多用户行为的神经网络推荐方法,其特征在于,包括以下步骤:
S1.使用行为关联性分析算法来挖掘非目标行为和目标行为的关联性,获得非目标行为到目标行为的置信度;
S2.使用基于用户多行为的神经网络推荐模型来挖掘多行为与用户偏好之间的关系,其中包括构造用户和物品的行为特征矩阵,应用神经协同过滤模型,基于S1所得的置信度,使用行为分类学习策略对模型求解,获得物品推荐列表。


3.根据权利要求2所述的一种基于多用户行为的神经网络推荐方法,其特征在于,所述的S1包括以下步骤:
S11.用U表示用户集合,I表示物品集合,B表示非目标行为集合,O表示目标行为集合,将用户u的行为数据集表示为Du,数据集中的每一组数据表示该用户在物品i上发生的行为;其中将非目标行为bj和目标行为ow之间的关系表示为关联规则R:bj→ow,这一关联关系的置信度表示为c(bj→ow),用于表示在bj发生的情况下,由关联规则“bj→ow”推出的发生ow的概率;
S12.关联规则bj→ow的置信度序列Cjw具有以下的表示形式:
Cjw={c(bj→ow)1,c(bj→ow)2,…c(bj→ow)t}
其中,bj为第j种非目标行为,ow为第w种目标行为,t为当前时间段,c(bj→ow)t为关联规则bj→ow在数据子集Dut(是对数据集Du按照时间段划分的数据子集)中的置信度;
S13.置信度的取值范围在[0,1],可以将该区间分为n个子区间(n为超参数),分别对应n个整数,用于表示状态;根据置信度序列及以上转换规则,得到置信度状态序列Sjw:
Sjw={s(bj→ow)1,s(bj→ow)2,…s(bj→ow)t};
其中,bj为第j种非目标行为,ow为第w种目标行为,t为当前时间段,s(bj→ow)t为关联规则bj→ow在数据子集Dut(是对数据集Du按照时间段划分的数据子集)中的置信度状态。
S14.用置信度状态序列,计算关联规则bj→ow的每个状态到其他任何状态的转移概率pxy=p(sx→sy)j,构成状态转移矩阵Pjw:



S15.根据S13所得的置信度状态序列,其最后的状态为s(bj→ow)t,则用独热编码表示出状态向量预测下一个状态向量为:
S16.令index为中最大值对应的下标,则时间段t的置信度状态s(bj→ow)t+1=index,即下一状态的置信度c(bj→ow)t+1=s(bj→ow)t+1对应置信度区间的中值。


4.根据权利要求1所述的一种基于多用户行为的神经网络推荐方法,其特征在于,在S2的具体步骤如下:
S21.根据用户的特征矩阵P和物品的特征矩阵Q,使用独热编码分别对用户和物品的ID进行编码,根据用户的多行为特征构建行为特征矩阵;
S22.输入步骤S21所得的行为特征矩阵,使用神经协同过滤算法来表示行为的学习函数;
S23.对非目标行为独立学习、目标行为联合学习的多行为学习策略,根据联合学习的结果,为用户产生推荐列表。


5.根据权利要求4所述的一种基于多用户行为的神经网络推荐方法,其特征在于,所述的S21的具体步骤如下:
S211.生成用户特征矩阵P和物品特征矩阵Q,使用独热编码分别对用户和物品的ID进行编码,获得M×E和N×E的矩阵;
S212.对M×...

【专利技术属性】
技术研发人员:吴迪林诗鹭
申请(专利权)人:中山大学
类型:发明
国别省市:广东;44

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

1