CN110321494B - 基于矩阵分解与网络嵌入联合模型的社会化推荐方法 - Google Patents

基于矩阵分解与网络嵌入联合模型的社会化推荐方法 Download PDF

Info

Publication number
CN110321494B
CN110321494B CN201910563575.7A CN201910563575A CN110321494B CN 110321494 B CN110321494 B CN 110321494B CN 201910563575 A CN201910563575 A CN 201910563575A CN 110321494 B CN110321494 B CN 110321494B
Authority
CN
China
Prior art keywords
user
matrix
social
model
network
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
CN201910563575.7A
Other languages
English (en)
Other versions
CN110321494A (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 CN201910563575.7A priority Critical patent/CN110321494B/zh
Publication of CN110321494A publication Critical patent/CN110321494A/zh
Application granted granted Critical
Publication of CN110321494B publication Critical patent/CN110321494B/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/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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Computing Systems (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于矩阵分解与网络嵌入联合模型的社会化推荐方法。该方法包括:构建用户‑物品评分矩阵和用户‑用户社交网络,同时根据用户‑用户社交网络生成用户社交语料;利用用户‑物品评分数据和用户社交语料训练矩阵分解与网络嵌入联合模型,得到用户特征矩阵和物品特征矩阵;根据用户特征矩阵和物品特征矩阵预测出未观测评分;将预测评分数值较高的若干物品推荐给相应用户。本发明通过设计统一目标函数无缝整合了矩阵分解模型与网络嵌入模型;基于统一的优化框架,实现了矩阵分解模型与网络嵌入模型之间的双向促进与协同优化,从而可向用户精准推荐其所感兴趣的物品。

Description

基于矩阵分解与网络嵌入联合模型的社会化推荐方法
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种基于矩阵分解与网络嵌入联合模型的社会化推荐方法。
背景技术
互联网时代,如何有效调节多元化信息呈现出的丰富性与人们注意力的局限性之间的矛盾,已然成为当下信息产业亟需解决的技术难题。在此背景下,推荐系统应运而生,以应对大数据所引起的信息过载问题。
协同过滤(collaboritive filtering)是推荐系统背后的核心技术,其通过分析“用户-物品”交互历史,预测未观测的“用户-物品”相关性。矩阵分解(matrixfactorization)模型是目前最为主流的协同过滤手段,矩阵分解的核心思想是:通过分解“用户-物品”交互矩阵(简称UI矩阵),将用户和物品映射到同一个低维向量空间,进而可通过计算用户特征向量与物品特征向量内积的方式预测“用户-物品”相关性。但该方法的效果严重受限于数据稀疏问题,通常情况下已观测“用户-物品”交互记录仅占UI矩阵的1%左右。为此,一些学者建议在矩阵分解模型中引入用户社交关系,以期缓解UI矩阵的数据稀疏问题。
现有社会化推荐技术大致分为两类:共享表示学习和修正表示学习。共享表示学习的代表性工作如SoRec模型,该方法同时分解“用户-物品”交互矩阵和“用户-用户”社交矩阵,其间共用同一组用户特征变量,以期用户特征变量可同时保有用户的个性化喜好及其社会属性;修正表示学习的代表性工作如SoReg模型,该模型将用户社交关系作为约束信息,以修正“用户-物品”矩阵分解过程,以期那些社交连接强度大的用户可获得相似的特征向量。
目前,基于(深度)神经网络的网络嵌入技术发展迅猛,被广泛用于各类社交网络分析任务。网络嵌入首先借助随机游走获取每个结点的高阶近邻关系,然后借助神经网络强大的特征转换和抽象能力,将复杂的社交拓扑结构嵌入到低维向量空间中。近年来,一些工作尝试将网络嵌入模型与矩阵分解模型相结合,获得了比传统社会化推荐方法更佳的效果。例如,CUNE模型首先对用户社交网络进行节点嵌入,然后利用嵌入结果修正“用户-物品”矩阵分解过程。
上述现有技术中的社会化推荐方法的缺点为:经典社会化推荐系统(如SoRec模型和SoReg模型)多以启发式方法使用社交信息,难以深度挖掘社交网络的复杂拓扑结构。近年来,尽管一些社会化推荐系统尝试在社会化推荐系统中使用网络嵌入模型(如CUNE模型),以期更好地挖掘和利用社交信息。但是由于技术原理不同,矩阵分解模型与网络嵌入模型很难整合,故而目前业界多采用两阶段学习方式:首先利用网络嵌入模型从“用户-用户”社交网络中学习用户的社会化向量表示;据此作为修正信息,再利用矩阵分解模型从“用户-物品”交互矩阵中学习用户特征和物品特征。这种两阶段方式存在两方面的弊端:
1)常规的网络嵌入模型采用无监督学习方式,其目的是通用的,而非为推荐任务订制的;而社交网络是复杂多面的,若没有监督信号加以引导,网络嵌入模型难以挖掘出那些有助于推荐系统的社交属性。
2)由于分离式的两阶段设计,网络嵌入模型与矩阵分解模型的目标函数不统一,这样第一阶段产生的最优结果,对第二阶段推荐任务而言未必最优;此外,网络嵌入模型含有大量参数,使得两个模型联合调参具有很大难度。
发明内容
本发明的实施例提供了一种基于矩阵分解与网络嵌入联合模型的社会化推荐方法,以克服现有技术的问题。
为了实现上述目的,本发明采取了如下技术方案。
一种基于矩阵分解与网络嵌入联合模型的社会化推荐方法,包括:
构建用户-物品评分矩阵,所述评分矩阵中的行和列分别表示用户和物品,所述评分矩阵中的元素值表示用户对物品的评分;
构建用户-用户社交网络,所述社交网络中的结点表示用户,连接表示用户之间的某种社交关系,根据所述用户-用户社交网络生成社交语料;
利用所述用户-物品评分矩阵和用户社交语料训练矩阵分解与网络嵌入联合模型,得到用户特征矩阵和物品特征矩阵;
根据所述用户特征矩阵和所述物品特征矩阵预测出未观测评分;将评分数值较高的若干物品推荐给相应用户。
优选的,所述用户-物品评分矩阵中的行和列分别表示用户和物品,所述评分矩阵中的元素值表示用户对物品的评分,包括:
利用已有的数据集构建用户-物品评分矩阵,所述评分矩阵中的行和列分别表示用户和物品,所述评分矩阵中的元素值表示用户对物品的评分,并对评分数据进行归一化处理,获得评分矩阵
Figure BDA0002108936750000033
其中m和n分别表示用户和物品数量,某用户对某物品的评分被量化为小数,数值越接近于1表示该用户越喜欢该物品,0表示未评分。
优选的,所述的构建用户-用户社交网络,所述社交网络中的结点表示用户,连接表示用户之间的某种社交关系,根据所述用户-用户社交网络生成社交语料,包括:
利用已有的数据集构建用户-用户社交网络,该社交网络中的连接用于记录用户间的社交关系;若两用户之间存在某种社交联系,则相应连接被标记为1;若没有社交联系,则标记为0;通过对所述用户-用户社交网络进行截断式随机游走,得到每个用户的上下文用户集合,通过对所述用户-用户社交网络进行负采样,得到每个用户的负样本集合,全部用户的上下文用户集合和负样本集合构成了所述社交语料。
优选的,所述的通过对所述用户-用户社交网络进行截断式随机游走处理,得到每个用户的上下文用户集合,包括:
从每个节点出发,在用户-用户社交网络上运行截断式随机游走,在随机游走过程中,从用户u跳转到用户υ的概率定义如下:
Figure BDA0002108936750000031
其中,co(u,υ)代表用户u和用户υ共同评价过的物品数目,d+(u)代表用户u在社交网络中的节点出度,
Figure BDA0002108936750000032
代表用户u的好友集合;
设截断式随机游走序列长度为L,对于用户u而言,根据概率转移公式计算从用户u转移到其朋友的概率,然后选择概率最大的朋友υ作为其下一跳的节点,以此类推,直到产生长度为L的节点序列;
利用滑动窗口从每个节点序列中为每个用户寻找上下文用户集合;当滑动窗口停在节点序列中的某个位置时,处于中间位置的用户称为中心用户u,处于窗口内其它位置的用户构成了用户u的上下文用户集合
Figure BDA0002108936750000041
优选的,所述的通过对所述用户-用户社交网络进行负采样,得到每个用户的负样本集合,包括:
对任意用户u来说,根据其非上下文用户在社交语料中的出现频率,及其在评分数据中的活跃程度,获取用户u的负样本集合
Figure BDA0002108936750000042
对于某个用户
Figure BDA0002108936750000043
来说,其被选为用户u的负样本的概率值的计算公式如下:
Figure BDA0002108936750000044
其中,f(υ)表示用户υ在社交语料中出现的频率,r(υ)表示用户υ在评分数据中评价过的物品数量,u表示全体用户集合,超参数a为经验值;
设用户u的上下文用户集合
Figure BDA0002108936750000045
中的元素数量为A,依据负样本概率计算公式选取概率值最大的A个用户组成用户u的负样本集合
Figure BDA0002108936750000046
优选的,全部用户的上下文用户集合连同负样本集合一起构成了社交语料
Figure BDA0002108936750000047
其中
Figure BDA0002108936750000048
Figure BDA0002108936750000049
分别表示用户u的上下文用户集合和负样本集合。
优选的,所述矩阵分解与网络嵌入联合模型的目标函数定义如下:
Figure BDA00021089367500000410
其中
Figure BDA00021089367500000411
Figure BDA00021089367500000412
分别表示矩阵分解模型和网络嵌入模型的损失函数,用户特征矩阵P为矩阵分解模型和网络嵌入模型两个模型的共享变量,
Figure BDA00021089367500000413
为正则项;
矩阵分解模型的损失函数定义如下:
Figure BDA00021089367500000414
其中,Ω是由已观测评分对应的(u,i)索引对组成的集合,
Figure BDA00021089367500000415
为矩阵P的第u列、
Figure BDA00021089367500000416
为矩阵Q的第i列,分别对应于用户u和物品i的特征向量;
用户特征矩阵P在矩阵分解模型和网络嵌入模型间共享,其中网络嵌入模型实为一个三层的神经网络,其输入层与隐层之间的连接权重矩阵即为
Figure BDA0002108936750000051
隐层与输出层之间的连接权重矩阵为
Figure BDA0002108936750000052
网络嵌入模型的损失函数定义如下:
Figure BDA0002108936750000053
其中,激活函数σ(z)=1/(1+e-z),
Figure BDA0002108936750000054
s和k分别表示滑动窗口的大小和负样本的个数;
正则项用于降低模型过拟合的风险,具体定义如下:
Figure BDA0002108936750000055
合并各项后,所述矩阵分解与网络嵌入联合模型的目标函数表示如下:
Figure BDA0002108936750000056
其中,α>0为超参数,用于调控矩阵分解模型与网络嵌入模型之间的比重,超参数λU,λI,λW用于调节正则项各分项的比重。
优选的,所述的利用所述用户-物品评分矩阵
Figure BDA0002108936750000059
和所述用户社交语料
Figure BDA0002108936750000058
训练联合模型,得到用户特征矩阵和物品特征矩阵,其训练过程包括:随机初始化用户特征矩阵P、物品特征矩阵Q和辅助参数矩阵W,进入迭代训练过程:固定Q,W,计算目标函数关于P的梯度,利用随机梯度下降法更新P;再固定P,W,计算目标函数关于Q的梯度,利用随机梯度下降法更新Q;再固定P,Q,计算目标函数关于W的梯度,利用随机梯度下降法更新W;重复上述步骤,不断交替更新P,Q,W,直到目标函数值
Figure BDA0002108936750000057
小于设定阈值,输出最终的用户特征矩阵P和物品特征矩阵Q。
本发明提出的基于矩阵分解与网络嵌入联合模型的社会化推荐方法通过设计统一的目标函数,无缝整合了矩阵分解模型与网络嵌入模型;基于统一的优化框架,矩阵分解模型所使用的监督信号可间接地引导网络嵌入模型发现适合推荐任务的社会化属性;同时“恰当”的社会化约束也会反向作用于矩阵分解模型,以获得更优的用户和物品特征,从而可以实现高效、准确地向用户推荐其所喜欢的物品。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于矩阵分解与网络嵌入联合模型的社会化推荐方法的处理流程图;
图2为本发明实施例提供的一种的模型训练工作流程图;
图3为本发明方法与现有社会化推荐方法的实验效果对比图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
矩阵分解为基于已观测的“用户-物品”(其中“物品”指代社交平台各类信息产品)交互历史,对“用户-物品”相关性进行统计建模;然后利用该模型预测未观测的“用户-物品”相关性,并根据相关性大小为用户推荐其可能感兴趣物品。
网络嵌入为将网络结构嵌入到低维的连续空间,同时保留网络结构的内在结构属性。在本发明中,网络指的是社交网络,结点代表用户,连接代表用户间的社交关系,如好友关系(用户A关注了用户B)、转发关系(用户A转发了用户B的帖子)、评论关系(用户A评论了用户B的帖子)等等。借助网络嵌入模型,可获得用户的向量表示,该表示保留了用户的社交结构信息。
本发明实施例提出了一种基于矩阵分解与网络嵌入联合模型的社会化推荐方法,该方法通过设计统一的目标函数,无缝整合了矩阵分解模型与网络嵌入模型;基于统一的优化框架,矩阵分解模型所使用的监督信号可间接地引导网络嵌入模型发现适合推荐任务的社会化属性;同时“恰当”的社会化约束也会反向作用于矩阵分解模型,以获得更优的用户和物品特征;从而实现两个模型间的双向促进与协同优化。此外,统一的目标函数大大降低了两个模型联合调参的难度。
本发明实施例提供了一种基于矩阵分解与网络嵌入联合模型的社会化推荐方法,该方法的处理流程如图1所示,具体包括以下步骤:
步骤S1、利用已有的数据集构建“用户-物品”评分矩阵,所述评分矩阵中的行和列分别表示用户和物品,所述评分矩阵中的元素值表示用户对物品的评分,并对评分数据进行归一化处理,获得评分矩阵
Figure BDA0002108936750000071
其中m和n分别表示用户和物品数量,上述评分矩阵用以记录用户对物品的评分行为,某用户对某物品的评分行为被量化为小数,数值越接近于1表示该用户越喜欢该物品,反之亦然,0表示未评分。
步骤S2、利用已有的数据集构建“用户-用户”社交网络,所述社交网络中的结点代表用户、结点间的连接用于记录用户间的社交关系;若两用户之间有联系(比如为好友关系),则相应的连接被标记为1;若没有联系,则标记为0。通过对所述用户-用户社交网络进行截断式随机游走处理,得到每个用户的上下文用户集合,同时通过对所述用户-用户社交网络进行负采样处理,得到每个用户的负样本集合,全体用户的上下文用户集合和负样本集合构成所述社交语料
Figure BDA0002108936750000081
其中
Figure BDA0002108936750000082
Figure BDA0002108936750000083
分别表示用户u的上下文用户集合(正样本集合)和负样本集合。
为用户生成上下文用户集合(正样本集合)的过程包括:从每个节点出发,在用户-用户社交网络上运行截断式随机游走,在随机游走过程中,从用户u跳转到用户υ的概率定义如下:
Figure BDA0002108936750000084
其中,co(u,υ)代表用户u和用户υ共同评价过的物品数目,d+(u)代表用户u在社交网络中的节点出度,
Figure BDA0002108936750000085
代表用户u的好友集合,设截断式随机游走序列长度为L,对于用户u而言,根据概率转移公式计算从用户u转移到其朋友的概率,然后选择概率最大的朋友υ作为其下一跳的节点,以此类推,直到产生长度为L的节点序列。
然后,利用滑动窗口从每个节点序列中为每个用户寻找上下文用户集合。当滑动窗口停在节点序列中的某个位置时,处于中间位置的用户称为中心用户u,处于窗口内其它位置的用户构成了用户u的上下文用户集合
Figure BDA0002108936750000086
(一般包括5-10个上下文用户)。
为用户u生成负样本集合的过程包括:根据其非上下文用户在社交语料中的出现频率,及其在评分数据中的活跃程度,获取用户u的负样本集合
Figure BDA0002108936750000087
(其元素数量与
Figure BDA0002108936750000088
相同)。对于某个用户
Figure BDA0002108936750000089
来说,其被选为用户u的负样本的概率定义如下:
Figure BDA00021089367500000810
其中,f(υ)表示用户υ在社交语料中出现的频率,r(υ)表示用户υ在评分数据中评价过的物品数量,u表示全体用户集合,超参数a为经验值,通常设为0.75。
设用户u的上下文用户集合
Figure BDA00021089367500000811
中的元素数量为A,依据负样本概率计算公式选取概率值最大的A个用户组成用户u的负样本集合
Figure BDA00021089367500000812
全部用户的上下文用户集合连同负样本集合一起构成了社交语料
Figure BDA00021089367500000813
其中
Figure BDA00021089367500000814
Figure BDA00021089367500000815
分别表示用户u的上下文用户集合和负样本集合。
步骤S3、设定矩阵分解与网络嵌入联合模型的目标函数,利用所述评分矩阵
Figure BDA00021089367500000915
、社交语料
Figure BDA00021089367500000914
,训练矩阵分解与网络嵌入联合模型,得到用户特征矩阵
Figure BDA0002108936750000091
物品特征矩阵
Figure BDA0002108936750000092
其中f为特征空间维数。
本发明所述矩阵分解与网络嵌入联合模型框架包括:
1、模型的目标函数:矩阵分解的损失项(P、Q的函数)、网络嵌入的损失项(P、W的函数)、正则项(P、Q、W的函数);其中为了模型联合训练,P为共享标量;最终推荐仅需要P、Q即可,W可视为模型训练过程中的辅助变量。
2、模型的参数优化:根据准备好的训练样本(用户-物品矩阵
Figure BDA00021089367500000916
、用户的社交语料
Figure BDA00021089367500000913
),采用交替优化思路,每次固定两个目标变量,梯度下降更新一个;反复迭代,直到收敛。
所述的矩阵分解与网络嵌入联合模型的目标函数定义为:
Figure BDA0002108936750000093
其中
Figure BDA0002108936750000094
Figure BDA0002108936750000095
分别表示矩阵分解模型和网络嵌入模型的损失函数,用户特征矩阵P为矩阵分解模型和网络嵌入模型两个模型的共享变量,
Figure BDA0002108936750000096
为正则项。
矩阵分解模型的损失函数定义如下:
Figure BDA0002108936750000097
其中,Ω是由已观测评分对应的(u,i)索引对组成的集合(本发明仅对观测到的“用户-物品”评分建模),
Figure BDA0002108936750000098
为矩阵P的第u列、
Figure BDA0002108936750000099
为矩阵Q的第i列,分别对应于用户u和物品i的特征向量。
网络嵌入模型实际上是一个神经网络,为了简化问题表述,此处假设神经网络仅包括一个隐层。由于用户特征矩阵P在两个模型间共享,神经网络输入层与隐层之间的连接权重矩阵即为
Figure BDA00021089367500000910
隐层与输出层之间的连接权重矩阵为
Figure BDA00021089367500000911
(可视之为辅助变量),网络嵌入模型的具体损失函数定义如下:
Figure BDA00021089367500000912
其中,激活函数σ(z)=1/(1+e-z),
Figure BDA0002108936750000101
s和k分别表示滑动窗口的大小和负样本的个数。值的注意的是,工程上为了获得更好的嵌入结果,可使用拥有很多个隐层的深度神经网络,仅需在本发明所述方案的基础上再增加若干个辅助变量即可,诸如W(1)、W(2)、W(3)等等。
正则项用于降低模型过拟合的风险,具体定义如下:
Figure BDA0002108936750000102
合并各项后,联合模型的目标函数可表示如下:
Figure BDA0002108936750000103
其中,α>0为超参数,用于调控矩阵分解与网络嵌入模型之间的比重;另几个超参数λU,λI,λW用于调节正则项中各子项的比重。
本发明实施例提供的一种矩阵分解与网络嵌入联合模型的训练与优化的过程包括:首先随机初始化模型参数P,Q,W,进入迭代训练过程:固定Q,W,计算目标函数关于P的梯度,利用随机梯度下降法更新P;再固定P,W,计算目标函数关于Q的梯度,利用随机梯度下降法更新Q;再固定P,Q,计算目标函数关于W的梯度,利用随机梯度下降法更新W;重复上述步骤,不断交替更新P,Q,W,直到满足迭代停止条件,例如目标函数值小于某个预设定阈值或迭代轮数达到一定量级,输出最终的用户特征矩阵
Figure BDA0002108936750000104
物品特征矩阵
Figure BDA0002108936750000105
其中f为特征空间维数。
本发明实施例提供的一种矩阵分解与网络嵌入联合模型的训练与优化的工作流程如图2所示。包括如下步骤:
S3-1:随机初始化矩阵P,Q,W,进入迭代训练过程;
S3-2:固定矩阵Q,W,计算目标函数关于P的梯度,利用随机梯度下降法更新矩阵P;
S3-3:固定矩阵P,W,计算目标函数关于Q的梯度,利用随机梯度下降法更新矩阵Q;
S3-4:固定矩阵P,Q,计算目标函数关于W的梯度,利用随机梯度下降法更新矩阵W;
S3-5:重复S3-1到S3-4,不断交替更新P,Q,W,直到满足收敛条件,例如目标函数值小于某个预设定阈值或迭代轮数达到一定量级,最后输出参数模型。
值得注意的是,矩阵P被矩阵分解模型和网络嵌入模型所共享,因此两个模型可以在交替迭代更新过程中被协同优化。
步骤S4、根据用户和物品的特征矩阵预测未观测物品的评分:
Figure BDA0002108936750000111
Figure BDA0002108936750000112
逐行降序排列,并将数值较高(且未被评过分)的若干物品推荐给相应的用户。
本发明实施例在两个数据集上进行了实验,并对比了本发明所述方法与目前主流的社会化推荐方法的效果。对比方法包括两个经典的社会化推荐方法SoRec和SoReg(分别发表于数据挖掘领域主流会议CIKM2008和WSDM2011),以及目前性能最好方法CUNE(发表于数据挖掘领域主流会议SDM2017)。
第一个数据集是影评相关的数据集Filmtrust,其UI矩阵的行代表观影人,列代表电影,评分范围:0.5-4.0分;另有用户社交关系(关注vs被关注)作为辅助信息。该数据集包括1,508个用户、2,071个物品、35,497个用户关注连接;“用户-物品”交互数据的稠密度为1.14%、“用户-用户”社交数据的稠密度为0.42%。
第二个数据集是书评相关的数据集“豆瓣”数据集,其UI矩阵的行代表读书人,列代表图书,评分范围:1-5分;另有用户社交关系(关注vs被关注)作为辅助信息。该数据集包括2,963个用户、39,694个物品、894,887个好友连接;“用户-物品”交互数据的稠密度为0.76%、“用户-用户”社交数据的稠密度为0.48%。
图3为本发明方法与现有社会化推荐方法的实验效果对比图,如图3所示,斜条纹柱状图代表四种算法在Filmtrust数据集上的测试结果,网格柱状图代表四种算法在豆瓣数据集上的测试结果,评价指标为平均绝对误差(Mean Absolute Error,MAE),两组实验结果均表明:本发明所述方法较之对比方法性能有很大改进(MAE越低越好)。
综上所述,本发明实施例提出的基于矩阵分解与网络嵌入联合模型的社会化推荐方法,该方法通过设计统一的目标函数,无缝整合了矩阵分解模型与网络嵌入模型;基于统一的优化框架,矩阵分解模型所使用的监督信号可间接地引导网络嵌入模型发现适合推荐任务的社会化属性;同时“恰当”的社会化约束也会反向作用于矩阵分解模型,以获得更优的用户和物品特征,实现两个模型间的双向促进与协同优化,从而可以实现高效、准确地向用户推荐其所喜欢的物品。
本发明提供了一种推荐系统融合社交信息的联合学习范式,将矩阵分解模型与网络嵌入模型进行无缝拼接,进而达到协同优化的目的。此外,统一的目标函数大大降低了两个模型联合调参的难度。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (7)

1.一种基于矩阵分解与网络嵌入联合模型的社会化推荐方法,其特征在于,包括:
构建用户-物品评分矩阵,所述评分矩阵中的行和列分别表示用户和物品,所述评分矩阵中的元素值表示用户对物品的评分;
构建用户-用户社交网络,所述社交网络中的结点表示用户,连接表示用户之间的某种社交关系,根据所述用户-用户社交网络生成社交语料;
设定矩阵分解与网络嵌入联合模型的目标函数,利用所述用户-物品评分矩阵和用户社交语料训练联合模型,得到用户特征矩阵和物品特征矩阵;
根据所述用户特征矩阵和所述物品特征矩阵预测出未观测评分;将评分数值较高的若干物品推荐给相应用户;
所述矩阵分解与网络嵌入联合模型的目标函数定义如下:
Figure FDA0003175104450000011
其中
Figure FDA0003175104450000012
Figure FDA0003175104450000013
分别表示矩阵分解模型和网络嵌入模型的损失函数,用户特征矩阵P为矩阵分解模型和网络嵌入模型两个模型的共享变量,
Figure FDA0003175104450000014
为正则项;
矩阵分解模型的损失函数定义如下:
Figure FDA0003175104450000015
其中,Ω是由已观测评分对应的(u,i)索引对组成的集合,Rui表示用户u对于物品i的真实评分,
Figure FDA0003175104450000016
为矩阵P的第u列、
Figure FDA0003175104450000017
为矩阵Q的第i列,分别对应于用户u和物品i的特征向量,T表示向量转置;
用户特征矩阵P在矩阵分解模型和网络嵌入模型间共享,其中网络嵌入模型实为一个三层的神经网络,其输入层与隐层之间的连接权重矩阵即为
Figure FDA0003175104450000018
隐层与输出层之间的连接权重矩阵为
Figure FDA0003175104450000019
网络嵌入模型的损失函数定义如下:
Figure FDA00031751044500000110
其中,激活函数σ(z)=1/(1+e-z),
Figure FDA0003175104450000021
s和k分别表示滑动窗口的大小和负样本的个数,
Figure FDA0003175104450000022
Figure FDA0003175104450000023
分别表示用户u的上下文用户集合和负样本集合;
正则项用于降低模型过拟合的风险,具体定义如下:
Figure FDA0003175104450000024
其中,||·||F表示Frobenius范数; 合并各项后,所述矩阵分解与网络嵌入联合模型的目标函数表示如下:
Figure FDA0003175104450000025
其中,α>0为超参数,用于调控矩阵分解模型与网络嵌入模型之间的比重,超参数λU,λI,λW用于调节正则项各分项的比重。
2.根据权利要求1所述的方法,其特征在于,所述用户-物品评分矩阵中的行和列分别表示用户和物品,所述评分矩阵中的元素值表示用户对物品的评分,包括:
利用已有的数据集构建用户-物品评分矩阵,所述评分矩阵中的行和列分别表示用户和物品,所述评分矩阵中的元素值表示用户对物品的评分,并对评分数据进行归一化处理,获得评分矩阵R∈[0,1]m×n,其中m和n分别表示用户和物品数量,某用户对某物品的评分被量化为小数,数值越接近于1表示该用户越喜欢该物品,0表示未评分。
3.根据权利要求1所述的方法,其特征在于,所述的构建用户-用户社交网络,所述社交网络中的结点表示用户,连接表示用户之间的某种社交关系,根据所述用户-用户社交网络生成社交语料,包括:
利用已有的数据集构建用户-用户社交网络,该社交网络中的连接用于记录用户间的社交关系;若两用户之间存在某种社交联系,则相应连接被标记为1;若没有社交联系,则标记为0;通过对所述用户-用户社交网络进行截断式随机游走,得到每个用户的上下文用户集合,通过对所述用户-用户社交网络进行负采样,得到每个用户的负样本集合,全部用户的上下文用户集合和负样本集合构成了所述社交语料。
4.根据权利要求3所述的方法,其特征在于,所述的通过对所述用户-用户社交网络进行截断式随机游走处理,得到每个用户的上下文用户集合,包括:
从每个节点出发,在用户-用户社交网络上运行截断式随机游走,在随机游走过程中,从用户u跳转到用户v的概率定义如下:
Figure FDA0003175104450000031
其中,co(u,v)代表用户u和用户v共同评价过的物品数目,d+(u)代表用户u在社交网络中的节点出度,
Figure FDA0003175104450000032
代表用户u的好友集合;
设截断式随机游走序列长度为L,对于用户u而言,根据概率转移公式计算从用户u转移到其朋友的概率,然后选择概率最大的朋友v作为其下一跳的节点,以此类推,直到产生长度为L的节点序列;
利用滑动窗口从每个节点序列中为每个用户寻找上下文用户集合;当滑动窗口停在节点序列中的某个位置时,处于中间位置的用户称为中心用户u,处于窗口内其它位置的用户构成了用户u的上下文用户集合
Figure FDA0003175104450000033
5.根据权利要求4所述的方法,其特征在于,所述的通过对所述用户-用户社交网络进行负采样,得到每个用户的负样本集合,包括:
对任意用户u来说,根据其非上下文用户在社交语料中的出现频率,及其在评分数据中的活跃程度,获取用户u的负样本集合
Figure FDA0003175104450000034
对于某个用户
Figure FDA0003175104450000035
来说,其被选为用户u的负样本的概率值的计算公式如下:
Figure FDA0003175104450000036
其中,f(v)表示用户v在社交语料中出现的频率,r(v)表示用户v在评分数据中评价过的物品数量,
Figure FDA0003175104450000037
表示全体用户集合,超参数a为经验值;
设用户u的上下文用户集合
Figure FDA0003175104450000038
中的元素数量为A,依据负样本概率计算公式选取概率值最大的A个用户组成用户u的负样本集合
Figure FDA0003175104450000039
6.根据权利要求5所述的方法,其特征在于,全部用户的上下文用户集合连同负样本集合一起构成了社交语料
Figure FDA00031751044500000310
其中m表示用户总数,
Figure FDA00031751044500000311
Figure FDA00031751044500000312
分别表示用户u的上下文用户集合和负样本集合。
7.根据权利要求1所述的方法,其特征在于,所述的利用所述用户-物品评分矩阵和用户社交语料训练联合模型,得到用户特征矩阵和物品特征矩阵,其训练过程包括:随机初始化用户特征矩阵P、物品特征矩阵Q和辅助参数矩阵W,进入迭代训练过程:固定Q,W,计算目标函数关于P的梯度,利用随机梯度下降法更新P;再固定P,W,计算目标函数关于Q的梯度,利用随机梯度下降法更新Q;再固定P,Q,计算目标函数关于W的梯度,利用随机梯度下降法更新W;重复上述步骤,不断交替更新P,Q,W,直到目标函数值
Figure FDA0003175104450000041
小于设定阈值,输出最终的用户特征矩阵P和物品特征矩阵Q。
CN201910563575.7A 2019-06-26 2019-06-26 基于矩阵分解与网络嵌入联合模型的社会化推荐方法 Active CN110321494B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910563575.7A CN110321494B (zh) 2019-06-26 2019-06-26 基于矩阵分解与网络嵌入联合模型的社会化推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910563575.7A CN110321494B (zh) 2019-06-26 2019-06-26 基于矩阵分解与网络嵌入联合模型的社会化推荐方法

Publications (2)

Publication Number Publication Date
CN110321494A CN110321494A (zh) 2019-10-11
CN110321494B true CN110321494B (zh) 2021-08-31

Family

ID=68120364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910563575.7A Active CN110321494B (zh) 2019-06-26 2019-06-26 基于矩阵分解与网络嵌入联合模型的社会化推荐方法

Country Status (1)

Country Link
CN (1) CN110321494B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110766166B (zh) * 2019-10-23 2021-03-23 支付宝(杭州)信息技术有限公司 一种由用户终端执行的推送模型优化方法和装置
CN110795631B (zh) * 2019-10-29 2022-09-06 支付宝(杭州)信息技术有限公司 一种基于因子分解机的推送模型优化、预测方法和装置
CN110930219B (zh) * 2019-11-14 2022-10-18 电子科技大学 一种基于多特征融合的个性化电商推荐方法
CN111104604B (zh) * 2019-11-25 2023-07-21 北京交通大学 基于哈希学习的轻量级社会化推荐方法
CN111159564A (zh) * 2019-12-31 2020-05-15 联想(北京)有限公司 信息推荐方法、装置、存储介质及计算机设备
CN111210233B (zh) * 2020-01-02 2023-12-26 联想(北京)有限公司 用户特征确定方法、装置和电子设备
US11494617B2 (en) * 2020-02-12 2022-11-08 Huawei Technologies Co., Ltd. Recommender system using bayesian graph convolution networks
CN111402003B (zh) * 2020-03-13 2023-06-13 第四范式(北京)技术有限公司 实现用户相关推荐的系统和方法
CN111552852B (zh) * 2020-04-27 2021-09-28 北京交通大学 基于半离散矩阵分解的物品推荐方法
CN111695042B (zh) * 2020-06-10 2023-04-18 湖南湖大金科科技发展有限公司 基于深度游走和集成学习的用户行为预测方法及系统
CN111797319B (zh) * 2020-07-01 2023-10-27 喜大(上海)网络科技有限公司 推荐方法、装置、设备及存储介质
CN112507225B (zh) * 2020-12-11 2021-09-28 南京大学 一种基于双层优化的推荐系统数据调试方法
CN112650945B (zh) * 2020-12-29 2022-09-06 齐鲁工业大学 一种基于gcn和ain的上下文感知推荐方法
CN112967101B (zh) * 2021-04-07 2023-04-07 重庆大学 一种基于社交用户多交互信息的协同过滤物品推荐方法
CN114510652B (zh) * 2022-04-20 2023-04-07 宁波大学 一种基于联邦学习的社交协同过滤推荐方法
CN117171448B (zh) * 2023-08-11 2024-05-28 哈尔滨工业大学 一种基于图神经网络的多行为社会化推荐方法及系统
CN117216392A (zh) * 2023-09-19 2023-12-12 北京大学 一种基于缺失数据填补的推荐方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140087065A (ko) * 2012-12-21 2014-07-09 서울대학교산학협력단 링크 예측을 이용한 소셜 추천 방법
CN105761151A (zh) * 2016-02-02 2016-07-13 浙江工业大学 一种基于联合概率矩阵分解的移动社会化推荐方法
CN108596774A (zh) * 2018-04-24 2018-09-28 山东师范大学 基于深层次网络嵌入特征的社会化信息推荐算法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140087065A (ko) * 2012-12-21 2014-07-09 서울대학교산학협력단 링크 예측을 이용한 소셜 추천 방법
CN105761151A (zh) * 2016-02-02 2016-07-13 浙江工业大学 一种基于联合概率矩阵分解的移动社会化推荐方法
CN108596774A (zh) * 2018-04-24 2018-09-28 山东师范大学 基于深层次网络嵌入特征的社会化信息推荐算法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于矩阵分解的评分推荐研究;张孟昊;《中国优秀硕士学位论文全文数据-信息科技辑》;20181031;I138-949 *

Also Published As

Publication number Publication date
CN110321494A (zh) 2019-10-11

Similar Documents

Publication Publication Date Title
CN110321494B (zh) 基于矩阵分解与网络嵌入联合模型的社会化推荐方法
Perozzi et al. Don't walk, skip! online learning of multi-scale network embeddings
Geng Label distribution learning
CN112905900B (zh) 基于图卷积注意力机制的协同过滤推荐方法
CN112529168B (zh) 一种基于gcn的属性多层网络表示学习方法
Moosavi et al. Community detection in social networks using user frequent pattern mining
CN113705772A (zh) 一种模型训练方法、装置、设备及可读存储介质
CN111104604B (zh) 基于哈希学习的轻量级社会化推荐方法
CN109389151B (zh) 一种基于半监督嵌入表示模型的知识图谱处理方法和装置
CN107038184B (zh) 一种基于分层隐变量模型的新闻推荐方法
Chien et al. Learning discriminant functions with fuzzy attributes for classification using genetic programming
CN108427756B (zh) 基于同类用户模型的个性化查询词补全推荐方法和装置
Navgaran et al. Evolutionary based matrix factorization method for collaborative filtering systems
CN111949885B (zh) 一种面向旅游景点的个性化推荐方法
CN112529071B (zh) 一种文本分类方法、系统、计算机设备和存储介质
Kotzias et al. Deep multi-instance transfer learning
CN113918834B (zh) 融合社交关系的图卷积协同过滤推荐方法
CN112231577A (zh) 一种融合文本语义向量和神经协同过滤的推荐方法
Liu et al. Interpretability of computational models for sentiment analysis
CN111310068A (zh) 基于动态图的社交网络节点分类方法
CN114298783A (zh) 基于矩阵分解融合用户社交信息的商品推荐方法及系统
Lomurno et al. Pareto-optimal progressive neural architecture search
Amara et al. Cross-network representation learning for anchor users on multiplex heterogeneous social network
CN112215629B (zh) 基于构造对抗样本的多目标广告生成系统及其方法
Ma et al. Graph classification algorithm based on graph structure embedding

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