CN111597428B - 一种具有q分离k稀疏的用户与物品拼接的推荐方法 - Google Patents

一种具有q分离k稀疏的用户与物品拼接的推荐方法 Download PDF

Info

Publication number
CN111597428B
CN111597428B CN201910127170.9A CN201910127170A CN111597428B CN 111597428 B CN111597428 B CN 111597428B CN 201910127170 A CN201910127170 A CN 201910127170A CN 111597428 B CN111597428 B CN 111597428B
Authority
CN
China
Prior art keywords
user
layer
users
article
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910127170.9A
Other languages
English (en)
Other versions
CN111597428A (zh
Inventor
盛益强
陈婉杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Xinrand Network Technology Co ltd
Original Assignee
Zhengzhou Xinrand Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Xinrand Network Technology Co ltd filed Critical Zhengzhou Xinrand Network Technology Co ltd
Priority to CN201910127170.9A priority Critical patent/CN111597428B/zh
Publication of CN111597428A publication Critical patent/CN111597428A/zh
Application granted granted Critical
Publication of CN111597428B publication Critical patent/CN111597428B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种具有q分离k稀疏的用户与物品拼接的推荐方法,包括:对用户i和物品j分别进行独热编码;构建和q类用户对应相等的q层用户k稀疏连接网络NNi,层间进行k稀疏连接,将用户i的独热编码输入至q层用户k稀疏连接网络NNi,获得用户隐含特征向量Ui;构建q类物品的q层物品k稀疏连接网络NNj,将物品j的独热编码输入至q层物品k稀疏连接网络NNj,获得物品的隐含特征向量Vj;将各个层的用户隐含特征向量Ui与物品的隐含特征向量Vj拼接后作为深度神经网络的输入,上半部分节点对应物品,下半部分节点对应用户,将其输入至深度神经网络,获得输入用户对输入物品的评分等级;对应评分等级高的物品作为推荐结果,并将其推荐给相应的用户。

Description

一种具有q分离k稀疏的用户与物品拼接的推荐方法
技术领域
本发明属于信息推荐和个性化推荐技术领域,具体涉及一种具有q分离k稀疏的用户与物品拼接的推荐方法。
背景技术
随着互联网和人工智能的发展,越来越多的智能产品在各行各业为人们提供生活的便利,听音乐、看电影、购物、阅读、聊天等日常行为与互联网紧密联系在一起。与此同时,海量的数据不断地在互联网中产生,这导致用户难以快速地找到自己感兴趣的物品或信息。
个性化推荐系统是以上问题的解决方法之一。常用的推荐方法包括基于内容的方法和协同过滤的方法。基于内容的方法通过对用户和物品的分析,构建用户和物品的画像信息,如文档内容、用户配置文件以及物品的属性,但由于用来构造画像的信息不易获得,它的应用范围有较大的局限性。协同过滤的方法是以“行为相似的用户拥有相似的偏好”为基本假设,仅基于用户对物品的点击、浏览和评分等交互行为即可完成推荐。也可以对用户与用户、物品与物品、用户与物品之间的关系分别进行建模,以提高推荐精度。
但是,现有的推荐方法受到冷启动、数据稀疏性等问题的限制。其中,冷启动问题产生的原因是由于缺少初始的偏好而无法做出可靠的推荐。在解决新用户的冷启动问题时,现有的方法采用直接为新用户推荐热门物品,而这种做法对新用户的推荐效果并不好。由于新用户在偏好排序中没有任何的信息,在基于记忆的协同过滤方法中,无法给新用户做出任何推荐。基于神经网络的推荐方法可以通过表征学习做出推荐,可以作为协同过滤的补充,但是现有的表征学习参数具有不可解释性,从而增加了在推荐中应用的难度。总之,现有的推荐方法中都没能很好地解决新用户冷启动问题。
发明内容
本发明的目的在于,为解决现有的推荐方法存在上述缺陷,本发明提出了一种具有q分离k稀疏的用户与物品拼接的推荐方法;该方法结合了小世界模型理论和深度学习模型,使网络模型更真实地模拟现实社交网络,不仅使深度学习模型的参数具有可解释性,同时提高了模型训练的效率,解决了新用户的冷启动问题。该方法克服了新用户的冷启动问题以及克服普通协同过滤方法的性能受到数据的高度稀缺性限制的问题,并且解决了现有的推荐方法中附加的额外特征信息难以获取的技术问题。
为了实现上述目的,本发明提出了一种具有q分离k稀疏的用户与物品拼接的推荐方法;该方法包括:
对用户i和物品j分别进行独热编码;利用无监督算法,将用户i分成q类,构建和q类用户对应相等的q层用户k稀疏连接网络NNi,层间进行k稀疏连接,将用户i的独热编码输入至q层用户k稀疏连接网络NNi,获得用户隐含特征向量Ui;利用无监督算法,将物品j分成q类,构建q类物品的q层物品k稀疏连接网络NNj,将物品j的独热编码输入至q层物品k稀疏连接网络NNj,获得物品的隐含特征向量Vj;将各个层的用户隐含特征向量Ui与物品的隐含特征向量Vj拼接后作为深度神经网络的输入,上半部分节点对应物品,下半部分节点对应用户,将其输入至深度神经网络,获得输入用户对输入物品的评分等级;对应评分等级高的物品作为推荐结果,并将其推荐给相应的用户;其中,所述深度神经网络为NNi和NNj的组合网络。
作为上述方法的改进之一,该方法具体包括:
步骤1)对用户i进行独热编码,获得EnCode(i),对物品j进行独热编码,获得EnCode(j);
步骤2)利用包括K均值(K-Means)聚类在内的无监督算法,将用户i分成q类,其中2<q<8;
步骤3)利用包括分层聚类算法在内的无监督算法,将物品j分成q类,其中2<q<8;
步骤4)分别将q类用户作为输入层用户,构建并训练q类用户的q层用户k稀疏连接网络NNi,其中,q层用户k稀疏连接网络NNi中的每层神经元的个数对应于步骤2)的q类用户的每一类用户的用户数;同时分别将q类物品作为输入层物品,构建并训练q类物品的q层物品k稀疏连接网络NNj;其中,NNj的每层神经元的个数对应于所有物品分别在步骤3)q个分类上的每一类物品的物品数;
步骤5)将步骤1)得到的用户i的独热编码EnCode(i)输入至步骤4)中训练后的q类用户的q层用户k稀疏连接网络NNi,获得用户隐含特征向量Ui;将步骤1)得到的物品j的独热编码EnCode(j)输入至步骤4)中训练后的q类物品的q层物品k稀疏连接网络NNj,获得物品的隐含特征向量Vj
步骤6)将步骤5)得到的各个层的用户隐含特征向量Ui和物品的隐含特征向量Vj拼接,并将其输入至深度神经网络,获得输入用户对输入物品的评分等级,对应评分高的物品作为推荐结果,并将其推荐给相应的用户。其中,所述深度神经网络为NNi和NNj的组合网络。
作为上述方法的改进之一,该方法还包括:
步骤7)当有新用户加入至q层用户网络中每一层用户数时,分别计算新用户与q层用户网络中每一层用户的相似度,将相似度最高的用户层对应的物品推荐结果推荐给新用户。
作为上述方法的改进之一,所述步骤1)中,将每个用户i进行独热编码,将每个用户i转化为一个与之唯一对应的独热向量EnCode(i);其中,EnCode(i)的长度为用户i的个数;
将每个物品j进行独热编码,将每个物品j转化为一个与之唯一对应的独热向量EnCode(j);其中,EnCode(j)的长度为物品的个数。
作为上述方法的改进之一,所述步骤2)中,所述无监督算法为K-均值(K-Means)聚类、分层聚类或基于密度的聚类算法(DBSCAN)。
作为上述方法的改进之一,所述步骤2)采用K-均值(K-Means)聚类的无监督算法,具体包括:
步骤2-1)选择q个簇的初始形心;
步骤2-2)在第k次迭代中,对任意一个用户i,求其分别到q个簇的初始形心的欧氏距离或曼哈顿距离,将该用户i归类到距离最小的形心所在的簇;
步骤2-3)利用K-Means均值方法更新该距离最小的形心所在的簇的形心值;
步骤2-4)对于所有的q个簇的初始形心,如果利用步骤2-2)、步骤2-3)的迭代法更新后,当更新后的形心值达到更新稳定或误差平方和最小时,则迭代结束;当更新后的形心值没有达到更新稳定或误差平方和最小时,则继续迭代。其中,误差平方和为该簇内所有点到形心的距离之和。
作为上述方法的改进之一,所述步骤3)中,所述无监督算法为K-均值(K-Means)聚类、分层聚类或基于密度的聚类算法(DBSCAN)。
作为上述方法的改进之一,上述步骤3)采用分层聚类的无监督算法,具体包括:
步骤3-1)选择q个簇的初始形心;
步骤3-2)在第k次迭代中,对任意一个物品j,求其分别到q个簇的每个簇的初始形心的欧氏距离或曼哈顿距离,将该物品j归类到距离最小的形心所在的簇;
步骤3-3)利用分层聚类方法更新该距离最小的形心所在的簇的形心值;
步骤3-4)对于所有的q个簇的初始形心,如果利用步骤3-2)、步骤3-3)的迭代法更新后,当更新后的形心值达到更新稳定或误差平方和最小时,则迭代结束;当更新后的形心值没有达到更新稳定或误差平方和最小时,则继续迭代。其中,误差平方和为该簇内所有点到形心的距离之和。
作为上述方法的改进之一,所述步骤4)中,训练后q类用户的q层用户k稀疏连接网络NNi具体包括:
分别将q类用户作为输入层用户,构建q类用户的q层用户k稀疏连接网络NNi,其中,q层用户k稀疏连接网络NNi中的每层神经元的个数对应于步骤2)的q类用户的每一类用户的用户数;每层神经元的个数是用户分别在步骤2)q个分类上的用户数,每个用户节点只与和该用户有社交关系的k个节点相连接,然后更换输入层用户,构造新的k稀疏连接网络,重复上述过程q次,得到每一类用户作为输入时对应的用户的k稀疏连接网络NNi,最终获得训练后的q类用户的q层用户k稀疏连接网络NNi
作为上述方法的改进之一,所述步骤4)中,训练后q类物品的q层物品k稀疏连接网络NNj具体包括:
同时分别将q类物品作为输入层物品,构建q类物品的q层物品k稀疏连接网络NNj;其中,NNj的每层神经元的个数对应于所有物品分别在步骤3)q个分类上的物品数;任取一类物品作为输入层,相邻的两层神经元进行全连接,经过训练之后得到连接权重,只取前k个较大权重保持连接,重复训练q次,得到训练后的q类物品的q层物品k稀疏连接网络NNj
作为上述方法的改进之一,所述步骤5)中,
根据公式(1),计算用户隐含特征向量Ui
Ui=NNi(EnCode(i)) (1)
其中,Ui为用户隐含特征向量;
根据公式(2),计算物品的隐含特征向量Vj
Vj=NNj(EnCode(j)) (2)
其中,Vj为物品的隐含特征向量。
作为上述方法的改进之一,所述步骤6)进一步包括:
设Rij为用户i对物品j的评分等级,首先在深度神经网络的输入层,由步骤5)生成的用户隐含特征向量Ui和物品隐含特征向量Vj的连接在一起作为输入向量x0:
x0=Joint(Ui,Vj) (3)
其中,Joint()表示连接两个向量的函数;
当x0通过第一个隐藏层x1时,第一个隐藏层x1的输出为:
x1=Sigmoid(W1x0+b1) (4)
其中,W1是输入层x0与第一个隐藏层x1之间的权值矩阵,b1是偏置向量,activation()指激活函数。
当x0通过第l隐藏层时,得到在第l隐藏层的输出结果:
xl=Tanh(Wlxl-1+bl) (5)
其中,xl-1为第l层的输入向量,也就是第l-1层的输出向量;xl为第l层的输出向量,也就是第l+1层的输入向量;bl为第l层的偏置向量:
在输出层,通过采用独热编码方法,根据公式(6),得到Rij对应的标签值y:
y=EnCode(Rij) (6)
因此,根据公式(7),采用softmax函数转换最后一个隐藏层的输出结果,得到并输出预测值
其中,h表示隐藏层数;xh是输出最后一个隐藏层;Wout和bout分别表示输出层的权重和偏置;
根据公式(8),采用交叉熵计算预测值和标签值y之间的差异ε:
y={ym} (10)
其中,d表示神经网络输出层的维数,等于输出层中神经元的个数;ym为第m个样本的标签值;为第m个样本的预测值;
最后,预测用户i对物品j的评分等级为:
其中,argmin()是为了获得ε的最小值所对应的自变量的取值;
对应评分等级高的物品作为推荐结果,并将其推荐给相应的用户。
作为上述方法的改进之一,所述步骤7)进一步包括:当有新用户加入时,计算新用户与q类用户中每一类用户在K-Means聚类后的中心用户的余弦相似度,然后将相似度最高的用户层作为输入时对应的物品推荐结果推荐给新用户。
本发明的优点在于:
与现有技术相比,本发明提供的具有q分离k稀疏特征的用户物品拼接推荐方法,结合了小世界模型理论和深度学习模型,使网络模型更真实地模拟现实社交网络,不仅使深度学习网络模型的参数具有可解释性,同时提高了模型训练的效率,解决了新用户的冷启动问题。
附图说明
图1是本发明的一种具有q分离k稀疏特征的用户物品拼接推荐方法的网络架构图;
图2是本发明的一种具有q分离k稀疏特征的用户物品拼接推荐方法的流程图。
具体实施方式
现结合附图对本发明作进一步的描述。
如图1和2所示,本发明提供了一种具有q分离k稀疏的用户与物品拼接的推荐方法;该方法利用小世界的模型简单地说,该模型认为在人际交往的脉络中,任意两个陌生人都可以通过“亲友的亲友”建立联系,这中间最多只要通过五个朋友就能达到目的。研究发现世界上许多其它的网络也有极相似的“六度分离”结构,例如经济活动中的商业联系网络结构、生态系统中的食物链结构,甚至人类脑神经元结构,以及细胞内的分子交互作用网络结构。基于这种理论我们的方法能够大大提高推荐算法的性能,此外当有新用户加入时,我们可以依据新用户与我们已在训练网络中的用户相似度为新用户实现推荐,从而解决了新用户的冷启动问题。
如图1和2所示,本发明提供了一种具有q分离k稀疏的用户与物品拼接的推荐方法,该方法包括:
对用户i和物品j分别进行独热编码;利用无监督算法,将用户i分成q类,构建和q类用户对应相等的q层用户k稀疏连接网络NNi,层间进行k稀疏连接,将用户i的独热编码输入至q层用户k稀疏连接网络NNi,获得用户隐含特征向量Ui;利用无监督算法,将物品j分成q类,构建q类物品的q层物品k稀疏连接网络NNj,将物品j的独热编码输入至q层物品k稀疏连接网络NNj,获得物品的隐含特征向量Vj;将各个层的用户隐含特征向量Ui与物品的隐含特征向量Vj拼接后作为深度神经网络的输入,上半部分节点对应物品,下半部分节点对应用户,将其输入至深度神经网络,获得输入用户对输入物品的评分等级;对应评分等级高的物品作为推荐结果,并将其推荐给相应的用户;其中,所述深度神经网络为NNi和NNj的组合网络。
如图2所示,该方法具体包括:
步骤101)对用户i进行独热编码,获得EnCode(i),对物品j进行独热编码,获得EnCode(j);
具体地,将每个用户i进行独热编码,将每个用户i转化为一个与之唯一对应的独热向量EnCode(i);EnCode(i)的长度为用户i的个数;将每个物品j进行独热编码,将每个物品j转化为一个与之唯一对应的独热向量EnCode(j),EnCode(j)的长度为物品的个数。在本实施例中,统计用户的总数n,统计物品的总数n’,分别构造n维的用户i的独热向量EnCode(i),以及n’维的物品j的独热向量EnCode(j)。
步骤102)利用包括K均值(K-Means)聚类在内的无监督算法,将用户i分成q类,其中2<q<8;在本实施例中,所示无监督算法为K-Means聚类算法,假设q=7;
所述步骤102)具体包括:
步骤102-1)适当选择7个簇的初始形心;
步骤102-2)在第k次迭代中,对任意一个用户,求该用户到7个簇的初始形心的欧氏距离或曼哈顿距离,将该用户归类到距离最小的形心所在的簇;
步骤102-3)利用K-Means均值方法更新该距离最小的形心所在的簇的形心值;
步骤102-4)对于所有的7个簇的初始形心,如果利用步骤102-2)、步骤102-3)的迭代法更新后,当更新后的形心值达到更新稳定或误差平方和最小时,则迭代结束;当更新后的形心值没有达到更新稳定或误差平方和最小时,则继续迭代。其中,误差平方和为该簇内所有点到形心的距离之和。
在本实施例中,设所有用户为users[n];其中,n为用户的数量,首先选择7个初始中心点c[i],例如c[0]=users[0],…c[6]=users[6];然后对于users[0]…users[n],分别与c[0]…c[6]比较,假定users[n]与c[i]差值最小,就标记为i;随后对于所有标记为i点,重新计算c[i]={所有标记为i的users[j]之和}/标记为i的个数;最后重复上述过程,直到所有c[i]值的变化小于预先设定阈值。
步骤103)利用包括分层聚类算法在内的无监督算法,将物品j分成q类,其中2<q<8;
在本实施例中,所述无监督算法为分层聚类算法,假设q=7;
所述步骤103)具体包括:
步骤103-1)适当选择7个簇的初始形心;
步骤103-2)在第k次迭代中,对任意一个物品j,求该物品j到7个簇的初始形心的欧氏距离或曼哈顿距离,将该物品j归类到距离最小的形心所在的簇;
步骤103-3)利用分层聚类方法更新该距离最小的形心所在的簇的形心值;
步骤103-4)对于所有的7个簇的初始形心,如果利用步骤103-2)、步骤103-3)的迭代法更新后,当更新后的形心值达到更新稳定或误差平方和最小时,则迭代结束;当更新后的形心值没有达到更新稳定或误差平方和最小时,则继续迭代。其中,误差平方和为该簇内所有点到形心的距离之和。
在本实施例中,设所有物品为items[n’];其中,n’为物品的数量,首先选择7个初始中心点c[I’],例如c[0]=items[0],…c[6]=items[6];然后对于items[0]…items[m],分别与c[0]…c[6]比较,假定items[m]与c[I’]差值最小,就标记为I’;随后对于所有标记为I’点,重新计算c[I’]={所有标记为I’的items[j]之和}/标记为I’的个数;最后重复上述过程,直到所有c[I’]值的变化小于给定阈值。
步骤104)分别将7类用户作为输入层用户,构建每类用户的7层用户k稀疏连接网络NNi,其中,7层用户k稀疏连接网络NNi中的每层神经元的个数对应于步骤2)的7类用户的每一类用户的用户数,即7层用户k稀疏连接网络NNi中的每层神经元的个数与步骤2)的7类用户的每一类用户的用户数相等;其中,q层物品k稀疏连接网络NNj为7层,每层神经元的个数是用户分别在步骤2)的7个分类上的用户数,每个用户节点只与和该用户有社交关系的k个节点相连接,然后更换输入层用户,构造新的k稀疏连接网络,重复该过程q次,得到每一类用户作为输入时对应的用户的k稀疏连接网络NNi,最终获得训练后的q类用户的q层用户k稀疏连接网络NNi
同时分别将q类物品作为输入层物品,构建q类物品的7层物品k稀疏连接网络NNj,其中,NNj的每层神经元的个数对应于所有物品分别在步骤3)7个分类上的物品数,即NNj的每层神经元的个数与所有物品分别在步骤3)7个分类上的物品数相等;每个物品随机与k个节点连接,NNj层数为q层。任取一类物品作为输入层,相邻的两层神经元进行全连接,经过训练之后得到连接权重,只取前k个较大权重保持连接,重复训练7次,得到训练后的q类物品的q层物品k稀疏连接网络NNj
步骤105)将步骤1)得到的用户i的独热编码EnCode(i)输入至步骤4)的对应的q类用户的q层用户k稀疏连接网络NNi,获得用户隐含特征向量Ui;将步骤1)得到的物品j的独热编码EnCode(j)输入至步骤4)对应的q类物品的q层物品k稀疏连接网络NNj,获得物品的隐含特征向量Vj
根据公式(1),计算用户隐含特征向量Ui
Ui=NNi(EnCode(i)) (1)
其中,Ui为用户隐含特征向量;
根据公式(2),计算物品的隐含特征向量Vj
Vj=NNj(EnCode(j)) (2)
其中,Vj为物品的隐含特征向量。
步骤106)将步骤105)得到的用户隐含特征向量Ui和物品的隐含特征向量Vj拼接,并将其输入至深度神经网络,获得输入用户对输入物品的评分等级概率分布,对应评分高的物品作为推荐结果,并将其推荐给相应的用户;
所述步骤106)进一步包括:
设Rij为用户i对物品j的评分等级,首先在深度神经网络的输入层,由步骤5)生成的用户隐含特征向量Ui和物品隐含特征向量Vj的连接在一起作为输入向量x0:
x0=Joint(Ui,Vj) (3)
其中,Joint()表示连接两个向量的函数;
当x0通过第一个隐藏层x1时,第一个隐藏层x1的输出为:
x1=Sigmoid(W1x0+b1) (4)
其中,W1是输入层x0与第一个隐藏层x1之间的权值矩阵,b1是偏置向量,activation()指激活函数。具体地,
在深度神经网络(DNN)中,我们常使用的激活函数包括:sigmoid函数、tanh函数和ReLU函数。在此,我们选择Sigmoid与tanh函数作为激活函数。
通过以上论述,我们可以得到在第l隐藏层的输出:
xl=Tanh(Wlxl-1+bl) (5)
其中,xl-1为第l层的输入向量,也就是第l-1层的输出向量;xl为第l层的输出向量,也就是第l+1层的输入向量;bl为第l层的偏置向量:
在输出层,通过采用独热编码方法,根据公式(6),得到Rij对应的标签值y:
y=EnCode(Rij) (6)
因此,根据公式(7),采用softmax函数转换最后一个隐藏层的输出结果,得到并输出预测值
其中,h表示隐藏层数;xh是输出最后一个隐藏层;Wout和bout分别表示输出层的权重和偏置;
根据公式(8),采用交叉熵计算预测值和标签值y之间的差异ε:
y={ym} (10)
其中,d表示神经网络输出层的维数,等于输出层中神经元的个数;ym为第m个样本的标签值;为第m个样本的预测值;
最后,预测用户i对物品j的评分等级为:
其中,argmin()是为了获得ε的最小值所对应的自变量的取值;
对应评分等级高的物品作为推荐结果,并将其推荐给相应的用户。
所述方法还包括:
步骤107)当有新用户加入至q层用户网络中每一层用户数时,分别计算新用户与q层用户网络中每一层用户的相似度,将相似度最高的用户层对应的物品推荐结果推荐给新用户。
具体地,当有新用户加入时,计算新用户与q类用户中每一类用户在K-Means聚类后的中心用户的余弦相似度,然后将相似度最高的用户层作为输入时对应的物品推荐结果推荐给新用户
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (7)

1.一种具有q分离k稀疏的用户与物品拼接的推荐方法,其特征在于,该方法包括:
对用户i和物品j分别进行独热编码;利用无监督算法,将用户i分成q类,构建和q类用户对应相等的q层用户k稀疏连接网络NNi,层间进行k稀疏连接,将用户i的独热编码输入至q层用户k稀疏连接网络NNi,获得用户隐含特征向量Ui;利用无监督算法,将物品j分成q类,构建q类物品的q层物品k稀疏连接网络NNj,将物品j的独热编码输入至q层物品k稀疏连接网络NNj,获得物品的隐含特征向量Vj;将各个层的用户隐含特征向量Ui与物品的隐含特征向量Vj拼接后作为深度神经网络的输入,上半部分节点对应物品,下半部分节点对应用户,将其输入至深度神经网络,获得输入用户对输入物品的评分等级;对应评分等级高的物品作为推荐结果,并将其推荐给相应的用户;其中,所述深度神经网络为NNi和NNj的组合网络;
训练后q类用户的q层用户k稀疏连接网络NNi具体包括:
分别将q类用户作为输入层用户,构建q类用户的q层用户k稀疏连接网络NNi,其中,q层用户k稀疏连接网络NNi中的每层神经元的个数对应于的q类用户的每一类用户的用户数;每层神经元的个数是用户分别在q个分类上的用户数,每个用户节点只与和该用户有社交关系的k个节点相连接,然后更换输入层用户,构造新的k稀疏连接网络,重复上述过程q次,得到每一类用户作为输入时对应的用户的k稀疏连接网络NNi,最终获得训练后的q类用户的q层用户k稀疏连接网络NNi
训练后q类物品的q层物品k稀疏连接网络NNj具体包括:
同时分别将q类物品作为输入层物品,构建q类物品的q层物品k稀疏连接网络NNj;其中,NNj的每层神经元的个数对应于所有物品分别在q个分类上的物品数;任取一类物品作为输入层,相邻的两层神经元进行全连接,经过训练之后得到连接权重,只取前k个较大权重保持连接,重复训练q次,得到训练后的q类物品的q层物品k稀疏连接网络NNj
2.根据权利要求1所述的具有q分离k稀疏的用户与物品拼接的推荐方法,其特征在于,该方法具体包括:
步骤1)对用户i进行独热编码,获得EnCode(i),对物品j进行独热编码,获得EnCode(j);
步骤2)利用包括K-Means聚类在内的无监督算法将用户i分成q类,其中2<q<8;
步骤3)利用包括分层聚类算法在内的无监督算法,将物品j分成q类,其中2<q<8;
步骤4)分别将q类用户作为输入层用户,构建并训练q类用户的q层用户k稀疏连接网络NNi,其中,q层用户k稀疏连接网络NNi中的每层神经元的个数对应于步骤2)的q类用户的每一类用户的用户数;同时分别将q类物品作为输入层物品,构建并训练q类物品的q层物品k稀疏连接网络NNj;其中,NNj的每层神经元的个数对应于所有物品分别在步骤3)q个分类上的每一类物品的物品数;
步骤5)将步骤1)得到的用户i的独热编码EnCode(i)输入至步骤4)中训练后的q类用户的q层用户k稀疏连接网络NNi,获得用户隐含特征向量Ui;将步骤1)得到的物品j的独热编码EnCode(j)输入至步骤4)中训练后的q类物品的q层物品k稀疏连接网络NNj,获得物品的隐含特征向量Vj
步骤6)将步骤5)得到的各个层的用户隐含特征向量Ui和物品的隐含特征向量Vj拼接,并将其输入至深度神经网络,获得输入用户对输入物品的评分等级,对应评分高的物品作为推荐结果,并将其推荐给相应的用户。
3.根据权利要求2所述的具有q分离k稀疏的用户与物品拼接的推荐方法,其特征在于,所述方法还包括:
步骤7)当有新用户加入至q层用户网络中每一类用户数时,分别计算新用户与q层用户网络中每一类用户的相似度,将相似度最高的用户层对应的物品推荐结果推荐给新用户;
所述步骤7)具体包括:
当有新用户加入时,计算新用户与q类用户中每一类用户在K-Means聚类后的中心用户的余弦相似度,再将相似度最高的聚类中心对应的一类用户作为深度神经网络的输入,然后将作为输入的一类用户所对应的物品推荐结果推荐给新用户。
4.根据权利要求2所述的具有q分离k稀疏的用户与物品拼接的推荐方法,其特征在于,所述步骤1)中,将每个用户i进行独热编码,将每个用户i转化为一个与之唯一对应的独热向量EnCode(i);其中,EnCode(i)的长度为用户i的个数;将每个物品j进行独热编码,将每个物品j转化为一个与之唯一对应的独热向量EnCode(j);其中,EnCode(j)的长度为物品的个数。
5.根据权利要求2所述的具有q分离k稀疏的用户与物品拼接的推荐方法,其特征在于,所述步骤2)中,所述无监督算法为K-Means聚类、分层聚类或基于密度的聚类算法。
6.根据权利要求2所述的具有q分离k稀疏的用户与物品拼接的推荐方法,其特征在于,所述步骤5)中,
根据公式(1),计算用户隐含特征向量Ui
Ui=NNi(EnCode(i)) (1)
其中,Ui为用户隐含特征向量;
根据公式(2),计算物品的隐含特征向量Vj
Vj=NNj(EnCode(j)) (2)
其中,Vj为物品的隐含特征向量。
7.根据权利要求2所述的具有q分离k稀疏的用户与物品拼接的推荐方法,其特征在于,所述步骤6)进一步包括:
设Rij为用户i对物品j的评分等级,首先在深度神经网络的输入层,由步骤5)获得的用户隐含特征向量Ui和物品隐含特征向量Vj的拼接在一起作为输入向量x0
x0=Joint(Ui,Vj) (3)
其中,Joint()表示连接两个向量的函数;
当x0通过第l隐藏层时,得到在第l隐藏层的输出结果:
xl=Tanh(Wlxl-1+bl) (5)
其中,xl-1为第l层的输入向量,也就是第l-1层的输出向量;xl为第l层的输出向量,也就是第l+1层的输入向量;W1是输入层x0与第一个隐藏层x1之间的权值矩阵;bl为第l层的偏置向量:
在输出层,通过采用独热编码方法,根据公式(6),得到Rij对应的标签值y:
y=EnCode(Rij) (6)
因此,根据公式(7),采用softmax函数转换最后一个隐藏层的输出结果,得到并输出预测L值
其中,h表示隐藏层数;xh是输出最后一个隐藏层;Wout和bout分别表示输出层的权重和偏置;
根据公式(8),采用交叉熵计算预测值和标签值y之间的差异ε:
y={ym} (10)
其中,d表示神经网络输出层的维数,等于输出层中神经元的个数;ym为第m个样本的标签值;为第m个样本的预测值;
最后,预测用户i对物品j的评分等级为:
其中,argmin()是为了获得ε的最小值所对应的自变量的取值;
对应评分等级高的物品作为推荐结果,并将其推荐给相应的用户。
CN201910127170.9A 2019-02-20 2019-02-20 一种具有q分离k稀疏的用户与物品拼接的推荐方法 Active CN111597428B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910127170.9A CN111597428B (zh) 2019-02-20 2019-02-20 一种具有q分离k稀疏的用户与物品拼接的推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910127170.9A CN111597428B (zh) 2019-02-20 2019-02-20 一种具有q分离k稀疏的用户与物品拼接的推荐方法

Publications (2)

Publication Number Publication Date
CN111597428A CN111597428A (zh) 2020-08-28
CN111597428B true CN111597428B (zh) 2023-10-27

Family

ID=72185259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910127170.9A Active CN111597428B (zh) 2019-02-20 2019-02-20 一种具有q分离k稀疏的用户与物品拼接的推荐方法

Country Status (1)

Country Link
CN (1) CN111597428B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112070577A (zh) * 2020-08-31 2020-12-11 深圳市卡牛科技有限公司 一种商品推荐方法、系统、设备及介质
CN112418402B (zh) * 2020-11-24 2023-08-11 百度在线网络技术(北京)有限公司 推荐对象的方法、神经网络及其训练方法、计算设备
CN113763095B (zh) * 2020-11-27 2023-09-26 北京京东振世信息技术有限公司 信息推荐方法、装置和模型训练方法、装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103995823A (zh) * 2014-03-25 2014-08-20 南京邮电大学 一种基于社交网络的信息推荐方法
CN106920147A (zh) * 2017-02-28 2017-07-04 华中科技大学 一种基于词向量数据驱动的商品智能推荐方法
CN108320187A (zh) * 2018-02-02 2018-07-24 合肥工业大学 一种基于深度社交关系的推荐方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6922680B2 (en) * 2002-03-19 2005-07-26 Koninklijke Philips Electronics N.V. Method and apparatus for recommending an item of interest using a radial basis function to fuse a plurality of recommendation scores
US10878029B2 (en) * 2015-09-10 2020-12-29 Adobe Inc. Incorporating social-network connections information into estimated user-ratings of videos for video recommendations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103995823A (zh) * 2014-03-25 2014-08-20 南京邮电大学 一种基于社交网络的信息推荐方法
CN106920147A (zh) * 2017-02-28 2017-07-04 华中科技大学 一种基于词向量数据驱动的商品智能推荐方法
CN108320187A (zh) * 2018-02-02 2018-07-24 合肥工业大学 一种基于深度社交关系的推荐方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Andriy Shepitsen, etc.Personalized recommendation in social tagging systems using hierarchical clustering.《RecSys '08: Proceedings of the 2008 ACM conference on Recommender systems》.2008,第259-266页. *
用于个性化数据挖掘的粗粒度分布式深度学习;盛益强 等;《网络新媒体技术》;第5卷(第6期);第1-6页 *

Also Published As

Publication number Publication date
CN111597428A (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
CN111428147B (zh) 结合社交和兴趣信息的异源图卷积网络的社交推荐方法
CN108829763B (zh) 一种基于深度神经网络的影评网站用户的属性预测方法
Shen et al. Deep network embedding for graph representation learning in signed networks
CN110363282B (zh) 一种基于图卷积网络的网络节点标签主动学习方法和系统
CN108920641A (zh) 一种信息融合个性化推荐方法
CN111597428B (zh) 一种具有q分离k稀疏的用户与物品拼接的推荐方法
CN111881342A (zh) 一种基于图孪生网络的推荐方法
CN111062775A (zh) 一种基于注意力机制的推荐系统召回方法
CN109190030A (zh) 融合node2vec和深度神经网络的隐式反馈推荐方法
CN111881363A (zh) 一种基于图交互网络的推荐方法
Yang et al. Triplet Enhanced AutoEncoder: Model-free Discriminative Network Embedding.
CN112115377A (zh) 一种基于社交关系的图神经网络链路预测推荐方法
CN113918832B (zh) 基于社交关系的图卷积协同过滤推荐系统
CN109101629A (zh) 一种基于深度网络结构和节点属性的网络表示方法
CN110866145A (zh) 一种共同偏好辅助的深度单类协同过滤推荐方法
CN111949885B (zh) 一种面向旅游景点的个性化推荐方法
CN114357312B (zh) 基于图神经网络自动建模的社区发现方法及个性推荐方法
CN113918834B (zh) 融合社交关系的图卷积协同过滤推荐方法
Deodhar et al. A framework for simultaneous co-clustering and learning from complex data
CN113918833A (zh) 通过社交网络关系的图卷积协同过滤实现的产品推荐方法
CN110781940A (zh) 一种基于模糊数学的社区发现信息处理方法及系统
CN112132633A (zh) 一种基于消费事理图谱的消费意图识别和预测方法
CN112905906B (zh) 一种融合局部协同与特征交叉的推荐方法及系统
CN114139066A (zh) 一种基于图神经网络的协同过滤推荐系统
Yang Clothing design style recommendation using decision tree algorithm combined with deep learning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20210730

Address after: Room 1601, 16th floor, East Tower, Ximei building, No. 6, Changchun Road, high tech Industrial Development Zone, Zhengzhou, Henan 450001

Applicant after: Zhengzhou xinrand Network Technology Co.,Ltd.

Address before: 100190, No. 21 West Fourth Ring Road, Beijing, Haidian District

Applicant before: INSTITUTE OF ACOUSTICS, CHINESE ACADEMY OF SCIENCES

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant