CN109615452A - 一种基于矩阵分解的产品推荐方法 - Google Patents

一种基于矩阵分解的产品推荐方法 Download PDF

Info

Publication number
CN109615452A
CN109615452A CN201811268374.6A CN201811268374A CN109615452A CN 109615452 A CN109615452 A CN 109615452A CN 201811268374 A CN201811268374 A CN 201811268374A CN 109615452 A CN109615452 A CN 109615452A
Authority
CN
China
Prior art keywords
product
user
matrix
loss function
similarity
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.)
Granted
Application number
CN201811268374.6A
Other languages
English (en)
Other versions
CN109615452B (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201811268374.6A priority Critical patent/CN109615452B/zh
Publication of CN109615452A publication Critical patent/CN109615452A/zh
Application granted granted Critical
Publication of CN109615452B publication Critical patent/CN109615452B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于矩阵分解的产品推荐方法,包括:(1)对历史评分数据进行预处理,得到用户对产品的评分矩阵;(2)对评分矩阵中同一用户对不同产品的喜好程度进行排序,并根据排序结果确定损失函数;(3)对评分矩进行分解,并根据损失函数对分解结果进行调整,从而得到使得损失函数取值最小的第一特征向量和第二特征向量,由此完成矩阵分解并得到向用户推荐产品的推荐列表。本发明所提供的基于矩阵分解的产品推荐方法,在确定损失函数时,将同一用户对不同产品的喜好程度的排序关系考虑在内,能够在损失函数中更为充分地体现用户与被推荐产品之间的复杂关系,从而有效提高产品推荐的准确度。

Description

一种基于矩阵分解的产品推荐方法
技术领域
本发明属于数据挖掘和个性化推荐领域,更具体地,涉及一种基于矩阵分解的产品推荐方法。
背景技术
根据用户对产品的喜好程度向用户推荐产品时,常用的方法包括协同过滤法和矩阵分解法。协同分解法又分为基于用户的协同过滤法和基于产品的协同过滤方法,前者利用不同用户之间的相似度来向用户推荐产品,后者则利用产品之间的相似度来向用户推荐产品,相似度之间的计算方式有多种,例如余弦相似度,Jaccard相似度等。在实际的使用中,基于用户的协同过滤协同方法主要使用在用户数远多于产品数的场景下,基于产品的协同过滤方法主要使用在产品数远多于用户数的场景下。协同过滤法适用于大数据应用场景,其计算量较大,不能做到实时地向用户推荐产品,基于模型的协同过滤算法有效的解决了这一问题,矩阵分解(Matrix Factorization,MF)法是基于模型的协同过滤算法中的一种。
基于矩阵分解的传统推荐模型是将用于表示用户与产品关系的评分矩阵分解成用户矩阵和产品矩阵,用户矩阵用于表示用户与隐藏特征的关系,产品矩阵用于表示产品与隐藏特征的关系,隐藏特征可以理解为影响用户选择产品的因子,可以手动设置个数。分解形式为:R=PQ。它是将用户产品关系矩阵R通过学习训练参数,最终可以得到两个分解矩阵P和Q,损失函数的定义如下所示。
在上述损失函数中,rui为用户产品关系矩阵R中的元素,pu和qi分别为矩阵P和矩阵Q中的向量,λ为正则化系数。
通过定义的损失函数,可以求得模型参数。损失函数是一个凸函数,凸函数必然存在最小值,这是一个凸优化问题,通过梯度下降法不断迭代,可求解出两个矩阵,最后通过两个矩阵相等得到的评分高低可以得到向用户推荐产品的推荐列表。传统的矩阵分解法能够实时的实现个性化推荐,但是,由于用户与被推荐产品的关系是多种多样的,传统的矩阵分解法并没有充分考虑这一因素,导致推荐的准确度不高。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种基于矩阵分解的产品推荐方法,其目的在于,在损失函数中充分考虑用户与被推荐产品之间的关系,以提高基于矩阵分解向用户推荐产品的推荐准确度。
为实现上述目的,本发明提供了一种基于矩阵分解的产品推荐方法,包括如下步骤:
(1)对历史评分数据进行预处理,得到用户对产品的评分矩阵;
(2)对评分矩阵中同一用户对不同产品的喜好程度进行排序,并根据排序结果确定损失函数;
(3)对评分矩阵进行分解,并根据损失函数对分解结果进行调整,从而得到使得损失函数取值最小的的第一特征向量和第二特征向量,由此完成矩阵分解并得到向用户推荐产品的推荐列表;
其中,第一特征向量用于表示用户与隐藏特征的关系,第二特征向量用于表示产品与隐藏特征的关系。
进一步地,步骤(1)包括:
利用历史评分数据生成用户对产品的第一评分矩阵;
若第一评分矩阵的规模大于预设的数据集阈值,则对第一评分矩阵进行降维操作,从而得到第二评分矩阵,并将第二评分矩阵作为评分矩阵;否则,将第一评分矩阵作为评分矩阵;
合理设定数据集阈值并将评分矩阵的规模限定在阈值内,是为了避免因所生成的评分矩阵规模过大,而导致模型训练耗时过长;降维操作也是一个矩阵分解的过程,具体过程包括对特征值大小排序、筛选较大的特征值以及合成,PCA(principal ComponentAnalysis,主成成分提取)算法是一种常用的降维操作算法。
进一步地,步骤(2)包括:
计算每一个有序三元组中,用户对两个产品的评分差值,并对评分差值进行归一化后取其对数;将所有归一化评分差值的对数相加求和,作为迭代项;
根据分解所得两个矩阵的矩阵范数构建第一正则化项;
根据迭代项和第一正则化项确定损失函数;或者,获得任意两个用户之间的用户相似度以及任意两个产品之间的产品相似度,以构建第二正则化项,并根据迭代项、第一正则化项以及第二正则化项确定损失函数;
其中,第一正则化项和第二正则化项均用于防止过拟合,排序规则为:对于评分矩阵中的任意一个用户u',用户u'对于其评分过的所有产品的喜好程度均相同,u'用户对于其未评分过的所有产品的喜好程度均相同,并且用户u'对于其评分过的任意一个产品的喜好程度大于其未评分过的所有产品的喜好程度。
在确定损失函数时,将同一用户对不同产品喜好程度的排序关系也考虑在内,能够有效提高产品推荐的准确度。
更进一步地,根据迭代项和第一正则化项所确定的损失函数,其表达式为:
其中,C1为损失函数,S为有所有有序三元组构成的集合,u为用户编号i和j均为产品编号,P和Q分别表示由评分矩阵分解所得的用户矩阵和产品矩阵,pu表示用户矩阵中与用户u相对应的特征向量,qi和qj分别表示产品矩阵中与产品i和产品j相对应的特征向量,λ为正则化系数,F表示Frobenius范数。
更进一步地,获得任意两个用户之间的用户相似度以及任意两个产品之间的产品相似度的方法包括:
以评分矩阵中的用户和产品为顶点,构建一个有向图;若用户对产品进行过评分,则在有向图中生成一条从该用户指向该产品的有向边;
根据有向图分别获得用户对应的顶点的出度集合和产品对应的顶点的入度集合;
任意两个用户的用户相似度为两个用户对应顶点的出度集合的交集与并集之比;任意两个产品的产品相似度为两个产品对应顶点的入度集合的交集与并集之比。
通过以上方法将用户和产品的关系建立成有向图,就能利用过用户节点的出度集合表示用户的偏好集合,并利用产品节点的入度集合表示偏好产品的用户集合。
更进一步地,用户相似度和产品相似度的计算表达式分别为:
其中,sim1()和sim2()分别表示用户相似度函数和产品相似度函数,u1和u2均为用户编号,i1和i2均为产品编号,Uout(u1)和Uout(u2)分别表示有向图中用户u1和用户u2的出度集合,Iin(i1)和Iin(i2)分别表示有向图中产品i1和产品i2的入度集合。
更进一步地,根据迭代项、第一正则化项以及第二正则化项确定的损失函数的表达式为:
其中,C2为损失函数,S为由所有有序三元组构成的集合,u和u1均为用户编号,i、j和i1均为产品编号,P和Q分别表示由评分矩阵分解所得的用户矩阵和产品矩阵,pu分别表示用户矩阵中与用户u和用户u1相对应的特征向量,qi、qj分别表示产品矩阵中与产品i、产品j和产品i1相对应的特征向量,sim1()和sim2()分别表示用户相似度函数和产品相似度函数,U1表示与用户u的用户相似度大于预设的用户相似度阈值的用户集合,I1表示与产品i的产品相似度大于预设的产品相似阈值的产品集合,λ、β和γ均为正则化系数,F表示Frobenius范数;
分析可知,sim1(u,u1)的值越大,说明用户u与用户u1的用户相似度越高,那么特征向量pu就越接近特征向量若用户u与用户u1的用户相似度较高,那么对应的值会很小,反之,用户u与用户u1的用户相似度较低,那么对应的值会很大;同理,sim2(i,i1)的值越大,产品i和产品i1的产品相似度就越高,那么特征向量qi就越接近特征向量若产品i和产品i1的产品相似度较高,那么对应的值会很小,反之,产品i和产品i1的产品相似度较低,那么对应的值会很大;在上述损失函数的表达式中,将反映用户相似度的和反映产品相似度的作为正则化项加入到损失函数中,能够有效地提高产品推荐的准确度。
进一步地,步骤(3)中,若损失函数存在多个极值,则根据损失函数对分解结果进行调整时所采用的算法为梯度下降法;若损失函数仅存在一个极值,则根据损失函数对分解结果进行调整是所采用的算法为随机梯度下降法;
梯度下降法每次都需要样本的所有数据,计算耗时较长,而随机梯度下降法在进行迭代的时候只需要部分样本,但是在存在多个极值时,随机梯度下降算法可能会出现较大的误差;在不同情况下采用不同的算法最优化损失函数,能够保证计算的精度,同时尽可能地减少计算所需的时间开销。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)本发明所提供的基于矩阵分解的产品推荐方法,在确定损失函数时,将同一用户对不同产品的喜好程度的排序关系考虑在内,能够在损失函数中更为充分地体现用户与被推荐产品之间的复杂关系,从而有效提高产品推荐的准确度。
(2)本发明所提供的基于矩阵分解的产品推荐方法,通过将用户和产品的关系建立成有向图,并利用所建立的有向图计算用户与用户之间以及产品与产品之间的相似度,并将反映用户与用户之间以及产品与产品之间的相似度的正则化项加入到损失函数中,能够有效地提高产品推荐的准确度。
附图说明
图1为本发明实施例提供的基于矩阵分解的产品推荐方法流程图;
图2为本发明实施例提供的有向图模型;(a)为不同用户与同一产品之间的关系模型;(b)为同一用户与不同产品之间的关系模型。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在以下发明实施例中,均以movielens数据集作为历史评分数据,在该数据集中,被推荐的产品为电影。在对评分矩阵进行分解时,隐藏特征往往表示产品某些方面的属性,这些属性会影响用户该产品的喜好程度,并最终影响用户对产品的评分。
在本发明的第一实施例中,本发明所提供的基于矩阵分解的产品推荐方法,如图1所示,包括如下步骤:
(1)对历史评分数据进行预处理,得到用户对产品的评分矩阵;
在一个可选的实施方式中,步骤(1)具体包括:
利用历史评分数据生成用户对产品的第一评分矩阵;
若第一评分矩阵的规模大于预设的数据集阈值,则对第一评分矩阵进行降维操作,从而得到第二评分矩阵,并将第二评分矩阵作为评分矩阵;否则,将第一评分矩阵作为评分矩阵;
合理设定数据集阈值并将评分矩阵的规模限定在阈值内,是为了避免因所生成的评分矩阵规模过大,而导致模型训练耗时过长;降维操作也是一个矩阵分解的过程,具体过程包括对特征值大小排序、筛选较大的特征值以及合成,PCA(principal ComponentAnalysis,主成成分提取)算法是一种常用的降维操作算法;
(2)对评分矩阵中同一用户对不同产品的喜好程度进行排序,并根据排序结果确定损失函数;
在一个可选的实施方式中,步骤(2)具体包括:
对于评分矩阵中的任意一个用户,若根据排序规则,该用户对第一产品的喜好程度大于该用户对第二产品的喜好程度,则由该用户、第一产品和第二产品构成一个有序三元组;
计算每一个有序三元组中,用户对两个产品的评分差值,并对评分差值进行归一化后取其对数;将所有归一化评分差值的对数相加求和,作为迭代项;
根据分解所得两个矩阵的矩阵范数构建第一正则化项,用于防止过拟合;
根据迭代项和第一正则化项确定损失函数;
其中,排序规则为:对于评分矩阵中的任意一个用户u',用户u'对于其评分过的所有产品的喜好程度均相同,u'用户对于其未评分过的所有产品的喜好程度均相同,并且用户u'对于其评分过的任意一个产品的喜好程度大于其未评分过的所有产品的喜好程度;
在确定损失函数时,将同一用户对不同产品喜好程度的排序关系也考虑在内,能够有效提高产品推荐的准确度;
在本实施例中,所确定的损失函数的表达式为:
其中,C1为损失函数,S为由所有有序三元组构成的集合,u为用户编号,i和j均为产品编号,P和Q分别表示由评分矩阵分解所得的用户矩阵和产品矩阵,pu表示用户矩阵中与用户u相对应的特征向量,qi和qj分别表示产品矩阵中与产品i和产品j相对应的特征向量,λ为正则化系数,F表示Frobenius范数;正则化系数λ的取值一般根据经验在(0,0.5)的范围内设定;
在上述损失函数的表达式中,为迭代项,为第一正则化项;
(3)对评分矩阵进行分解,并根据损失函数对分解结果进行调整,从而得到使得损失函数取值最小的第一特征向量和第二特征向量,即上述损失函数中的pu、qi和qj,其中,pu为第一特征向量,用于表示用户与隐藏特征的关系,qi和qj为第二特征向量,用于表示产品与隐藏特征的关系;
在一个可选的实施方式中,若损失函数存在多个极值,则根据损失函数对分解结果进行调整时所采用的算法为梯度下降法;若损失函数仅存在一个极值,则根据损失函数对分解结果进行调整是所采用的算法为随机梯度下降法;
梯度下降法每次都需要样本的所有数据,计算耗时较长,而随机梯度下降法在进行迭代的时候只需要部分样本,但是在存在多个极值时,随机梯度下降算法可能会出现较大的误差;在不同情况下采用不同的算法最优化损失函数,能够保证计算的精度,同时尽可能地减少计算所需的时间开销;
分别获得第一特征向量和第二特征向量后,即可构建由评分矩阵最终分解得到的用户矩阵和产品矩阵,从而完成矩阵的分解,并通过矩阵相乘得到的评分高低得到向用户推荐产品的推荐列表。
在本发明的第二实施例中,本发明所提供的基于矩阵分解的产品推荐方法与本发明第一实施例的方法步骤类似,所不同之处在于,在步骤(2)中,确定损失函数时,获得迭代项和第一正则化项之后,还会获得任意两个用户之间的用户相似度以及任意两个产品之间的产品相似度,以构建第二正则化项,并根据迭代项、第一正则化项以及第二正则化项确定损失函数;第二正则化项用于防止过拟合;
在一个可选的实施方式中,获得任意两个用户之间的用户相似度以及任意两个产品之间的产品相似度的方法具体包括:
以评分矩阵中的用户和产品为顶点,构建一个有向图;若用户对产品进行过评分,则在有向图中生成一条从该用户指向该产品的有向边;所构建的有向图如图2所示,若两个产品对同一个产品进行过评分,则在有向图中存在两条分别由这两个用户指向该产品的有向边,如图2(a)所示;若同一个用户对两个产品都进行过评分,则在有向图中存在由该用户分别指向这两个产品的有向边,如图2(b)所示;
根据所述有向图分别获得用户对应的顶点的出度集合和产品对应的顶点的入度集合;
任意两个用户的用户相似度为所述两个用户对应顶点的出度集合的交集与并集之比;任意两个产品的产品相似度为所述两个产品对应顶点的入度集合的交集与并集之比;
通过以上方法将用户和产品的关系建立成有向图,就能利用过用户节点的出度集合表示用户的偏好集合,并利用产品节点的入度集合表示偏好产品的用户集合;
用户相似度和产品相似度的计算表达式分别为:
其中,sim1()和sim2()分别表示用户相似度函数和产品相似度函数,u1和u2均为用户编号,i1和i2均为产品编号,Uout(u1)和Uout(u2)分别表示有向图中用户u1和用户u2的出度集合,Iin(i1)和Iin(i2)分别表示有向图中产品i1和产品i2的入度集合;
在本实施例中,损失函数的表达式具体为:
其中,C2为损失函数,S为有序三元组集合,u和u1均为用户编号,i、j和i1均为产品编号,P和Q分别表示由评分矩阵分解所得的用户矩阵和产品矩阵,pu和pu1分别表示用户矩阵中与用户u和用户u1相对应的特征向量,qi、qj和qi1分别表示产品矩阵中与产品i、产品j和产品i1相对应的特征向量,U1表示与用户u的用户相似度大于预设的用户相似度阈值的用户集合,I1表示与产品i的产品相似度大于预设的产品相似阈值的产品集合,λ、β和γ均为正则化系数,F表示Frobenius范数;
在上述损失函数表达式中,在上述损失函数的表达式中,为迭代项,为第一正则化项,为第二正则化项;
分析可知,sim1(u,u1)的值越大,说明用户u与用户u1的用户相似度越高,那么特征向量pu就越接近特征向量若用户u与用户u1的用户相似度较高,那么对应的值会很小,反之,用户u与用户u1的用户相似度较低,那么对应的值会很大;同理,sim2(i,i1)的值越大,产品i和产品i1的产品相似度就越高,那么特征向量qi就越接近特征向量若产品i和产品i1的产品相似度较高,那么对应的值会很小,反之,产品i和产品i1的产品相似度较低,那么对应的值会很大;在上述损失函数的表达式中,将反映用户相似度的和反映产品相似度的作为正则化项加入到损失函数中,能够有效地提高产品推荐的准确度。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于矩阵分解的产品推荐方法,其特征在于,包括如下步骤:
(1)对历史评分数据进行预处理,得到用户对产品的评分矩阵;
(2)对所述评分矩阵中同一用户对不同产品的喜好程度进行排序,并根据排序结果确定损失函数;
(3)对所述评分矩进行分解,并根据所述损失函数对分解结果进行调整,从而得到使得所述损失函数取值最小的第一特征向量和第二特征向量,由此完成矩阵分解并得到向用户推荐产品的推荐列表;
其中,所述第一特征向量用于表示用户与隐藏特征的关系,所述第二特征向量用于表示产品与隐藏特征的关系。
2.如权利要求1所述的基于矩阵分解的产品推荐方法,其特征在于,所述步骤(1)包括:
利用所述历史评分数据生成用户对产品的第一评分矩阵;
若所述第一评分矩阵的规模大于预设的数据集阈值,则对所述第一评分矩阵进行降维操作,从而得到第二评分矩阵,并将所述第二评分矩阵作为所述评分矩阵;否则,将所述第一评分矩阵作为所述评分矩阵。
3.如权利要求1或2所述的基于矩阵分解的产品推荐方法,其特征在于,所述步骤(2)包括:
对于所述评分矩阵中的任意一个用户,若根据排序规则,该用户对第一产品的喜好程度大于该用户对第二产品的喜好程度,则由该用户、所述第一产品和所述第二产品构成一个有序三元组;
计算每一个有序三元组中,用户对两个产品的评分差值,并对所述评分差值进行归一化后取其对数;将所有归一化评分差值的对数相加求和,作为迭代项;
根据分解所得两个矩阵的矩阵范数构建第一正则化项;
根据所述迭代项和所述第一正则化项确定所述损失函数;或者,获得任意两个用户之间的用户相似度以及任意两个产品之间的产品相似度,以构建第二正则化项,并根据所述迭代项、所述第一正则化项以及所述第二正则化项确定所述损失函数;
其中,所述第一正则化项和所述第二正则化项均用于防止过拟合,所述排序规则为:对于所述评分矩阵中的任意一个用户u',所述用户u'对于其评分过的所有产品喜好程度均相同,所述u'用户对于其未评分过的所有产品喜好程度均相同,并且所述用户u'对于其评分过的任意一个产品的喜好程度大于其未评分过的所有产品的喜好程度。
4.如权利要求3所述的基于矩阵分解的产品推荐方法,其特征在于,根据所述迭代项和所述第一正则化项所确定的损失函数,其表达式为:
其中,C1为损失函数,S为由所有有序三元组构成的集合,u为用户编号,i和j均为产品编号,P和Q分别表示由所述评分矩阵分解所得的用户矩阵和产品矩阵,pu表示所述用户矩阵中与用户u相对应的特征向量,qi和qj分别表示所述产品矩阵中与产品i和产品j相对应的特征向量,λ为正则化系数,F表示Frobenius范数。
5.如权利要求3所述的基于矩阵分解的产品推荐方法,其特征在于,获得任意两个用户之间的用户相似度以及任意两个产品之间的产品相似度的方法包括:
以所述评分矩阵中的用户和产品为顶点,构建一个有向图;若用户对产品进行过评分,则在所述有向图中生成一条从该用户指向该产品的有向边;
根据所述有向图分别获得用户对应的顶点的出度集合和产品对应的顶点的入度集合;
任意两个用户的用户相似度为所述两个用户对应顶点的出度集合的交集与并集之比;任意两个产品的产品相似度为所述两个产品对应顶点的入度集合的交集与并集之比。
6.如权利要求5所述的基于矩阵分解的产品推荐方法,其特征在于,所述用户相似度和所述产品相似度的计算表达式分别为:
其中,sim1()和sim2()分别表示用户相似度函数和产品相似度函数,u1和u2均为用户编号,i1和i2均为产品编号,Uout(u1)和Uout(u2)分别表示所述有向图中用户u1和用户u2的出度集合,Iin(i1)和Iin(i2)分别表示所述有向图中产品i1和产品i2的入度集合。
7.如权利要求5所述的基于矩阵分解的产品推荐方法,其特征在于,根据所述迭代项、所述第一正则化项以及所述第二正则化项确定的损失函数的表达式为:
其中,C2为损失函数,S为由所有有序三元组构成的集合,u和u1均为用户编号,i、j和i1均为产品编号,P和Q分别表示由所述评分矩阵分解所得的用户矩阵和产品矩阵,pu和pu1分别表示所述用户矩阵中与用户u和用户u1相对应的特征向量,qi、qj分别表示所述产品矩阵中与产品i、产品j和产品i1相对应的特征向量,sim1()和sim2()分别表示用户相似度函数和产品相似度函数,U1表示与用户u的用户相似度大于预设的用户相似度阈值的用户集合,I1表示与产品i的产品相似度大于预设的产品相似阈值的产品集合,λ、β和γ均为正则化系数,F表示Frobenius范数。
8.如权利要求1或2所述的基于矩阵分解的产品推荐方法,其特征在于,所述步骤(3)中,若所述损失函数存在多个极值,则根据所述损失函数对分解结果进行调整时所采用的算法为梯度下降法;若所述损失函数仅存在一个极值,则根据所述损失函数对分解结果进行调整是所采用的算法为随机梯度下降法。
CN201811268374.6A 2018-10-29 2018-10-29 一种基于矩阵分解的产品推荐方法 Expired - Fee Related CN109615452B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811268374.6A CN109615452B (zh) 2018-10-29 2018-10-29 一种基于矩阵分解的产品推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811268374.6A CN109615452B (zh) 2018-10-29 2018-10-29 一种基于矩阵分解的产品推荐方法

Publications (2)

Publication Number Publication Date
CN109615452A true CN109615452A (zh) 2019-04-12
CN109615452B CN109615452B (zh) 2020-07-10

Family

ID=66002510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811268374.6A Expired - Fee Related CN109615452B (zh) 2018-10-29 2018-10-29 一种基于矩阵分解的产品推荐方法

Country Status (1)

Country Link
CN (1) CN109615452B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175286A (zh) * 2019-05-17 2019-08-27 山东师范大学 结合成对优化和矩阵分解的产品推荐方法及系统
CN110309425A (zh) * 2019-07-05 2019-10-08 北京字节跳动网络技术有限公司 用于存储数据的方法和装置
CN110321862A (zh) * 2019-07-09 2019-10-11 天津师范大学 一种基于紧致三元损失的行人再识别方法
CN110390561A (zh) * 2019-07-04 2019-10-29 四川金赞科技有限公司 基于动量加速随机梯度下降的用户-金融产品选用倾向高速预测方法和装置
CN110543597A (zh) * 2019-08-30 2019-12-06 北京奇艺世纪科技有限公司 一种评分确定方法、装置及电子设备
CN110609960A (zh) * 2019-09-25 2019-12-24 华中师范大学 学习资源推荐方法、装置、数据处理设备及存储介质
CN111259238A (zh) * 2020-01-13 2020-06-09 山西大学 一种基于矩阵分解的事后可解释性推荐方法及装置
CN111415222A (zh) * 2020-03-19 2020-07-14 苏州大学 一种物品推荐方法、装置、设备及计算机可读存储介质
CN112036963A (zh) * 2020-09-24 2020-12-04 深圳市万佳安物联科技股份有限公司 一种基于多层随机隐特征模型的网页广告投放装置和方法
CN113822776A (zh) * 2021-09-29 2021-12-21 中国平安财产保险股份有限公司 课程推荐方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412718B1 (en) * 2010-09-20 2013-04-02 Amazon Technologies, Inc. System and method for determining originality of data content
CN104766219A (zh) * 2015-03-19 2015-07-08 中国船舶重工集团公司第七0九研究所 基于以列表为单位的用户推荐列表生成方法及系统
CN106022865A (zh) * 2016-05-10 2016-10-12 江苏大学 一种基于评分和用户行为的商品推荐方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412718B1 (en) * 2010-09-20 2013-04-02 Amazon Technologies, Inc. System and method for determining originality of data content
CN104766219A (zh) * 2015-03-19 2015-07-08 中国船舶重工集团公司第七0九研究所 基于以列表为单位的用户推荐列表生成方法及系统
CN106022865A (zh) * 2016-05-10 2016-10-12 江苏大学 一种基于评分和用户行为的商品推荐方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘团: "一种改进的协同过滤推荐算法", 《福建电脑》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175286B (zh) * 2019-05-17 2021-05-11 山东师范大学 结合成对优化和矩阵分解的产品推荐方法及系统
CN110175286A (zh) * 2019-05-17 2019-08-27 山东师范大学 结合成对优化和矩阵分解的产品推荐方法及系统
CN110390561A (zh) * 2019-07-04 2019-10-29 四川金赞科技有限公司 基于动量加速随机梯度下降的用户-金融产品选用倾向高速预测方法和装置
CN110390561B (zh) * 2019-07-04 2022-04-29 壹融站信息技术(深圳)有限公司 基于动量加速随机梯度下降的用户-金融产品选用倾向高速预测方法和装置
CN110309425A (zh) * 2019-07-05 2019-10-08 北京字节跳动网络技术有限公司 用于存储数据的方法和装置
CN110309425B (zh) * 2019-07-05 2021-08-24 北京字节跳动网络技术有限公司 用于存储数据的方法和装置
CN110321862A (zh) * 2019-07-09 2019-10-11 天津师范大学 一种基于紧致三元损失的行人再识别方法
CN110543597A (zh) * 2019-08-30 2019-12-06 北京奇艺世纪科技有限公司 一种评分确定方法、装置及电子设备
CN110543597B (zh) * 2019-08-30 2022-06-03 北京奇艺世纪科技有限公司 一种评分确定方法、装置及电子设备
CN110609960B (zh) * 2019-09-25 2022-02-22 华中师范大学 学习资源推荐方法、装置、数据处理设备及存储介质
CN110609960A (zh) * 2019-09-25 2019-12-24 华中师范大学 学习资源推荐方法、装置、数据处理设备及存储介质
CN111259238A (zh) * 2020-01-13 2020-06-09 山西大学 一种基于矩阵分解的事后可解释性推荐方法及装置
CN111259238B (zh) * 2020-01-13 2023-04-14 山西大学 一种基于矩阵分解的事后可解释性推荐方法及装置
CN111415222A (zh) * 2020-03-19 2020-07-14 苏州大学 一种物品推荐方法、装置、设备及计算机可读存储介质
CN111415222B (zh) * 2020-03-19 2023-05-02 苏州大学 一种物品推荐方法、装置、设备及计算机可读存储介质
CN112036963A (zh) * 2020-09-24 2020-12-04 深圳市万佳安物联科技股份有限公司 一种基于多层随机隐特征模型的网页广告投放装置和方法
CN112036963B (zh) * 2020-09-24 2023-12-08 深圳市万佳安物联科技股份有限公司 一种基于多层随机隐特征模型的网页广告投放装置和方法
CN113822776A (zh) * 2021-09-29 2021-12-21 中国平安财产保险股份有限公司 课程推荐方法、装置、设备及存储介质
CN113822776B (zh) * 2021-09-29 2023-11-03 中国平安财产保险股份有限公司 课程推荐方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN109615452B (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
CN109615452A (zh) 一种基于矩阵分解的产品推荐方法
JP7065122B2 (ja) 推奨情報の取得方法及び装置、電子機器
CN107563841B (zh) 一种基于用户评分分解的推荐系统
US10242396B2 (en) Automatic color palette based recommendations for affiliated colors
US10186054B2 (en) Automatic image-based recommendations using a color palette
Wickramarachchi et al. HHCART: an oblique decision tree
US9679532B2 (en) Automatic image-based recommendations using a color palette
US20140089781A1 (en) Color-based designs
CN103353872B (zh) 一种基于神经网络的教学资源个性化推荐方法
Kang Aesthetic product design combining with rough set theory and fuzzy quality function deployment
US20150379006A1 (en) Automatic image-based recommendations using a color palette
US20150379001A1 (en) Automatic color validation of image metadata
Phan et al. Color orchestra: Ordering color palettes for interpolation and prediction
US20150379733A1 (en) Automatic image-based recommendations using a color palette
CN109741120B (zh) 用于用户需求的产品深度个性化定制方法
CN109190030A (zh) 融合node2vec和深度神经网络的隐式反馈推荐方法
CN108334592A (zh) 一种基于内容与协同过滤相结合的个性化推荐方法
Shen et al. Affective product form design using fuzzy Kansei engineering and creativity
CN107329994A (zh) 一种基于用户特征的改进协同过滤推荐方法
CN104915440B (zh) 一种商品排重方法和系统
CN110119479A (zh) 一种餐馆推荐方法、装置、设备及可读存储介质
CN112948696B (zh) 具有隐私保护功能的跨域医疗保健设备推荐方法及系统
CN110019646B (zh) 一种建立索引的方法和装置
CN109615466A (zh) 面向移动订餐系统的内容推荐和协同过滤推荐的混合方法
US20150039994A1 (en) Color-based designs

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

Granted publication date: 20200710

Termination date: 20201029