CN111552852B - 基于半离散矩阵分解的物品推荐方法 - Google Patents

基于半离散矩阵分解的物品推荐方法 Download PDF

Info

Publication number
CN111552852B
CN111552852B CN202010344347.3A CN202010344347A CN111552852B CN 111552852 B CN111552852 B CN 111552852B CN 202010344347 A CN202010344347 A CN 202010344347A CN 111552852 B CN111552852 B CN 111552852B
Authority
CN
China
Prior art keywords
matrix
user
item
article
scoring
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
CN202010344347.3A
Other languages
English (en)
Other versions
CN111552852A (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.)
Beijing Jiaotong University
Original Assignee
Beijing Jiaotong 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 Beijing Jiaotong University filed Critical Beijing Jiaotong University
Priority to CN202010344347.3A priority Critical patent/CN111552852B/zh
Publication of CN111552852A publication Critical patent/CN111552852A/zh
Application granted granted Critical
Publication of CN111552852B publication Critical patent/CN111552852B/zh
Active 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/906Clustering; Classification
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种基于半离散矩阵分解的物品推荐方法。该方法包括:构建用户‑物品评分矩阵R,根据用户‑物品评分矩阵R训练矩阵分解模型,获得用户的实值特征矩阵P和物品的实值特征矩阵Q;根据P对用户独立执行聚类分析,获得用户的锚点特征矩阵E,根据Q对物品独立执行聚类分析,获得物品的锚点特征矩阵F;根据R、P、Q、E、F训练半离散矩阵分解模型,获得用户的二值编码矩阵B和物品的二值编码矩阵D;根据B和D还原评分矩阵
Figure DDA0002469600520000011
根据R将
Figure DDA0002469600520000012
中已观测评分位置的预估值置0,根据
Figure DDA0002469600520000013
将预测分值最高的前设定数量个物品推荐给相应用户。本发明方法综合运用“点级”平滑和“组级”平滑技巧,有效弥补了离散矩阵分解模型编码损失较大的缺点,并大幅度提升了推荐精度。

Description

基于半离散矩阵分解的物品推荐方法
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种基于半离散矩阵分解的物品推荐方法。
背景技术
大数据时代,多元化网络平台与各类移动应用泛在互连,网络信息服务日益表现出“以用户为中心”的特点。如何有效挖掘用户的网络足迹,并为其提供精准的个性化服务已成为当下学术界和工业界共同关注的热点话题。在此背景下,推荐系统应运而生,在对抗信息过载并提供个性化信息服务方面扮演着重要角色。
协同过滤是构建个性化推荐系统的核心技术之一。现有协同过滤技术中的一种主流方法为MF(Matrix Factorization,矩阵分解)模型,通过分解“用户-物品”交互矩阵,构建用户和物品共享的实值特征空间;基于该特征空间,所有用户和物品被表示为低维实值向量。继而通过计算用户特征向量和物品特征向量内积的方式估计二者之间的相关性,并将相关性较高的物品推荐给相应用户。
上述MF模型的缺点为:随着在线用户和物品数量迅猛增长,MF模型的在线预测效率严重受限于在线用户和物品的数量,难以适用于大规模实时推荐任务。
MF模型的轻量化版本称为DMF(discrete matrix factorization,离散矩阵分解)模型,通过分解“用户-物品”交互矩阵,构建用户和物品共享的海明特征空间;基于该特征空间,该模型将向量空间下的用户、物品实值特征替换为海明空间内的二值编码,进而推荐任务可借助逻辑运算高效执行。
上述DMF模型的缺点为:由于二值编码较之实值特征携带信息量较小,使其推荐准确性严重受损。换言之,DMF模型以牺牲推荐精度为代价换取预测效率,使得DMF模型的推荐精度严重衰减。
发明内容
本发明的实施例提供了一种基于半离散矩阵分解的物品推荐方法,以克服现有技术的问题。
为了实现上述目的,本发明采取了如下技术方案。
一种基于半离散矩阵分解的物品推荐方法,包括:
构建用户-物品评分矩阵R,用于记录用户对物品的评分行为;
根据用户-物品评分矩阵R训练矩阵分解模型,获得用户的实值特征矩阵P和物品的实值特征矩阵Q;
根据用户的实值特征矩阵P对用户执行聚类分析,获得用户的锚点特征矩阵E,根据物品的实值特征矩阵Q对物品执行聚类分析,获得物品的锚点特征矩阵F;
根据R、P、Q、E、F训练半离散矩阵分解模型,获得用户的二值编码矩阵B和物品的二值编码矩阵D;
根据用户的二值编码矩阵B和物品的二值编码矩阵D还原评分矩阵
Figure BDA0002469600500000021
根据R将
Figure BDA0002469600500000022
中已观测评分位置的预估值置0,根据评分矩阵
Figure BDA0002469600500000023
将预测分值最高的前设定数量个物品推荐给相应用户。
优选地,所述的构建“用户-物品”评分矩阵R,用于记录用户对物品的评分行为,包括:
构建“用户-物品”评分矩阵,用于记录用户对物品的评分行为,其中m、n分别表示用户、物品的数量,并对“用户-物品”评分矩阵R中的评分数据进行归一化处理,所述物品包括产品或者服务。
优选地,所述的根据“用户-物品”评分矩阵R训练矩阵分解模型,获得用户的实值特征矩阵P和物品的实值特征矩阵Q,包括:
根据“用户-物品”评分矩阵R训练矩阵分解模型,获得用户的实值特征矩阵
Figure BDA0002469600500000031
和物品的实值特征矩阵
Figure BDA0002469600500000032
P的第u列
Figure BDA0002469600500000033
表示用户u的特征向量,Q的第列
Figure BDA0002469600500000034
表示物品i的特征向量,其中f为特征空间维数。
优选地,所述的根据用户的实值特征矩阵P对用户执行聚类分析,获得用户的锚点特征矩阵E,根据物品的实值特征矩阵Q对物品执行聚类分析,获得物品的锚点特征矩阵F,包括:
根据用户的实值特征矩阵P对用户执行聚类分析,获得用户的锚点特征矩阵
Figure BDA0002469600500000035
根据物品的实值特征矩阵Q对物品执行聚类分析,获得物品的锚点特征矩阵
Figure BDA0002469600500000036
E的第u列
Figure BDA0002469600500000037
表示用户u所在群组的簇中心,F的第列
Figure BDA0002469600500000038
表示物品i所在群组的簇中心,所述簇中心为锚点特征。
优选地,所述的根据R、P、Q、E、F训练半离散矩阵分解模型,获得用户的二值编码矩阵B和物品的二值编码矩阵D,包括:
所述半离散矩阵分解模型的目标函数定义如下:
Figure BDA0002469600500000039
其中
Figure BDA00024696005000000310
表示损失项,
Figure BDA00024696005000000311
Figure BDA00024696005000000312
分别为“点级”和“组级”平滑项,
Figure BDA00024696005000000313
用于异构空间下的特征表示对齐,
Figure BDA00024696005000000314
用于保持原向量空间中“用户-用户”、“物品-物品”之间几何结构;
损失项
Figure BDA00024696005000000315
定义如下:
Figure BDA0002469600500000041
s.t.B∈{±1}f×m,D∈{±1}f×n
其中Ω是由已观测评分对应的(u,i)索引组成的集合;
“点级”平滑项定义为:
Figure BDA0002469600500000042
用于控制同一个用户、物品的二值编码与其对应的实值特征之间的差异,据此实现异构空间下的表示对齐;
“组级”平滑项定义为:
Figure BDA0002469600500000043
用于控制用户、物品的二值编码与其对应的锚点特征之间的差异,据此保持原向量空间中数据点间的拓扑结构,即原空间中处于同一群组的用户或物品应该具有相似的二值编码;
正则项定义为:
Figure BDA0002469600500000044
用于控制编码平衡,以期最大化编码的信息熵;
合并整理各项后,半离散矩阵分解模型的最终目标函数表示如下:
Figure BDA0002469600500000045
其中,α1,α2,β1,β2,γ>0为超参数,1m,1n表示m,n维全1向量。
所述半离散矩阵分解模型的训练过程包括如下步骤:
S4-1:模型初始化;将用户特征矩阵B和物品特征矩阵D进行二值量化,作为半离散矩阵分解模型的目标变量的初始值:B=sgn(P)和D=sgn(Q);
S4-2:进入迭代训练过程,固定D,更新B;当固定D时,离散矩阵分解模型的目标函数等价于如下优化问题:
Figure BDA0002469600500000051
其中Ωu表示已观测评分对应的(u,i)索引对中u所构成的集合;
采用离散坐标下降算法对bu进行逐位更新;设
Figure BDA0002469600500000052
其中buk表示bu的第k位,
Figure BDA0002469600500000053
表示除buk以外其余二值编码所组成的向量;类似的,
Figure BDA0002469600500000054
具体buk的更新规则如下:
Figure BDA0002469600500000055
Figure BDA0002469600500000056
当α≠0时,K(a,b)=a,否则K(a,b)=b;如果
Figure BDA0002469600500000057
不对buk进行更新;
S4-3:固定B,更新D;当固定B时,半离散矩阵分解模型的目标函数等价于如下优化问题:
Figure BDA0002469600500000058
其中Ωi表示已观测评分对应的(u,i)索引对中i所构成的集合;采用离散坐标下降算法对di进行逐位更新;设
Figure BDA0002469600500000059
具体dik的更新规则如下:
Figure BDA00024696005000000510
Figure BDA00024696005000000511
同样,如果
Figure BDA00024696005000000512
更新dik,否则,不对dik进行更新;
S4-4:重复S4-2到S4-3,直到满足迭代停止条件,模型收敛,输出所述半离散矩阵分解模型的参数B和D。
优选地,所述的迭代停止条件包括:目标函数值小于某个预设定阈值,或B和D的每一位都不再发生变化。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例的基于半离散矩阵分解模型SDMF的个性化服务推荐方法通过综合运用“点级”平滑和“组级”平滑技巧,有效弥补了DMF模型的推荐准确性和推荐精度不高的缺点;其预测效率与DMF模型相当,推荐精度大幅度提升。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于半离散矩阵分解模型的个性化服务推荐方法的工作流程图;
图2为本发明实施例提供的一种半离散矩阵分解模型的训练工作流程图;
图3为本发明方法SDMF与离散矩阵分解模型DMF在MovieLens100K数据集上推荐精度和预测效率的实验结果对比
图4为本发明方法SDMF与离散矩阵分解模型DMF在“豆瓣”数据集上推荐精度和预测效率的实验结果对比。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
本发明实施例针对离散矩阵分解模型具有较大编码损失,造成推荐精度偏低的技术问题,提出了一种基于SDMF(semi-discrete matrix factorization,半离散矩阵分解)模型的个性化服务推荐方法,旨在弥补DMF模型在预测精度方面的不足。其基本思想是,首先利用MF模型学习用户、物品的实值特征向量,据此构造“点级”正则项和“组级”正则项,然后将其植入DMF模型框架,用以辅助用户、物品的二值编码学习;其中,“点级”正则项用于异构特征空间之间的表示对齐,从而提升了二值编码的判别能力;“组级”正则项用于保持原特征空间下数据点之间的几何结构。
本发明实施例提供了一种基于半离散矩阵分解的物品推荐方法的处理流程如图1所示,包括如下的处理步骤:
步骤S1、构建“用户-物品”评分矩阵R∈[0,1]m×n,用于记录用户对物品的评分行为,其中m、n分别表示用户、物品的数量。并对“用户-物品”评分矩阵R中的评分数据进行归一化处理。上述物品可以为产品或者服务等。
步骤S2、根据“用户-物品”评分矩阵R训练矩阵分解模型,涉及矩阵分解模型的目标函数和求解算法,获得用户的实值特征矩阵
Figure BDA0002469600500000081
和物品的实值特征矩阵
Figure BDA0002469600500000082
P的第u列
Figure BDA0002469600500000083
表示用户u的特征向量,Q的第列
Figure BDA0002469600500000084
表示物品i的特征向量,其中f为特征空间维数。步骤S3、根据用户的实值特征矩阵P对用户独立执行聚类分析,获得用户的锚点特征矩阵
Figure BDA0002469600500000085
根据物品的实值特征矩阵Q对物品独立执行聚类分析,获得物品的锚点特征矩阵
Figure BDA0002469600500000086
E的第u列
Figure BDA0002469600500000087
表示用户u所在群组的簇中心,F的第i列
Figure BDA0002469600500000088
表示物品所在群组的簇中心,上述簇中心即为锚点特征。
步骤S4、根据R、P、Q、E、F训练半离散矩阵分解模型,获得用户和物品的二值编码矩阵
Figure BDA0002469600500000089
Figure BDA00024696005000000810
B的第u列
Figure BDA00024696005000000811
D的第列
Figure BDA00024696005000000812
分别表示用户u、物品i的二值编码,其中f为码长。
步骤S5、根据用户的二值编码矩阵B和物品的二值编码矩阵D还原评分矩阵
Figure BDA00024696005000000813
根据R将
Figure BDA00024696005000000814
中已观测评分位置的预估值置0,以保证仅对用户未评分过的物品进行预测。针对某个用户,对
Figure BDA00024696005000000815
按照该某个用户对物品的预测分值逐行降序排列,并将预测分值最高的前k个物品推荐给该某个用户用户。
上述步骤S2中的矩阵分解模型的目标函数定义如下:
Figure BDA00024696005000000816
其中Ω是由已观测评分对应的(u,i)索引组成的集合;(u,i)为已观测评分的用户-物品对;λ>0为超参数。
步骤S2的矩阵分解模型训练方法中,首先对模型参数P,Q随机初始化,然后利用随机梯度下降算法(Stochastic Gradient Descent,SGD)对pu,qi进行更新,具体pu,qi的更新规则如下:
Figure BDA0002469600500000091
Figure BDA0002469600500000092
其中Ωu表示已观测评分对应的(u,i)索引对中u所构成的集合,Ωi表示已观测评分对应的(u,i)索引对中i所构成的集合,η>0为学习率。直到模型收敛,即直到满足迭代停止条件,例如目标函数值小于某个预设定阈值,最后输出所述矩阵分解模型的参数P和Q。
上述步骤S4中的半离散矩阵分解模型的目标函数定义如下:
Figure BDA0002469600500000093
其中
Figure BDA0002469600500000094
表示损失项,
Figure BDA0002469600500000095
Figure BDA0002469600500000096
分别为“点级”和“组级”平滑项,前者用于异构空间下的特征表示对齐,后者用于保持原向量空间中“用户-用户”、“物品-物品”之间几何结构;
损失项
Figure BDA0002469600500000097
定义如下:
Figure BDA0002469600500000098
其中Ω是由已观测评分对应的(u,i)索引组成的集合;(u,i)为已观测评分的用户-物品对;rui为用户u对物品i的评分;f为编码长度;
Figure BDA0002469600500000099
Figure BDA00024696005000000910
分别为用户和物品的二值编码矩阵,bu为B的第u列,di为D的第i列。
“点级”平滑项定义为:
Figure BDA0002469600500000101
其中pu为用户实值特征矩阵的第u列,qi为物品实值特征矩阵的第i列,用于控制同一个用户、物品的二值编码与其对应的实值特征之间的差异,据此实现异构空间下的表示对齐;
“组级”平滑项定义为:
Figure BDA0002469600500000102
其中eu为用户锚点特征矩阵的第u列,fi为物品锚点特征矩阵的第i列,用于控制用户、物品的二值编码与其对应的锚点特征之间的差异,据此保持原向量空间中数据点间的拓扑结构,即原空间中处于同一群组的用户或物品应该具有相似的二值编码;
正则项定义为:
Figure BDA0002469600500000103
用于控制编码平衡,以期最大化编码的信息熵;
合并整理各项后,半离散矩阵分解模型的最终目标函数表示如下:
Figure BDA0002469600500000104
其中,α1,α2,β1,β2,γ>0为超参数,1m,1n表示m,n维全1向量。
步骤S4的半离散矩阵分解模型的训练方法中,首先对模型参数B,D初始化,然后进入迭代训练过程:固定D,并行优化每个bu,利用离散坐标下降算法对每个bu逐位更新,得到更新后的B;再固定B,并行优化每个di,利用离散坐标下降算法对每个di逐位更新,得到更新后的D;重复上述步骤,不断交替更新参数B,D,直到模型收敛,输出模型参数。具体包括如下步骤:
S4-1:模型初始化;将矩阵分解模型得到的实值化的用户特征矩阵和物品特征矩阵D进行二值量化,作为半离散矩阵分解模型的目标变量的初始值:B=sgn(P)和D=sgn(Q),其中y=sgn(x)为二值化函数,当x≥0时,y=+1,当x<0时,y=-1;
S4-2:进入迭代训练过程,固定D,并行优化每个bu,更新B;当固定D时,离散矩阵分解模型的目标函数等价于如下优化问题:
Figure BDA0002469600500000111
其中Ωu表示已观测评分对应的(u,i)索引对中u所构成的集合;
本发明采用离散坐标下降算法对bu进行逐位更新;设
Figure BDA0002469600500000112
其中buk表示bu的第k位,
Figure BDA0002469600500000113
表示除buk以外其余二值编码所组成的向量;类似的,
Figure BDA0002469600500000114
具体buk的更新规则如下:
Figure BDA0002469600500000115
Figure BDA0002469600500000116
当α≠0时,K(a,b)=a,否则K(a,b)=b;如果
Figure BDA00024696005000001112
不对buk进行更新;
S4-3:固定B,更新D;当固定B时,半离散矩阵分解模型的目标函数等价于如下优化问题:
Figure BDA0002469600500000117
其中Ωi表示已观测评分对应的(u,i)索引对中i所构成的集合;采用离散坐标下降算法对di进行逐位更新;设
Figure BDA0002469600500000118
具体dik的更新规则如下:
Figure BDA0002469600500000119
Figure BDA00024696005000001110
同样,如果
Figure BDA00024696005000001111
更新dik,否则,不对dik进行更新;
S4-4:重复S4-2到S4-3,直到模型收敛,即直到满足迭代停止条件,例如目标函数值小于某个预设定阈值,或B和D的每一位都不再发生变化,最后输出所述半离散矩阵分解模型的参数B和D。
本发明实施例在MovieLens100K、和Douban数据集上进行了实验,并将本发明所述方法(Semi-Discrete Matrix Factorization,简称SDMF)与离散矩阵分解模型(DiscreteMatrix Factorization,简称DMF)在推荐精度和预测效率两方面进行对比实验分析;DMF发表于信息检索领域顶级会议SIGIR2016,是当下最具代表性的离散协同过滤方法。
MovieLens100K数据集源自MovieLens电影评价网站,其UI矩阵的行代表观影人,列代表电影,评分范围:1.0-5.0分;该数据集包括943个用户、1,682个物品、100,000条评分记录,“用户-物品”交互数据的稠密度为6.3%。Douban数据集来源于豆瓣电影评价网站,其UI矩阵的行代表观影人,列代表电影,评分范围:1.0-5.0分;该数据集包括2,964个用户、39,695个物品、894,888条评分记录,“用户-物品”交互数据的稠密度为0.76%。
图3为本发明方法与离散矩阵分解模型在MovieLens100K数据集上推荐精度和预测效率的实验结果对比结果;图4为本发明方法与离散矩阵分解模型在“豆瓣”数据集上推荐精度和预测效率的实验结果对比结果,评价指标分别为归一化折损累计增益(Normalized Discount Cumulative Gain,NDCG)和预测时间消耗(单位:秒);实验结果表明:本发明方法SDMF与经典DMF方法的预测时间消耗相差无几,推荐性能具有较大程度改进(NDCG越高越好)。
在本发明实施例中,“点级”、“组级”平滑项中所使用的实值特征和锚点特征的获取只使用了“用户-物品”交互数据,熟悉本领域技术的人员显然可以容易地针对上述实施例做出各种修改;例如,结合其他边信息进一步修改实值特征和锚点特征;又如,将MF模型替换为神经网络模型获取实值特征,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。故凡依本发明申请专利范围所做出的改进和修改,均应包括于本发明专利的申请范围内。
综上所述,本发明实施例的基于半离散矩阵分解模型SDMF的个性化服务推荐方法通过综合运用“点级”平滑和“组级”平滑技巧,有效弥补了DMF模型的推荐准确性和推荐精度不高的缺点;其预测效率与DMF模型相当,推荐精度大幅度提升。
本发明实施例的SDMF模型是一种通用框架,容易扩展为可融合各类边信息的混合推荐系统,例如借助文本信息、社交网络等资源进一步完善“点级”平滑项和“组级”平滑项的设计。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (2)

1.一种基于半离散矩阵分解的物品推荐方法,其特征在于,包括:
构建用户-物品评分矩阵R,用于记录用户对物品的评分行为;
根据用户-物品评分矩阵R训练矩阵分解模型,获得用户的实值特征矩阵P和物品的实值特征矩阵Q;
根据用户的实值特征矩阵P对用户执行聚类分析,获得用户的锚点特征矩阵E,根据物品的实值特征矩阵Q对物品执行聚类分析,获得物品的锚点特征矩阵F;
根据R、P、Q、E、F训练半离散矩阵分解模型,获得用户的二值编码矩阵B和物品的二值编码矩阵D;
根据用户的二值编码矩阵B和物品的二值编码矩阵D还原评分矩阵
Figure FDA0003219794230000011
根据R将
Figure FDA0003219794230000012
中已观测评分位置的预估值置0,根据评分矩阵
Figure FDA0003219794230000013
将预测分值最高的前设定数量个物品推荐给相应用户;
所述的构建“用户-物品”评分矩阵R,用于记录用户对物品的评分行为,包括:
构建“用户-物品”评分矩阵R∈[0,1]m×n,用于记录用户对物品的评分行为,其中m、n分别表示用户、物品的数量,并对“用户-物品”评分矩阵R中的评分数据进行归一化处理,所述物品包括产品或者服务;
所述的根据“用户-物品”评分矩阵R训练矩阵分解模型,获得用户的实值特征矩阵P和物品的实值特征矩阵Q,包括:
根据“用户-物品”评分矩阵R训练矩阵分解模型,获得用户的实值特征矩阵
Figure FDA0003219794230000021
和物品的实值特征矩阵
Figure FDA0003219794230000022
P的第u列
Figure FDA0003219794230000023
表示用户u的特征向量,Q的第i列
Figure FDA0003219794230000024
表示物品i的特征向量,其中f为特征空间维数;
所述的根据用户的实值特征矩阵P对用户执行聚类分析,获得用户的锚点特征矩阵E,根据物品的实值特征矩阵Q对物品执行聚类分析,获得物品的锚点特征矩阵F,包括:
根据用户的实值特征矩阵P对用户执行聚类分析,获得用户的锚点特征矩阵
Figure FDA0003219794230000025
根据物品的实值特征矩阵Q对物品执行聚类分析,获得物品的锚点特征矩阵
Figure FDA0003219794230000026
E的第u列
Figure FDA0003219794230000027
表示用户u所在群组的簇中心,F的第i列
Figure FDA0003219794230000028
表示物品i所在群组的簇中心,所述簇中心为锚点特征;
所述的根据R、P、Q、E、F训练半离散矩阵分解模型,获得用户的二值编码矩阵B和物品的二值编码矩阵D,包括:
所述半离散矩阵分解模型的目标函数定义如下:
Figure FDA0003219794230000029
其中
Figure FDA00032197942300000218
表示损失项,
Figure FDA00032197942300000217
Figure FDA00032197942300000212
分别为“点级”和“组级”平滑项,
Figure FDA00032197942300000213
用于异构空间下的特征表示对齐,
Figure FDA00032197942300000214
用于保持原向量空间中“用户-用户”、“物品-物品”之间几何结构;
损失项
Figure FDA00032197942300000215
定义如下:
Figure FDA00032197942300000216
s.t.B∈{±1}f×m,D∈{±1}f×n
其中Ω是由已观测评分对应的(u,i)索引组成的集合;
“点级”平滑项定义为:
Figure FDA00032197942300000219
用于控制同一个用户、物品的二值编码与其对应的实值特征之间的差异,据此实现异构空间下的表示对齐;
“组级”平滑项定义为:
Figure FDA0003219794230000036
用于控制用户、物品的二值编码与其对应的锚点特征之间的差异,据此保持原向量空间中数据点间的拓扑结构,即原空间中处于同一群组的用户或物品应该具有相似的二值编码;
正则项定义为:
Figure FDA0003219794230000031
用于控制编码平衡,以期最大化编码的信息熵;
合并整理各项后,半离散矩阵分解模型的最终目标函数表示如下:
Figure FDA0003219794230000032
其中,α1,α2,β1,β2,γ>0为超参数,1m,1n表示m,n维全1向量;
所述半离散矩阵分解模型的训练过程包括如下步骤:
S41:模型初始化;将P和Q进行二值量化,作为半离散矩阵分解模型的目标变量的初始值:B=sgn(P)和D=sgn(Q);
S42:进入迭代训练过程,固定D,更新B;当固定D时,半离散矩阵分解模型的目标函数等价于如下优化问题:
Figure FDA0003219794230000033
其中Ωu表示已观测评分对应的(u,i)索引对中u所构成的集合;
采用离散坐标下降算法对bu进行逐位更新;设
Figure FDA0003219794230000034
其中buk表示bu的第k位,
Figure FDA0003219794230000035
表示除buk以外其余二值编码所组成的向量;类似的,
Figure FDA0003219794230000048
具体buk的更新规则如下:
Figure FDA0003219794230000041
Figure FDA0003219794230000042
当a≠0时,K(a,b)=a,否则K(a,b)=b;如果
Figure FDA0003219794230000043
不对buk进行更新;
S43:固定B,更新D;当固定B时,半离散矩阵分解模型的目标函数等价于如下优化问题:
Figure FDA0003219794230000044
其中Ωi表示已观测评分对应的(u,i)索引对中i所构成的集合;采用离散坐标下降算法对di进行逐位更新;具体dik的更新规则如下:
Figure FDA0003219794230000045
Figure FDA0003219794230000046
同样,如果
Figure FDA0003219794230000047
更新dik,否则,不对dik进行更新;
S44:重复S42到S43,直到满足迭代停止条件,模型收敛,输出所述半离散矩阵分解模型的参数B和D。
2.根据权利要求1所述的方法,其特征在于,所述的迭代停止条件包括:目标函数值小于预设定阈值,或B和D的每一位都不再发生变化。
CN202010344347.3A 2020-04-27 2020-04-27 基于半离散矩阵分解的物品推荐方法 Active CN111552852B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010344347.3A CN111552852B (zh) 2020-04-27 2020-04-27 基于半离散矩阵分解的物品推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010344347.3A CN111552852B (zh) 2020-04-27 2020-04-27 基于半离散矩阵分解的物品推荐方法

Publications (2)

Publication Number Publication Date
CN111552852A CN111552852A (zh) 2020-08-18
CN111552852B true CN111552852B (zh) 2021-09-28

Family

ID=72005831

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010344347.3A Active CN111552852B (zh) 2020-04-27 2020-04-27 基于半离散矩阵分解的物品推荐方法

Country Status (1)

Country Link
CN (1) CN111552852B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112507225B (zh) * 2020-12-11 2021-09-28 南京大学 一种基于双层优化的推荐系统数据调试方法
CN113010800B (zh) * 2021-03-04 2022-03-18 浙江大学 一种基于组合编码的协同排序推荐方法
CN114564742B (zh) * 2022-02-18 2024-05-14 北京交通大学 一种基于哈希学习的轻量化联邦推荐方法
CN114581161B (zh) * 2022-05-06 2022-08-16 深圳市明珞锋科技有限责任公司 一种基于深度学习的信息推送方法和系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231166A (zh) * 2011-07-12 2011-11-02 浙江大学 基于社会上下文的协同推荐方法
KR20160041028A (ko) * 2013-08-09 2016-04-15 톰슨 라이센싱 프라이버시 보호 행렬 분해를 위한 방법 및 시스템
US20170118489A1 (en) * 2015-10-23 2017-04-27 Broadcom Corporation High Dynamic Range Non-Constant Luminance Video Encoding and Decoding Method and Apparatus
CN108665323B (zh) * 2018-05-20 2021-01-05 北京工业大学 一种用于理财产品推荐系统的集成方法
CN110321494B (zh) * 2019-06-26 2021-08-31 北京交通大学 基于矩阵分解与网络嵌入联合模型的社会化推荐方法

Also Published As

Publication number Publication date
CN111552852A (zh) 2020-08-18

Similar Documents

Publication Publication Date Title
CN111552852B (zh) 基于半离散矩阵分解的物品推荐方法
US11651286B2 (en) Method and system for distributed machine learning
CN109299396B (zh) 融合注意力模型的卷积神经网络协同过滤推荐方法及系统
CN110321494B (zh) 基于矩阵分解与网络嵌入联合模型的社会化推荐方法
Wang et al. Exploring hierarchical structures for recommender systems
CN108287904A (zh) 一种基于社会化卷积矩阵分解的文档上下文感知推荐方法
Li et al. Deep probabilistic matrix factorization framework for online collaborative filtering
CN107038184B (zh) 一种基于分层隐变量模型的新闻推荐方法
CN109033294A (zh) 一种融入内容信息的混合推荐方法
CN113343119A (zh) 一种基于层次注意力机制的群组推荐方法
CN109472282B (zh) 一种基于极少训练样本的深度图像哈希方法
CN109033453B (zh) 一种基于rbm与差分隐私保护的聚类的电影推荐方法及系统
CN113051440A (zh) 一种基于超图结构的链路预测方法及系统
Gunawan et al. The sentiment analysis of spider-man: No way home film based on imdb reviews
CN114298783A (zh) 基于矩阵分解融合用户社交信息的商品推荐方法及系统
CN110910235A (zh) 一种基于用户关系网络的贷中异常行为检测方法
CN111125428A (zh) 基于评分预测函数拟合结构的时间相关电影推荐方法
Ştefan et al. System fusion with deep ensembles
Shrivastava et al. K-means clustering based solution of sparsity problem in rating based movie recommendation system
Yang et al. An academic social network friend recommendation algorithm based on decision tree
Lestari et al. NRF: Normalized Rating Frequency for Collaborative Filtering Paper
CN109918564A (zh) 一种面向完全冷启动的上下文自动编码推荐方法及系统
CN115481236A (zh) 一种基于用户兴趣建模的新闻推荐方法
CN110717103B (zh) 基于堆栈降噪编码器改进的协同过滤方法
CN114817566A (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