CN110175286B - 结合成对优化和矩阵分解的产品推荐方法及系统 - Google Patents

结合成对优化和矩阵分解的产品推荐方法及系统 Download PDF

Info

Publication number
CN110175286B
CN110175286B CN201910412585.0A CN201910412585A CN110175286B CN 110175286 B CN110175286 B CN 110175286B CN 201910412585 A CN201910412585 A CN 201910412585A CN 110175286 B CN110175286 B CN 110175286B
Authority
CN
China
Prior art keywords
matrix
user
product
products
users
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.)
Expired - Fee Related
Application number
CN201910412585.0A
Other languages
English (en)
Other versions
CN110175286A (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.)
Shandong Normal University
Original Assignee
Shandong Normal University
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 Shandong Normal University filed Critical Shandong Normal University
Priority to CN201910412585.0A priority Critical patent/CN110175286B/zh
Publication of CN110175286A publication Critical patent/CN110175286A/zh
Application granted granted Critical
Publication of CN110175286B publication Critical patent/CN110175286B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开公开了结合成对优化和矩阵分解的产品推荐方法及系统,获取用户对产品的评分矩阵和用户之间的社交关系矩阵;根据用户对产品的评分矩阵对产品进行聚类,将产品划分为若干簇;将用户对产品的评分矩阵和用户之间的社交关系矩阵,映射为带权邻接矩阵;定义用户‑产品二分图,在用户‑产品二分图上运用随机游走算法对带权邻接矩阵进行填充,得到概率矩阵;基于产品被划分的簇,建立基于成对优化pairwise的目标函数;基于目标函数对概率矩阵进行矩阵分解,以目标函数值最小为目标,得到分解后的矩阵和产品推荐列表。

Description

结合成对优化和矩阵分解的产品推荐方法及系统
技术领域
本公开涉及产品个性化推荐技术领域,特别是涉及结合成对优化和矩阵分解的产品推荐方法及系统。
背景技术
本部分的陈述仅仅是提到了与本公开相关的背景技术,并不必然构成现有技术。
在实现本公开的过程中,发明人发现现有技术中存在以下技术问题:
基于协同过滤的推荐算法是目前最流行的推荐算法,因其对各个领域较强的兼容性和较为可观的推荐性能,受到了许多研究者的青睐。目前,协同过滤算法有两个比较流行的研究方向:1、隐因子模型(Latent Factor Model)2、图模型(Graph-based Model)。隐因子模型的代表方法是矩阵分解,在推荐系统中的主要应用是将用户的评分矩阵进行降维并重组,从而完成对未知评分的预测。图模型的代表方法是随机游走(Random Walk),随机游走算法是基于概率转移的推荐算法,旨在发现用户产品间的高次相似度。矩阵分解模型对数据的质量依赖性较高,在大规模数据集的精度表现较差;传统的随机游走算法在计算状态转移时仅仅考虑了用户-产品二分图中用户-产品顶点间的相关性却忽视了用户与用户间的相关性。
近来,一些学者将排序思想带入了推荐系统,目前应用最广泛的基于排序的推荐模型是基于pairwise模型的推荐算法,一种将偏序关系作为优化目标的方法,但是当前对pairwise的研究工作存在以下问题:1、时间复杂度高;2、结果可解释性差;3、忽视偏序关系的权重。
发明内容
为了解决现有技术的不足,本公开提供了结合成对优化和矩阵分解的产品推荐方法、系统、设备及介质;
第一方面,本公开提供了结合成对优化和矩阵分解的产品推荐方法;
结合成对优化和矩阵分解的产品推荐方法,包括:
获取用户对产品的评分矩阵和用户之间的社交关系矩阵;
根据用户对产品的评分矩阵对产品进行聚类,将产品划分为若干簇;
将用户对产品的评分矩阵和用户之间的社交关系矩阵,映射为带权邻接矩阵;
定义用户-产品二分图,在用户-产品二分图上运用随机游走算法对带权邻接矩阵进行填充,得到概率矩阵;
基于产品被划分的簇,建立基于成对优化pairwise的目标函数;基于目标函数对概率矩阵进行矩阵分解,以目标函数值最小为目标,得到分解后的矩阵和产品推荐列表。
第二方面,本公开还提供了结合成对优化和矩阵分解的产品推荐系统;
结合成对优化和矩阵分解的产品推荐系统,包括:
获取模块,其被配置为获取用户对产品的评分矩阵和用户之间的社交关系矩阵;
聚类模块,其被配置为根据用户对产品的评分矩阵对产品进行聚类,将产品划分为若干簇;
映射模块,其被配置为将用户对产品的评分矩阵和用户之间的社交关系矩阵,映射为带权邻接矩阵;
填充模块,其被配置为定义用户-产品二分图,在用户-产品二分图上运用随机游走算法对带权邻接矩阵进行填充,得到概率矩阵;
推荐模块,其被配置为基于产品被划分的簇,建立基于成对优化pairwise的目标函数;基于目标函数对概率矩阵进行矩阵分解,以目标函数值最小为目标,得到分解后的矩阵和产品推荐列表。
第三方面,本公开还提供了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述方法的步骤。
第四方面,本公开还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述方法的步骤。
与现有技术相比,本公开的有益效果是:
本公开设计了一种建立基于成对优化pairwise的目标函数,通过组内排序优化,提高了矩阵分解的准确率,并结合社交关系(Side Information)改善了随机游走算法,实现了产品的精确推荐。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为第一个实施例的方法流程图;
图2为四个用户对六部电影的评分以及部分用户间的社交关系是已知数据,将数据转化为评分矩阵;
图3为按照评分矩阵对电影进行k-means聚类。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一,本实施例提供了结合成对优化和矩阵分解的产品推荐方法;
结合成对优化和矩阵分解的产品推荐方法,包括:
S1:获取用户对产品的评分矩阵和用户之间的社交关系矩阵;
S2:根据用户对产品的评分矩阵对产品进行聚类,将产品划分为若干簇;
S3:将用户对产品的评分矩阵和用户之间的社交关系矩阵,映射为带权邻接矩阵;
S4:定义用户-产品二分图,在用户-产品二分图上运用随机游走算法对带权邻接矩阵进行填充,得到概率矩阵;
S5:基于产品被划分的簇,建立基于成对优化pairwise的目标函数;基于目标函数对概率矩阵进行矩阵分解,以目标函数值最小为目标,得到分解后的矩阵和产品推荐列表。
应理解的,将产品划分成若干类可以有效降低成对优化的时间复杂度。
作为一个或多个实施例,所述步骤S1中,用户对产品的评分矩阵中的每个元素值即为用户对产品的评分值。
作为一个或多个实施例,所述步骤S1中,用户之间的社交关系矩阵中每个元素值为0或1,当用户A与用户B彼此是对方好友时,社交关系矩阵元素值为1;当用户A与用户B彼此不是对方好友时,社交关系矩阵元素值为0。
作为一个或多个实施例,所述步骤S2中,根据用户对产品的评分矩阵对产品进行聚类,具体步骤为:
设定聚类个数K;将用户对产品的评分矩阵输入到K-means算法中,输出相似产品构成的簇。
作为一个或多个实施例,所述步骤S3中,将用户对产品的评分矩阵和用户之间的社交关系矩阵,映射为带权邻接矩阵,具体步骤为:
计算第一比值;第一比值为对每个产品的评分和该用户对所有产品评分和的比值;
计算第二比值;第二比值为当前用户的每个好友对当前用户所评分产品的打分与当前用户的每个好友对当前用户所评分产品的最大打分值比值的平均值;带权邻接矩阵等于第一比值与第二比值加权求和。
应理解的,带权邻接矩阵为:
Figure GDA0002898606500000051
其中,Aui表示带权邻接矩阵,Rui表示用户u对产品i的打分;Ru表示用户u对所有产品的打分向量;Tu表示用户u打过分的产品集合;β表示权重,Ru′i表示用户u的好友u′对产品i的打分,S表示用户u的好友集合;|S|表示好友集合的大小。
作为一个或多个实施例,所述步骤S4中,定义用户-产品二分图,在用户-产品二分图上运用随机游走算法对带权邻接矩阵进行填充的具体步骤为:
首先定义用户-产品二分图G(V,E),其中|V|=|U|+|I|,V表示二分图顶点的集合;E表示二分图边的集合;I表示产品集合,|V|表示二分图顶点的集合的大小;|U|表示用户集合的大小;|I|表示产品集合的大小;
对用户u,对产品集合的喜好程度计算见式(C1.1)
p(t+1)=(1-α)Ap(t)+αq (C1.1)
其中,p表示顶点u游走到各个节点的可能性向量,节点指的是用户或者产品;p(t+1)表示第t+1次迭代后的向量;p(t)表示第t次迭代后的向量;α表示回到随机游走起点的概率;q∈R|V|为随机游走的初始向量,qu=1,其余为0,迭代更新p直至|p(t+1)-p(t)|<ε;;qu:向量q的第u个元素;ε:误差项,用来衡量两次迭代的收敛情况;
在习得用户的状态转移向量p后,将矩阵R更新为概率矩阵,将概率矩阵作为接下来矩阵分解的输入矩阵。
作为一个或多个实施例,所述步骤S5中,基于产品被划分的簇,建立基于成对优化pairwise的目标函数的具体步骤为:
Figure GDA0002898606500000061
其中,u:一个用户,U:用户集合,k:簇号,K:簇的总数;
Figure GDA0002898606500000062
满足这样条件的三元组集合:产品i,i′同属于一个簇k中;在分解前的矩阵中,Rui>0,Rui′=0;P、Q为矩阵分解需要学习的参数;Pu:P的第u行;
Figure GDA0002898606500000063
的第i列;λ1:第一正则项系数;λ2:第二正则项系数;λ1||P||2、λ2||Q||2:正则项;||·||2:矩阵2-范数;
Figure GDA0002898606500000071
作为一个或多个实施例,所述步骤S5中,基于目标函数对概率矩阵进行矩阵分解,以目标函数值最小为目标,得到分解后的矩阵和产品推荐列表的具体步骤为:
设置阈值t,当目标函数值小于t时停止迭代;
使用随机梯度下降迭代更新目标参数P和Q;
令R′=PQ为习得的预测矩阵,对任一用户u,选取M个预测评分最高的且用户没有评分记录的产品进行推荐。
本公开通过对待排序的产品进行聚类并通过对偏序关系给予加权进行了优化。偏序关系是,对任一用户u,i偏序大于i′当且仅当Rui≧1/N,Rui′<1/N且i,i′在同一簇中;N代表产品数。
表1参数含义表
Figure GDA0002898606500000072
本公开的目的是提出一种新的基于排序和二分图的推荐算法,进而提高推荐效果的准确率和运行速度。该发明从推荐的准确率、推荐算法的时间复杂度方面均好于目前常用的推荐算法。
本公开是以用户评分矩阵、用户社交关系矩阵为输入数据,用户的个性化推荐列表为作为输出数据,可以应用到电影推荐、音乐推荐、图书推荐等商品推荐领域,其主要步骤如下:
A将用户评分矩阵、用户社交关系矩阵映射为带权邻接矩阵
A1.邻接矩阵权值可由式(A1.1)计算:
Figure GDA0002898606500000081
其中,α+β=1,Ru表示用户u对所有产品的打分向量,Max(Ru)表示用户u打分的最大值;S表示与用户u有社交关系的用户集合。
B获取产品集群
B1.设定K值;
B2.K-means算法进行聚类,特征向量为U中用户对产品的打分,K-means算法是比较经典的聚类算法,可以快速按照输入特征进行聚类并且有着不错的效果;
C稀疏矩阵填充
C1.鉴于稀疏矩阵可能存在的冷启动问题对推荐效果的影响,本公开使用结合辅助信息的随机游走算法进行了对矩阵的初步填充。首先定义用户-产品二分图G(V,E),其中|V|=|U|+|I|,对一个特定用户u,对产品集合的喜好程度计算如下,见式(C1.1)
Figure GDA0002898606500000082
其中,p表示顶点u游走到各个节点的可能性向量,α表示回到随机游走起点的概率;
Figure GDA0002898606500000083
其中A的计算结合了用户的社交关系(见式A1.1),D为对角矩阵,D=∑iAui,q∈R|V|为随机游走的初始向量,其中qu=1,其余为0,迭代更新p直至|p(t+1)-p(t)|<ε;
C2.在习得用户的状态转移向量p后,本公开将矩阵R更新为概率矩阵,Rui在下文中将表示用户u对产品i喜好的概率值,并将此矩阵作为接下来矩阵分解的输入矩阵;
D基于排序优化的矩阵分解
D1.经过随机游走算法填充,被填充过的矩阵仍旧存在着一些小于1/N的项,N为产品总数;
本公开利用填充矩阵的偏序信息,通过矩阵分解进一步优化推荐效果;
D2.基于排序的优化策略。本公开以以下假设为前提:对同一聚类中的产品,与用户有过反馈的产品的重要性大于没有与用户有过反馈的产品。在C中,用户-产品的交互矩阵通过随机游走进行了填充,结合在B中定义的聚类关系,定义三元组
Figure GDA0002898606500000091
其中,ck表示第k个聚类,i表示用户反馈程度较高的产品,i′表示用户反馈程度较低的产品(三元组需满足Rui>Rui′)反馈程度高意味着概率矩阵该项大于等于1/N,低意味着该项小于1/N,
Figure GDA0002898606500000092
表示分解前的三元组,
Figure GDA0002898606500000093
表示分解后的三元组;Tribef表示分解前全部三元组的集合,Triaft表示分解后全部三元组的集合。目标函数的优化目标就是尽可能的使Triaft与Tribef相似。为了更加形式化的说明目标函数,首先定义映射f,如式(D2.1)
Figure GDA0002898606500000094
矩阵分解实质上是学得一个由原矩阵到目标矩阵得映射,f是这种映射的参数化形式。
给定用户u,Tribef表示R中
Figure GDA0002898606500000095
的集合(k=1,2,3…K),定义排序损失函数如下(D2.2):
Figure GDA0002898606500000101
其中,σ为sigmoid函数,|Rui-Rui′|表示排序结果的权重。本公开将上述排序损失函数与矩阵分解模型结合起来,定义如下损失函数(D2.3):
Figure GDA0002898606500000102
其中,θU∈R|U|×d,表示用户隐式特征矩阵,θI|I|×d表示产品特征矩阵,θu表示用户隐式特征矩阵的行向量,θi表示产品在产品特征矩阵中的行向量,λ1||θU||22||θI||2为正则项防止过拟合。式(D2.3)可以通过随机梯度下降(SGD)求解。用户隐式特征矩阵可理解为矩阵分解需学习的一个参数,产品特征矩阵也是一个参数,通过对目标函数的优化可以学习得到这两个参数。
图1说明了基于排序优化的矩阵分解推荐算法的流程,在对产品聚类的步骤当中,本公开采用的是k-means聚类,k-means聚类具有收敛速度快、聚类效果优、易于调参等优点,在一些推荐系统实验中表现良好;在随机游走阶段,算法整合了与用户社交关系相关的辅助信息,对传统随机游走进行了改进,并取得不错的效果;矩阵分解阶段本公开采用了一种全新的目标优化函数(详见D2),与传统的矩阵分解相比,基于排序的优化函数具有收敛速度快、结果可解释性好等优点,在Top-N推荐中有着不错的表现。
下面将结合一个具体的事例来说明算法的运行步骤。
(1)如图2所示,四个用户对六部电影的评分以及部分用户间的社交关系是已知数据,将数据转化为评分矩阵,如表2。
表2用户-电影评分矩阵
Figure GDA0002898606500000103
Figure GDA0002898606500000111
(2)如图3(a)、图3(b)和图3(c)所示,按照评分矩阵对电影进行k-means聚类。
(3)按式(A1.1)建立用户-产品反馈矩阵A。
(4)在用户-产品图G上运用式(C1.1)进行随机游走,填充用户-产品反馈矩阵A,具体填充规则如下:对用户u,随机游走收敛后的向量为pu,用户u对产品i的喜爱程度为pui,若pui<1/N则将pui映射为0,其中N为产品总数,如表3所示。
表3随机游走填充过的矩阵
产品1 产品2 产品3 产品4 产品5 产品6
用户1 0.25 0.5 0.20 0 0 0
用户2 0.3 0.25 0.30 0 0 0
用户3 0.3 0.25 0.25 0 0 0
用户4 0 0 0.26 0.20 0.3 0.2
(5)以式(D2.3)为目标函数进行矩阵分解,最终学得矩阵参数P和Q。
(6)选取用户喜好程度最高的且用户没有评分的两部电影推荐给用户。
本公开提出的对矩阵分解的目标函数(D2.3),即基于成对优化pairwise的目标函数把优化范围局限在产品的聚类中,优化类内偏序关系。
实施例二,本实施例提供了结合成对优化和矩阵分解的产品推荐系统;
结合成对优化和矩阵分解的产品推荐系统,包括:
获取模块,其被配置为获取用户对产品的评分矩阵和用户之间的社交关系矩阵;
聚类模块,其被配置为根据用户对产品的评分矩阵对产品进行聚类,将产品划分为若干簇;
映射模块,其被配置为将用户对产品的评分矩阵和用户之间的社交关系矩阵,映射为带权邻接矩阵;
填充模块,其被配置为定义用户-产品二分图,在用户-产品二分图上运用随机游走算法对带权邻接矩阵进行填充,得到概率矩阵;
推荐模块,其被配置为基于产品被划分的簇,建立目标函数;基于目标函数对概率矩阵进行矩阵分解,以目标函数值最小为目标,得到分解后的矩阵和产品推荐列表。
实施例三:本实施例还提供了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成方法中的各个操作,为了简洁,在此不再赘述。
所述电子设备可以是移动终端以及非移动终端,非移动终端包括台式计算机,移动终端包括智能手机(Smart Phone,如Android手机、IOS手机等)、智能眼镜、智能手表、智能手环、平板电脑、笔记本电脑、个人数字助理等可以进行无线通信的移动互联网设备。
应理解,在本公开中,该处理器可以是中央处理单元CPU,该处理器还算可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本公开所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外一点,所显示或讨论的相互之间的耦合或者直接耦合或者通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (9)

1.结合成对优化和矩阵分解的产品推荐方法,其特征是,包括:
获取用户对产品的评分矩阵和用户之间的社交关系矩阵;
根据用户对产品的评分矩阵对产品进行聚类,将产品划分为若干簇;
将用户对产品的评分矩阵和用户之间的社交关系矩阵,映射为带权邻接矩阵;
定义用户-产品二分图,在用户-产品二分图上运用随机游走算法对带权邻接矩阵进行填充,得到概率矩阵;
基于产品被划分的簇,建立基于成对优化pairwise的目标函数;基于目标函数对概率矩阵进行矩阵分解,以目标函数值最小为目标,得到分解后的矩阵和产品推荐列表;
将用户对产品的评分矩阵和用户之间的社交关系矩阵,映射为带权邻接矩阵,具体步骤为:
计算第一比值;第一比值为对每个产品的评分和该用户对所有产品评分和的比值;
计算第二比值;第二比值为当前用户的每个好友对当前用户所评分产品的打分与当前用户的每个好友对当前用户所评分产品的最大打分值比值的平均值;带权邻接矩阵等于第一比值与第二比值加权求和。
2.如权利要求1所述的方法,其特征是,用户之间的社交关系矩阵中每个元素值为0或1,当用户A与用户B彼此是对方好友时,社交关系矩阵元素值为1;当用户A与用户B彼此不是对方好友时,社交关系矩阵元素值为0。
3.如权利要求1所述的方法,其特征是,带权邻接矩阵为:
Figure FDA0002952857470000011
其中,Aui表示带权邻接矩阵,Rui表示用户u对产品i的打分;Ruc表示用户u对产品c的打分;Tu表示用户u打过分的产品集合;Tu′表示用户u的好友u′打过分的产品集合;β表示权重,Ru′i表示用户u的好友u′对产品i的打分,S表示用户u的好友集合;Ru′k表示用户u的好友u′对产品k的打分。
4.如权利要求1所述的方法,其特征是,定义用户-产品二分图,在用户-产品二分图上运用随机游走算法对带权邻接矩阵进行填充的具体步骤为:
首先定义用户-产品二分图G(V,E),其中|V|=|U|+|I|,V表示二分图顶点的集合;E表示二分图边的集合;I表示产品集合,|V|表示二分图顶点的集合的大小;|U|表示用户集合的大小;|I|表示产品集合的大小;
对用户u,对产品集合的喜好程度计算见式(C1.1)
p(t+1)=(1-α)Ap(t)+αq (C1.1)
其中,A表示用户-产品二分图带权邻接矩阵;p表示顶点u游走到各个节点的可能性向量,节点指的是用户或者产品;p(t+1)表示第t+1次迭代后的向量;p(t)表示第t次迭代后的向量;α表示回到随机游走起点的概率;q为随机游走的初始向量,迭代更新p直至|p(t+1)-p(t)|<ε,ε表示误差项,用来衡量两次迭代的收敛情况;
在习得用户的状态转移向量p后,将矩阵R更新为概率矩阵,将概率矩阵作为接下来矩阵分解的输入矩阵。
5.如权利要求1所述的方法,其特征是,基于产品被划分的簇,建立基于成对优化pairwise的目标函数的具体步骤为:
Figure FDA0002952857470000021
其中,Lpair-MF为基于矩阵分解的排序损失函数;u:一个用户,U:用户集合,k:簇号,K:簇的总数;
Figure FDA0002952857470000031
满足这样条件的三元组集合:产品i,i′同属于一个簇k中;在分解前的矩阵中,Rui>0,Rui′=0;P、Q为矩阵分解需要学习的参数;Pu:P的第u行;
Figure FDA0002952857470000032
QT的第i列;
Figure FDA0002952857470000033
QT的第i′列;λ1:第一正则项系数;λ2:第二正则项系数;λ1||P||2、λ2||Q||2:正则项;||·||2:矩阵2-范数;Rui表示用户u对产品i的打分;Rui′表示用户u对产品i′的打分;σ:sigmoid函数;
Figure FDA0002952857470000034
6.如权利要求1所述的方法,其特征是,基于目标函数对概率矩阵进行矩阵分解,以目标函数值最小为目标,得到分解后的矩阵和产品推荐列表的具体步骤为:
设置阈值t,当目标函数值小于t时停止迭代;
使用随机梯度下降迭代更新目标参数P和Q;
令R′=PQ为习得的预测矩阵,对任一用户u,选取M个预测评分最高的且用户没有评分记录的产品进行推荐。
7.结合成对优化和矩阵分解的产品推荐系统,其特征是,包括:
获取模块,其被配置为获取用户对产品的评分矩阵和用户之间的社交关系矩阵;
聚类模块,其被配置为根据用户对产品的评分矩阵对产品进行聚类,将产品划分为若干簇;
映射模块,其被配置为将用户对产品的评分矩阵和用户之间的社交关系矩阵,映射为带权邻接矩阵;
填充模块,其被配置为定义用户-产品二分图,在用户-产品二分图上运用随机游走算法对带权邻接矩阵进行填充,得到概率矩阵;
推荐模块,其被配置为基于产品被划分的簇,建立基于成对优化pairwise的目标函数;基于目标函数对概率矩阵进行矩阵分解,以目标函数值最小为目标,得到分解后的矩阵和产品推荐列表;
将用户对产品的评分矩阵和用户之间的社交关系矩阵,映射为带权邻接矩阵,具体步骤为:
计算第一比值;第一比值为对每个产品的评分和该用户对所有产品评分和的比值;
计算第二比值;第二比值为当前用户的每个好友对当前用户所评分产品的打分与当前用户的每个好友对当前用户所评分产品的最大打分值比值的平均值;带权邻接矩阵等于第一比值与第二比值加权求和。
8.一种电子设备,其特征是,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成权利要求1-6任一项方法所述的步骤。
9.一种计算机可读存储介质,其特征是,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1-6任一项方法所述的步骤。
CN201910412585.0A 2019-05-17 2019-05-17 结合成对优化和矩阵分解的产品推荐方法及系统 Expired - Fee Related CN110175286B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910412585.0A CN110175286B (zh) 2019-05-17 2019-05-17 结合成对优化和矩阵分解的产品推荐方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910412585.0A CN110175286B (zh) 2019-05-17 2019-05-17 结合成对优化和矩阵分解的产品推荐方法及系统

Publications (2)

Publication Number Publication Date
CN110175286A CN110175286A (zh) 2019-08-27
CN110175286B true CN110175286B (zh) 2021-05-11

Family

ID=67691516

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910412585.0A Expired - Fee Related CN110175286B (zh) 2019-05-17 2019-05-17 结合成对优化和矩阵分解的产品推荐方法及系统

Country Status (1)

Country Link
CN (1) CN110175286B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110992124B (zh) * 2019-10-31 2024-02-27 贝壳技术有限公司 房源的推荐方法及房源的推荐系统
CN112818179B (zh) * 2019-11-18 2022-06-21 中国科学院深圳先进技术研究院 基于Hybrid存储格式的图遍历访存优化方法、系统及电子设备
CN111062757B (zh) * 2019-12-17 2023-09-01 山大地纬软件股份有限公司 基于多路径寻优匹配的信息推荐方法及系统
CN111401626B (zh) * 2020-03-12 2023-04-07 东北石油大学 基于六度分隔理论的社交网络数值优化方法、系统及介质
CN111563791B (zh) * 2020-03-31 2023-12-26 北京奇艺世纪科技有限公司 商品的划分、推荐方法、装置、电子设备和存储介质
CN111967590B (zh) * 2020-10-23 2021-02-02 之江实验室 面向推荐系统矩阵分解方法的异构多xpu机器学习系统
CN113159891B (zh) * 2021-04-24 2022-05-17 桂林电子科技大学 一种基于多种用户表示融合的商品推荐方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104935963A (zh) * 2015-05-29 2015-09-23 中国科学院信息工程研究所 一种基于时序数据挖掘的视频推荐方法
WO2015174959A1 (en) * 2014-05-12 2015-11-19 Hewlett-Packard Development Company, L.P. Generating a model based on input
CN107967320A (zh) * 2017-11-23 2018-04-27 南京邮电大学 一种用户社会地位增强的矩阵分解项目推荐算法
CN108573041A (zh) * 2018-04-08 2018-09-25 南京理工大学 基于加权信任关系的概率矩阵分解推荐方法
CN109615452A (zh) * 2018-10-29 2019-04-12 华中科技大学 一种基于矩阵分解的产品推荐方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106202377B (zh) * 2016-07-08 2019-09-13 北京大学 一种基于随机梯度下降的在线协同排序方法
CN106649657B (zh) * 2016-12-13 2020-11-17 重庆邮电大学 面向社交网络基于张量分解的上下文感知推荐系统及方法
CN109711925A (zh) * 2018-11-23 2019-05-03 西安电子科技大学 具有多个辅助域的跨域推荐数据处理方法、跨域推荐系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015174959A1 (en) * 2014-05-12 2015-11-19 Hewlett-Packard Development Company, L.P. Generating a model based on input
CN104935963A (zh) * 2015-05-29 2015-09-23 中国科学院信息工程研究所 一种基于时序数据挖掘的视频推荐方法
CN107967320A (zh) * 2017-11-23 2018-04-27 南京邮电大学 一种用户社会地位增强的矩阵分解项目推荐算法
CN108573041A (zh) * 2018-04-08 2018-09-25 南京理工大学 基于加权信任关系的概率矩阵分解推荐方法
CN109615452A (zh) * 2018-10-29 2019-04-12 华中科技大学 一种基于矩阵分解的产品推荐方法

Also Published As

Publication number Publication date
CN110175286A (zh) 2019-08-27

Similar Documents

Publication Publication Date Title
CN110175286B (zh) 结合成对优化和矩阵分解的产品推荐方法及系统
WO2023000574A1 (zh) 一种模型训练方法、装置、设备及可读存储介质
WO2020007138A1 (zh) 一种事件识别的方法、模型训练的方法、设备及存储介质
CN104750798B (zh) 一种应用程序的推荐方法和装置
CN109615452B (zh) 一种基于矩阵分解的产品推荐方法
Mai et al. An iterative penalized least squares approach to sparse canonical correlation analysis
Xiao et al. Multi-step adaptive elastic-net: reducing false positives in high-dimensional variable selection
CN111241412B (zh) 一种确定用于信息推荐的图谱的方法、系统、及装置
CN107729290B (zh) 一种利用局部敏感哈希优化的超大规模图的表示学习方法
CN108399268B (zh) 一种基于博弈论的增量式异构图聚类方法
WO2022252458A1 (zh) 一种分类模型训练方法、装置、设备及介质
CN108427756B (zh) 基于同类用户模型的个性化查询词补全推荐方法和装置
Zhao et al. Positive semidefinite rank-based correlation matrix estimation with application to semiparametric graph estimation
Hirose et al. Robust sparse Gaussian graphical modeling
WO2022166115A1 (en) Recommendation system with adaptive thresholds for neighborhood selection
CN108536844B (zh) 一种文本增强的网络表示学习方法
Liu et al. Evolving graph construction for successive recommendation in event-based social networks
Song et al. Separating common (global and local) and distinct variation in multiple mixed types data sets
CN110909172A (zh) 一种基于实体距离的知识表示学习方法
Xuan et al. Learning global dependencies and multi-semantics within heterogeneous graph for predicting disease-related lncRNAs
CN109472282A (zh) 一种基于极少训练样本的深度图像哈希方法
CN114298783A (zh) 基于矩阵分解融合用户社交信息的商品推荐方法及系统
Gao et al. Estimation of symmetry-constrained Gaussian graphical models: application to clustered dense networks
CN109857928A (zh) 基于多元信用评估的用户偏好预测方法
CN116956081A (zh) 面向异构社交网络分布外泛化的社交标签预测方法及系统

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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210511