数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 MCMC 采样
- 机器学习方法概论
统计学习
深度学习
- 深度学习简介
- 深度前馈网络
- 反向传播算法
- 正则化
- 深度学习中的最优化问题
- 卷积神经网络
- CNN:图像分类
- 循环神经网络 RNN
- Transformer
- 一、Transformer [2017]
- 二、Universal Transformer [2018]
- 三、Transformer-XL [2019]
- 四、GPT1 [2018]
- 五、GPT2 [2019]
- 六、GPT3 [2020]
- 七、OPT [2022]
- 八、BERT [2018]
- 九、XLNet [2019]
- 十、RoBERTa [2019]
- 十一、ERNIE 1.0 [2019]
- 十二、ERNIE 2.0 [2019]
- 十三、ERNIE 3.0 [2021]
- 十四、ERNIE-Huawei [2019]
- 十五、MT-DNN [2019]
- 十六、BART [2019]
- 十七、mBART [2020]
- 十八、SpanBERT [2019]
- 十九、ALBERT [2019]
- 二十、UniLM [2019]
- 二十一、MASS [2019]
- 二十二、MacBERT [2019]
- 二十三、Fine-Tuning Language Models from Human Preferences [2019]
- 二十四 Learning to summarize from human feedback [2020]
- 二十五、InstructGPT [2022]
- 二十六、T5 [2020]
- 二十七、mT5 [2020]
- 二十八、ExT5 [2021]
- 二十九、Muppet [2021]
- 三十、Self-Attention with Relative Position Representations [2018]
- 三十一、USE [2018]
- 三十二、Sentence-BERT [2019]
- 三十三、SimCSE [2021]
- 三十四、BERT-Flow [2020]
- 三十五、BERT-Whitening [2021]
- 三十六、Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings [2019]
- 三十七、CERT [2020]
- 三十八、DeCLUTR [2020]
- 三十九、CLEAR [2020]
- 四十、ConSERT [2021]
- 四十一、Sentence-T5 [2021]
- 四十二、ULMFiT [2018]
- 四十三、Scaling Laws for Neural Language Models [2020]
- 四十四、Chinchilla [2022]
- 四十七、GLM-130B [2022]
- 四十八、GPT-NeoX-20B [2022]
- 四十九、Bloom [2022]
- 五十、PaLM [2022] (粗读)
- 五十一、PaLM2 [2023](粗读)
- 五十二、Self-Instruct [2022]
- 句子向量
- 词向量
- 传统CTR 预估模型
- CTR 预估模型
- 一、DSSM [2013]
- 二、FNN [2016]
- 三、PNN [2016]
- 四、DeepCrossing [2016]
- 五、Wide 和 Deep [2016]
- 六、DCN [2017]
- 七、DeepFM [2017]
- 八、NFM [2017]
- 九、AFM [2017]
- 十、xDeepFM [2018]
- 十一、ESMM [2018]
- 十二、DIN [2017]
- 十三、DIEN [2019]
- 十四、DSIN [2019]
- 十五、DICM [2017]
- 十六、DeepMCP [2019]
- 十七、MIMN [2019]
- 十八、DMR [2020]
- 十九、MiNet [2020]
- 二十、DSTN [2019]
- 二十一、BST [2019]
- 二十二、SIM [2020]
- 二十三、ESM2 [2019]
- 二十四、MV-DNN [2015]
- 二十五、CAN [2020]
- 二十六、AutoInt [2018]
- 二十七、Fi-GNN [2019]
- 二十八、FwFM [2018]
- 二十九、FM2 [2021]
- 三十、FiBiNET [2019]
- 三十一、AutoFIS [2020]
- 三十三、AFN [2020]
- 三十四、FGCNN [2019]
- 三十五、AutoCross [2019]
- 三十六、InterHAt [2020]
- 三十七、xDeepInt [2023]
- 三十九、AutoDis [2021]
- 四十、MDE [2020]
- 四十一、NIS [2020]
- 四十二、AutoEmb [2020]
- 四十三、AutoDim [2021]
- 四十四、PEP [2021]
- 四十五、DeepLight [2021]
- 图的表达
- 一、DeepWalk [2014]
- 二、LINE [2015]
- 三、GraRep [2015]
- 四、TADW [2015]
- 五、DNGR [2016]
- 六、Node2Vec [2016]
- 七、WALKLETS [2016]
- 八、SDNE [2016]
- 九、CANE [2017]
- 十、EOE [2017]
- 十一、metapath2vec [2017]
- 十二、GraphGAN [2018]
- 十三、struc2vec [2017]
- 十四、GraphWave [2018]
- 十五、NetMF [2017]
- 十六、NetSMF [2019]
- 十七、PTE [2015]
- 十八、HNE [2015]
- 十九、AANE [2017]
- 二十、LANE [2017]
- 二十一、MVE [2017]
- 二十二、PMNE [2017]
- 二十三、ANRL [2018]
- 二十四、DANE [2018]
- 二十五、HERec [2018]
- 二十六、GATNE [2019]
- 二十七、MNE [2018]
- 二十八、MVN2VEC [2018]
- 二十九、SNE [2018]
- 三十、ProNE [2019]
- Graph Embedding 综述
- 图神经网络
- 一、GNN [2009]
- 二、Spectral Networks 和 Deep Locally Connected Networks [2013]
- 三、Fast Localized Spectral Filtering On Graph [2016]
- 四、GCN [2016]
- 五、神经图指纹 [2015]
- 六、GGS-NN [2016]
- 七、PATCHY-SAN [2016]
- 八、GraphSAGE [2017]
- 九、GAT [2017]
- 十、R-GCN [2017]
- 十一、 AGCN [2018]
- 十二、FastGCN [2018]
- 十三、PinSage [2018]
- 十四、GCMC [2017]
- 十五、JK-Net [2018]
- 十六、PPNP [2018]
- 十七、VRGCN [2017]
- 十八、ClusterGCN [2019]
- 十九、LDS-GNN [2019]
- 二十、DIAL-GNN [2019]
- 二十一、HAN [2019]
- 二十二、HetGNN [2019]
- 二十三、HGT [2020]
- 二十四、GPT-GNN [2020]
- 二十五、Geom-GCN [2020]
- 二十六、Graph Network [2018]
- 二十七、GIN [2019]
- 二十八、MPNN [2017]
- 二十九、UniMP [2020]
- 三十、Correct and Smooth [2020]
- 三十一、LGCN [2018]
- 三十二、DGCNN [2018]
- 三十三、AS-GCN
- 三十四、DGI [2018]
- 三十五、DIFFPOLL [2018]
- 三十六、DCNN [2016]
- 三十七、IN [2016]
- 图神经网络 2
- 图神经网络 3
- 推荐算法(传统方法)
- 一、Tapestry [1992]
- 二、GroupLens [1994]
- 三、ItemBased CF [2001]
- 四、Amazon I-2-I CF [2003]
- 五、Slope One Rating-Based CF [2005]
- 六、Bipartite Network Projection [2007]
- 七、Implicit Feedback CF [2008]
- 八、PMF [2008]
- 九、SVD++ [2008]
- 十、MMMF 扩展 [2008]
- 十一、OCCF [2008]
- 十二、BPR [2009]
- 十三、MF for RS [2009]
- 十四、 Netflix BellKor Solution [2009]
- 推荐算法(神经网络方法 1)
- 一、MIND [2019](用于召回)
- 二、DNN For YouTube [2016]
- 三、Recommending What Video to Watch Next [2019]
- 四、ESAM [2020]
- 五、Facebook Embedding Based Retrieval [2020](用于检索)
- 六、Airbnb Search Ranking [2018]
- 七、MOBIUS [2019](用于召回)
- 八、TDM [2018](用于检索)
- 九、DR [2020](用于检索)
- 十、JTM [2019](用于检索)
- 十一、Pinterest Recommender System [2017]
- 十二、DLRM [2019]
- 十三、Applying Deep Learning To Airbnb Search [2018]
- 十四、Improving Deep Learning For Airbnb Search [2020]
- 十五、HOP-Rec [2018]
- 十六、NCF [2017]
- 十七、NGCF [2019]
- 十八、LightGCN [2020]
- 十九、Sampling-Bias-Corrected Neural Modeling [2019](检索)
- 二十、EGES [2018](Matching 阶段)
- 二十一、SDM [2019](Matching 阶段)
- 二十二、COLD [2020 ] (Pre-Ranking 模型)
- 二十三、ComiRec [2020](https://www.wenjiangs.com/doc/0b4e1736-ac78)
- 二十四、EdgeRec [2020]
- 二十五、DPSR [2020](检索)
- 二十六、PDN [2021](mathcing)
- 二十七、时空周期兴趣学习网络ST-PIL [2021]
- 推荐算法之序列推荐
- 一、FPMC [2010]
- 二、GRU4Rec [2015]
- 三、HRM [2015]
- 四、DREAM [2016]
- 五、Improved GRU4Rec [2016]
- 六、NARM [2017]
- 七、HRNN [2017]
- 八、RRN [2017]
- 九、Caser [2018]
- 十、p-RNN [2016]
- 十一、GRU4Rec Top-k Gains [2018]
- 十二、SASRec [2018]
- 十三、RUM [2018]
- 十四、SHAN [2018]
- 十五、Phased LSTM [2016]
- 十六、Time-LSTM [2017]
- 十七、STAMP [2018]
- 十八、Latent Cross [2018]
- 十九、CSRM [2019]
- 二十、SR-GNN [2019]
- 二十一、GC-SAN [2019]
- 二十二、BERT4Rec [2019]
- 二十三、MCPRN [2019]
- 二十四、RepeatNet [2019]
- 二十五、LINet(2019)
- 二十六、NextItNet [2019]
- 二十七、GCE-GNN [2020]
- 二十八、LESSR [2020]
- 二十九、HyperRec [2020]
- 三十、DHCN [2021]
- 三十一、TiSASRec [2020]
- 推荐算法(综述)
- 多任务学习
- 系统架构
- 实践方法论
- 深度强化学习 1
- 自动代码生成
工具
- CRF
- lightgbm
- xgboost
- scikit-learn
- spark
- numpy
- matplotlib
- pandas
- huggingface_transformer
- 一、Tokenizer
- 二、Datasets
- 三、Model
- 四、Trainer
- 五、Evaluator
- 六、Pipeline
- 七、Accelerate
- 八、Autoclass
- 九、应用
- 十、Gradio
Scala
- 环境搭建
- 基础知识
- 函数
- 类
- 样例类和模式匹配
- 测试和注解
- 集合 collection(一)
- 集合collection(二)
- 集成 Java
- 并发
二十五、HERec [2018]
近年来,帮助用户从大量资源中发现感兴趣
item
的推荐系统,已经在各种在线服务中发挥着越来越重要的作用。传统的推荐方法(如矩阵分解)主要旨在学习一个有效的预测函数来刻画user-item
交互记录(即,user-item
评分矩阵)。随着web
服务的快速发展,各种辅助数据(即,辅助信息side information
)在推荐系统中变得可用。尽管辅助数据可能包含对推荐有用的信息,但在推荐系统中很难建模和利用这些异质的、复杂的信息。此外,开发一种相对通用的方法来对不同系统或平台中的这些不同的数据进行建模更具挑战性。作为一个有前途的方向,人们提出了异质信息网络
heterogeneous information network: HIN
来作为一种强大的信息建模方法。异质信息网络由多种类型的节点和链接组成,并在建模数据异质性方面具有灵活性,因此已在推荐系统中用于刻画丰富的辅助数据。如下图所示,我们展示了一个以HIN
刻画的电影推荐的例子。我们可以看到:HIN
包含由不同类型的关系链接的多种类型的实体。在HIN-based
的representation
下,推荐问题可被认为是HIN
上的相似性搜索similarity search
任务。这种推荐setting
称为HIN-based
的推荐,并在文献中受到了广泛关注。大多数现有的HIN-based
推荐方法的基本思想是:利用path-based
的、user-item
之间的语义相关性semantic relatedness
(如metapath-based
相似性)而不是HIN
,从而进行推荐。path-based
相似性无法充分挖掘用户和item
的潜在结构特征。尽管
HIN-based
方法在一定程度上实现了性能提升,但这些使用metapath-based
相似性的方法存在两个主要问题。首先,
metapath-based
相似性依赖于显式的路径可达path reachability
,当路径稀疏或存在噪音时,推荐可能不可靠。HIN
中的某些链接很可能是偶然形成的,它们没有表达有意义的语义。其次,
metapath-based
相似性主要刻画在HIN
上定义的语义关系,可能无法直接应用于推荐系统。在某些情况下,派生的path-based
相似性可能对推荐系统没有显式的影响。现有方法主要学习线性加权机制来结合path-based
相似性或潜在因子,无法学习HIN
信息的、复杂的映射机制mapping mechanism
进行推荐。metapath-based
相似性,不一定意味着推荐有效性,即二者之间存在gap
。
这两个问题本质上反映了
HIN-based
推荐的两个基本问题,即HIN-based
有效信息的提取extraction
和利用exploitation
。对于第一个问题,由于数据的异质性,开发一种方法来有效提取和表达
HIN
的有用信息具有挑战性。与以前使用metapath-based
相似性的研究不同,论文《Heterogeneous Information Network Embedding for Recommendation》
的思想是:学习有效的异质网络representation
,从而表达HIN
重要的结构特征和属性。遵循DeepWalk
和node2vec
,论文用低维向量(即embedding
)来刻画HIN
中的节点。论文不想依赖显式的路径链接,而是希望使用潜在向量来编码HIN
中的有用信息。与metapath-based
相似性相比,学到的embedding
具有更紧凑的形式,更易于使用和集成。此外,network embedding
方法本身更能抵抗稀疏的、噪音的数据。然而,现有的大多数network embedding
方法侧重于仅由单个类型的节点和链接组成的同质网络homogeneous network
,无法直接处理由多种类型的节点和链接组成的异质网络heterogeneous network
。因此,论文提出了一种新的异质网络embedding
方法。考虑到metapath
所反映的异质特性以及丰富的语义,所提出的方法首先使用由metapath
派生的随机游走策略来生成节点序列。对于每个metapath
,论文通过最大化根据给定metapath
采样的节点序列中相邻节点的共现概率co-occurrence probability
来学习节点的unique embedding representation
。论文融合了节点关于不同metapath
的多个embedding
,从而作为HIN embedding
的输出。在从
HIN
获得embedding
之后,论文研究如何从推荐系统中集成和利用这些信息。论文并未假设学到的embedding
自然地适用于推荐系统。相反,论文提出并探索了三种融合函数fusion function
,从而将一个节点的多个embedding
集成到单个representation
中来进行推荐。这三种融合函数包括:简单的线性融合、个性化的线性融合、个性化的非线性融合。这些融合函数提供了灵活的方法将HIN embedding
变换为有用的推荐信息。特别地,论文强调个性化和非线性是该论文setting
中信息变换information transformation
需要考虑的两个关键点。最后,论文通过集成了fused HIN embedding
来扩展经典的矩阵分解框架。预测模型prediction model
和融合函数fusion function
针对评分预测rating prediction
任务而联合地优化。通过将上述两部分集成在一起,论文提出了一种新颖的、
HIN embedding based
的推荐方法,称作HERec
。HERec
首先使用所提出的HIN embedding
方法提取有用的、HIN-based
的信息,然后使用所提取的信息利用扩展的矩阵分解模型进行推荐。下图展示了所提出方法的总体说明。对三个真实世界数据集的广泛实验证明了所提出方法的有效性。论文还验证了HERec
缓解冷启动问题的能力,并检查了metapath
对性能的影响。总而言之,论文的主要贡献如下:
- 论文提出了一种由
metapath
派生的异质网络embedding
方法,从而揭示异质信息网络的语义信息和结构信息。此外,论文提出了一种通用的embedding
融合方法,用于将基于不同metapath
的不同embedding
集成为单个representation
。 - 论文提出了一种新颖的异质信息网络
embedding
推荐模型,称作HERec
。HERec
可以有效地集成HIN
中的各种embedding
信息,从而提高推荐性能。此外,论文设计了一组三个灵活的融合函数fusioin function
,从而有效地将HIN embedding
变换为有用的推荐信息。 - 对三个真实世界的数据集的广泛实验验证了所提出模型的有效性。此外,论文还展示了所提出的模型对冷启动预测问题的能力,并揭示了来自
HIN
的、变换后的embedding
信息可以提高推荐性能。
相关工作:在这里,我们将从推荐系统、异质信息网络、
network embedding
三个方面回顾相关的工作。推荐系统:在推荐系统的文献中,早期的工作主要采用协同过滤
collaborative filtering: CF
方法来利用历史交互进行推荐。具体而言,矩阵分解matrix factorization: MF
方法在许多application
中展示了它的效果和效率。MF
将user-item
评分矩阵分解为两个低秩的user-specific
矩阵和item-specific
矩阵,然后利用分解后的矩阵做进一步的预测。由于
CF
方法通常存在冷启动问题,许多工作尝试利用额外的信息来提高推荐性能。例如:《Recommender systems with social regularization》
将社交关系集成到矩阵分解中用于推荐。《Ratings meet reviews, a combined approach to recommend》
同时考虑了评分信息和评论信息,并提出了一个统一的模型来结合conten-based
过滤和协同过滤,从而用于评分预测任务。《Exploiting geographical influence for collaborative point-of-interest recommendation》
将用户偏好、社交影响力、地理影响力纳入推荐,并提出了统一的POI
推荐框架。- 最近,
《Low-rank linear cold-start recommendation from social data》
解释了三种流行的冷启动模型的缺点,并进一步提出了一种learning-based
方法来解决冷启动问题,从而通过随机SVD
来利用社交数据。
许多工作开始利用深度模型(例如卷积神经网络、自编码器)来利用文本信息、图像信息、以及网络结构信息来获得更好的推荐。此外,还有一些典型的框架聚焦于结合辅助信息进行推荐。
《Svdfeature: a toolkit for feature-based collaborative filtering》
提出了一个典型的SVDFeature
框架来有效地解决feature-based
矩阵分解。《Factorization machines》
提出了因子分解机factorization machine: FM
,这是一种结合特征工程通用性generality
的通用方法。
异质信息网络:作为一个新兴方向,异质信息网络可以自然地对推荐系统中的复杂对象及其丰富的关系进行建模,其中对象具有不同的类型、对象之间的链接代表不同的关系。人们已经提出了几种
path-based
相似性度量来评估异质信息网络中对象的相似性。因此,一些研究人员开始意识到HIN-based
推荐的重要性。《Incorporating heterogeneous information for personalized tag recommendation in social tagging systems》
提出了OptRank
方法,该方法通过利用社交标签系统social tagging system
中包含的异质信息来缓解冷启动问题。此外,人们将
metapath
的概念引入混合推荐系统hybrid recommender system
。《Collaborative filtering with entity similarity regularization in heterogeneous information networks》
利用metapath-based
相似性作为矩阵分解框架中的正则化项。《Personalized entity recommendation: A heterogeneous information network approach》
利用异质信息网络中不同类型的实体关系,提出了一种用于隐式反馈数据集的个性化推荐框架。《Hete-cf: Social-based collaborative filtering recommendation using heterogeneous relations》
提出了一种使用异质关系的、基于协同过滤的社交推荐方法。- 最近,
《Semantic path based personalized recommendation on weighted heterogeneous information networks》
提出了加权异质信息网络的概念,设计了一种metapath-based
的协同过滤模型,灵活地集成异质信息从而进行个性化推荐。 - 在
《Integrating heterogeneous information via flexible regularization framework for recommendation》
、《Recommendation in heterogeneous information network via dual similarity regularization》
、《Dual similarity regularization for recommendation》
中,用户相似性和item
相似性都通过不同语义metapath
下的、path-based
相似性度量来评估,并提出了一种基于对偶正则化框架dual regularization framework
的矩阵分解来进行评分预测。
大多数
HIN-based
方法依赖于path-based
相似性,这可能无法充分挖掘HIN
上的用户潜在特征和item
潜在特征从而进行推荐。network embedding
:另一方面,network embedding
在结构特征提取方面显示出它的潜力,并已成功应用于许多数据挖掘任务,如分类、聚类、推荐。Deepwalk
结合了截断的随机游走和SkipGram
来学习network representation
。Node2Vec
是一种基于有偏biased
的随机游走过程的、更灵活的network embedding
框架。- 此外,
LINE
和SDNE
刻画了二阶邻近性以及邻域关系。 GraRep
模型可以捕获高阶邻近性用于学习network representation
。
除了仅从网络拓扑结构中学习
network embedding
之外,还有许多其他工作利用节点内容信息、以及其它可用的图信息graph information
来学习鲁棒的representation
。不幸的是,大多数network embedding
方法都聚焦于同质网络,因此它们无法直接应用于异质网络。最近,一些工作试图通过
embedding
方法分析异质网络。具体而言:《Heterogeneous network embedding via deep architectures》
设计了一个深度embedding
模型来捕获网络中异质数据之间的复杂交互。《Embedding of embedding (eoe): Joint embedding for coupled heterogeneous networks》
提出了一种EOE
方法来编码耦合异质网络的intra-network edges
和inter-network edges
。《metapath2vec: Scalable representation learning for heterogeneous networks》
通过metapath
定义节点的邻域,并通过带负采样的SkipGram
来学习异质embedding
。
尽管这些方法可以学习各种异质网络中的
network embedding
,但它们的node representation
和edge representation
对于推荐而言可能不是最优的。因为这些
representation
是基于无监督学到的,没有推荐任务的监督信息。
据我们所知,这是首次尝试采用
network embedding
方法从异质信息网络中提取有用信息,并利用这些信息进行评分预测。该方法利用HIN
的灵活性对复杂的异质上下文信息进行建模,同时借用network embedding
的能力来学习有效的信息representation
。最终的评分预测组件进一步集成了变换机制transformation mechanism
,从而利用来自network embedding
所学到的信息。
25.1 模型
25.1.1 基本概念
异质信息网络
heterogeneous information network: HIN
定义:一个异质信息网络记作 $ \mathcal G=(\mathcal V,\mathcal E) $ ,其中节点集合 $ \mathcal V=\{v_1,\cdots,v_n\} $ ,边集合 $ \mathcal E=\{e_{i,j}\} $ 。每个节点关联一个节点类型
$ \phi:\mathcal V\rightarrow \mathcal A $ ,每条边也关联一个边类型 $ \psi:\mathcal E \rightarrow \mathcal R $ ,其中节点类型和边类型满足: $ |\mathcal A| + |\mathcal R| \gt 2 $ 。异质信息网络的复杂性驱使我们提供
meta level
的描述(如schema-level
),以便更好地了解网络中节点类型和链接类型。因此,我们提出了网络模式network schema
的概念,从而描述网络的meta
结构。网络模式
network schema
的定义: 定义网络模式为 $ \mathcal S = (\mathcal A,\mathcal R) $ ,它是针对网络 $ \mathcal G $ 的、具有节点类型映射 $ \phi $ 和链接类型映射 $ \psi $ 的meta
模板。 $ \mathcal S $ 是在节点类型 $ \mathcal A $ 上定义的有向图,边由 $ \mathcal R $ 定义。如电影推荐的案例中:我们有多种类型的节点,包括用户
U
、电影M
、导演D
,因此 $ \mathcal A = \{\text{U},\text{M},\text{D}\} $ 。我们有多种类型的关系,包括用户好友关系(U-U
)、用户对电影评分关系U-M
、导演和电影的拍摄关系(D-M
),因此 $ \mathcal R=\{\text{U-U},\text{U-M} ,\text{D-M}\} $ 。因此可以通过 $ \mathcal A,\mathcal R $ 定义一个有向图 $ \mathcal S $ , $ \mathcal S $ 中的节点表示 $ \mathcal G $ 的节点类型、 $ \mathcal S $ 中的边表示 $ \mathcal G $ 的链接类型。网络模式
$ \mathcal S $ 可以类比于图 $ \mathcal G $ ,其中 $ \mathcal A $ 对应于 $ \mathcal V $ 、 $ \mathcal R $ 对应于 $ \mathcal E $ 。如下图所示,这是我们实验的三个数据集对应的网络模式。由于我们的任务重点关注用户和
item
,因此用户和item
类型用大的圆圈表示,其它类型用小圆圈表示。在
HIN
中,两个节点可以通过不同的语义路径semantic path
来链接,称作元路径metapath
。metapath
是定义在网络模式 $ \mathcal S = (\mathcal A,\mathcal R) $ 上的一条路径。元路径
metapath
定义:定义metapath
$ \rho $ 为:简称
$ \rho = A_1A_2\cdots A_{l+1} $ ,它描述了一组类型为 $ A_1, A_2,\cdots,A_{l+1} $ 的节点之间根据类型为 $ R=R_1\circ R_1\circ\cdots \circ R_l $ 的关系组成的路径。其中:
$ l $ 为meta-path
$ \rho $ 的长度; $ A_i\in \mathcal A $ 为节点类型; $ \mathcal R_i\in \mathcal R $ 为关系类型。以电影推荐为例,两个节点之间可以通过多种
metapath
相连,如:U-U
、U-M-U
、U-M-D-M-U
。不同的metapath
通常表示不同的语义。如:U-U
:表示用户之间的好友关系。U-M-U
:表示两个用户看过同一部电影。U-M-D-M-D
:表示两个用户看过同一个导演的不同电影。
下表给出了实验中使用的
metapath
信息。最近,
HIN
已经成为建模各种复杂交互系统的主流方法。特别地,它已被用于描述复杂的、异质的推荐setting
的推荐系统中。HIN based
推荐的定义:在推荐系统中,各种类型的信息可以通过HIN
$ \mathcal G=(\mathcal V,\mathcal E) $ 来建模。在面向推荐的HIN
中,我们仅关注两类节点(User
节点、Item
节点),以及它们之间的关系(即评分)。定义用户节点集合为 $ \mathcal U\sub \mathcal V $ ,item
节点集合为 $ \mathcal I\sub \mathcal V $ 。定义三元组 $ $ 表示评分关系,它表示用户 $ u $ 对item
$ i $ 的评分为 $ r_{u,i} $ 。定义集合 $ \mathcal O = \{\} $ 为所有观察到的评分关系,则有 $ \mathcal O\sub \mathcal E $ 。HIN
推荐的目标是:给定HIN
$ \mathcal G=(\mathcal V,\mathcal E) $ ,预估用户 $ u $ 在未评分item
$ i^\prime $ 上的评分 $ r_{u,i^\prime} $ 。目前在
HIN based
推荐上已有一些工作,但是它们大多数主要利用metapath-based
相似性来增强推荐能力。我们提出一种新的HIN-based
推荐方法HERec
,该方法能够有效地利用HIN
的信息。HERec
主要分为两个部分:- 一种新的
HIN embedding
方法,从而从HIN
中学习user embedding
和item embedding
。 - 一组灵活的融合函数
fusion function
,从而将学到的embedding
集成到经典的矩阵分解框架中。
整体框架如下图所示:首先构建
HIN
(图(a)
),然后是HIN embedding
(图(b)
) 和Recomendation
(图(c)
)。- 一种新的
25.1.2 HIN embedding
受
network embedding
最新进展的启发,我们采用representation learning
方法来提取和表达HIN
的有用信息从而进行推荐。给定HIN
$ \mathcal G=(\mathcal V,\mathcal E) $ ,我们的目标是为每个节点 $ v\in \mathcal V $ 学习一个低维的representation
$ \mathbf{\vec e}_v\in \mathbb R^d $ ,其中 $ d\ll |\mathcal V| $ 。这个低维emebdding
向量高度概括了节点 $ v $ 的信息。和metapath-based
相似性相比,学到的embedding
更容易在后续过程中使用和集成。然而,现有的大多数
network embedding
方法主要集中在同质图上,因此无法有效针对异质图进行建模。例如,开创性的工作deepwalk
使用随机游走来生成节点序列,它无法区分不同类型的节点和边。因此,需要一种更通用的方式来遍历HIN
并生成有意义的节点序列。metapath-based
随机游走:要生成有意义的节点序列,关键是设计一种有效的游走策略,该策略能够捕获HIN
中反映的复杂语义。在HIN
的文献中,metapath
是刻画HIN
语义模式semantic pattern
的重要概念。因此,我们建议使用metapath-based
的随机游走方法来生成节点序列,然后利用SkipGram
模型从节点序列中学到节点的embedding
。给定异质网络
$ \mathcal G=(\mathcal V,\mathcal E) $ 以及一个meta path
$ \rho = A_1\stackrel{R_1}{\longrightarrow}A_2\stackrel{R_2}{\longrightarrow}\cdots \stackrel{R_l}{\longrightarrow} A_{l+1} $ ,我们通过以下分布来生成随机游走序列:其中:
$ n_t $ 为随机游走序列中第 $ t $ 步的节点, $ v $ 的类型为 $ A_t $ , $ \mathcal N_v^{A_{t+1}} $ 为节点 $ v $ 相邻的类型为 $ A_{t+1} $ 的直接邻域节点集合。随机游走序列将遵循
metapath
$ \rho $ 的模式重复生成新的序列节点,直到序列达到预期的长度。以电影推荐为例:
给定一个
metapath
UVM
,从Tom
开始我们可以生成两条随机游走序列:xxxxxxxxxx
Tom(User) --> The Terminator(Movie) --> Mary(User) Tom(User) --> Avater(Movie) --> bob(User) --> The Terminator(Movie) --> Mary(User)给定一个
metapath
UMDMU
,从Tom
开始我们能够生成另外一条随机游走序列:xxxxxxxxxx
Tom(User) --> The Terminator(Movie) --> Cameron(Director) --> Avater(Movie) --> Mary(User)
可以直观看到这些
metapath
生成的随机游走序列对应了不同的语义关系semantic relation
。类型约束和过滤:我们的目标是提升推荐性能,因此重点是学习
user embedding
和item embedding
,其它类型节点(如Director
)的embedding
我们不太感兴趣。因此,我们仅选择从user
类型节点或item
类型节点开始的metapath
。注意,这里进行的 ”开始节点“ 的过滤,仅保留 ”开始节点“ 类型为
user
或item
的序列。使用上述方法生成了随机游走序列之后,序列中可能包含不同类型的节点。我们进一步删除了序列中和起始节点类型不同的其它节点,最终得到的随机游走序列仅包含和起始类型相同的节点。
这时,随机游走序列要么都是
user
节点、要么都是item
节点。这种对随机游走序列的节点进行类型过滤有两个好处:
- 尽管随机游走序列是通过具有异质类型的
metapath
构建的,但是最终的representation
是在同质的邻域中学习的。同质邻域学习使得我们将相同类型的节点嵌入到相同的空间中。相对而言,将不同类型的节点嵌入到相同的空间的难度更大。 - 当窗口的长度固定时,类型过滤后的序列中,一个节点可以利用到更多的同质邻居。这些同质邻居可能比其它类型的异质邻居相关性更大。
如下图所示,为学习
user embedding
和item embedding
,我们仅考虑起始类型为用户类型或者item
类型的metapath
。我们可以衍生出一些metapath
,如UMU, UMDMU,MUM
等。以metapath
UMU
为例,我们可以根据概率 $ p(n_{t+1} = x\mid n_t = v,\rho) $ 生成一个随机游走序列:一旦序列被生成,我们进一步删除与起始节点类型不同的其它节点,这样的到了一个同质的节点序列:
在这条同质节点序列中,节点之间的关系实际上是通过异质邻居节点(被删除的)构建的。
- 尽管随机游走序列是通过具有异质类型的
优化目标:现在我们聚焦于如何学习同质节点序列的
node embedding
。给定过滤后的随机游走同质节点序列,对于每个节点 $ u $ ,我们以固定长度窗口中的共现来构造节点 $ u $ 的邻域集合 $ \mathcal N_u $ 。和node2vec
一致,我们最大化以下目标函数:其中:
$ f:\mathcal V\rightarrow \mathbb R^d $ 为一个映射函数(也是我们需要学习的目标),从而将每个节点映射到低维向量空间。 $ \mathcal N_u\sub \mathcal V $ 为节点 $ u $ 在指定metapath
下随机游走序列的同质邻域。
我们采用随机梯度下降
SGD
来优化目标函数,从而学到embedding
映射函数 $ f(\cdot) $ 。我们的方法和已有方法的主要区别在于邻域 $ \mathcal N_u $ 的构造。我们的方法使用metapath-based
的随机游走,并进行节点过滤来选择同质的邻居。这里是无监督的、同质的一阶邻近性保持。
单个
metapath
的节点embedding
算法:输入:
HIN
$ \mathcal G=(\mathcal V,\mathcal E) $metapath
$ \rho = A_1\stackrel{R_1}{\longrightarrow}A_2\stackrel{R_2}{\longrightarrow}\cdots \stackrel{R_l}{\longrightarrow} A_{l+1} $- 目标节点类型
$ A^* $ embedding
维度 $ d $- 随机游走序列长度
$ l $ - 上下文窗口大小
$ w $ - 每个节点开始的随机游走序列数量
$ r $
输出:每个节点
$ v $ 在该metapath
下的embedding
$ \mathbf{\vec e}_v $算法步骤:
通过标准正态分布来随机初始化
$ \{\mathbf{\vec e}_v\}_{v=1}^n $ 。初始化随机游走路径集合为空:
$ \text{paths} = [] $ 。对于每个类型为
$ A^* $ 的节点 $ v $ ,开始迭代: $ \text{for } i = 1,2,\cdots r $ :- 初始化空路径:
$ \text{path } = [] $ 。 - 从节点
$ v $ 开始,根据概率 $ p(n_{t+1} = x\mid n_t = v,\rho) $ 执行随机游走。将游走序列中和 $ A^* $ 类型相同的节点加入到path
中。当path
中节点数量为 $ l $ 时,该随机游走序列结束。 - 将
path
添加到paths
中。
- 初始化空路径:
在
paths
上,基于参数 $ d $ 和 $ w $ 执行SkipGram
的embedding
学习算法。返回学到的节点
embedding
$ \{\mathbf{\vec e}_v\}_{v=1}^n $ 。
embedding
融合Embedding Fusion
:HIN embedding
提供了从HIN
抽取有效信息的通用方法。假设metapath
的集合为 $ \mathcal P = \{P_1,\cdots,P_K\} $ ,则每个metapath
都能学到HIN
的embedding
,其中 $ K $ 为metapath
的数量。换句话将,对于每个节点 $ v\in \mathcal V $ ,我们能够学到一组embedding
$ \left\{\mathbf{\vec e}_v^{(1)},\cdots,\mathbf{\vec e}_v^{(K)}\right\} $ 。因此我们需要一个融合方法,从而将节点在不同metapath
下学到的embedding
转化为更合适的形式,从而有助于提高推荐性能。已有的研究通常采用线性加权的方式来融合
HIN
中提取的信息,这可能无法获得对推荐任务有效的信息表示。因此我们建议采用更通用的函数 $ g(\cdot) $ (而不是线性函数),其目标是为用户和item
融合各metapath
下学到的node embedding
:其中
$ \mathbf{\vec e}_u^{(U)} $ 和 $ \mathbf{\vec e}_i^{(I)} $ 分别为用户 $ u $ 和item
$ i $ 的最终embedding
。当前阶段我们并未指定
$ g(\cdot) $ 的具体形式。我们认为应该根据具体任务来学习融合函数,因此我们将融合函数留待推荐模型中设计和优化。
25.1.3 矩阵分解扩展
前面我们研究了如何从
HIN
中提取和表达有效信息来进行推荐。通过HIN embedding
,我们能够获得用户embedding
$ \left\{\mathbf{\vec e}_u^{(U)}\right\}_{u\in \mathcal U} $ 和item embedding
$ \left\{\mathbf{\vec e}_i^{(I)}\right\}_{i\in \mathcal I} $ ,它们由待学习的融合函数 $ g(\cdot) $ 来得到。现在我们研究如何利用学到的embedding
进行推荐。评分预测器
Rating Predictor
:我们基于经典的矩阵分解MF
模型来构建predictor
。在MF
模型中,每个用户 $ u $ 关联一个潜在因子向量 $ \mathbf{\vec x}_u\in \mathbb R^D $ ,每个item
$ i $ 关联一个潜在因子向量 $ \mathbf{\vec y}_i\in \mathbb R^D $ ,其中 $ D $ 为潜在因子向量的维度。用户 $ u $ 对item
$ i $ 的评分预估为:由于我们已经获得了用户
$ u $ 和item
$ i $ 的embedding
,因此可以考虑将潜在因子向量和embedding
向量集成在一起。集成后的predictor
为:其中:
$ \mathbf{\vec e}_u^{(U)} $ 和 $ \mathbf{\vec e}_i^{(I)} $ 为用户 $ u $ 和item
$ i $ 的HIN embedding
向量。 $ \mathbf{\vec x}_u $ 和 $ \mathbf{\vec y}_i $ 为用户 $ u $ 和item
$ i $ 的潜在因子向量。 $ \vec \gamma_u^{(U)} $ 和 $ \vec \gamma_i^{(I)} $ 为用户 $ u $ 和item
$ i $ 的、和HIN embedding
配对的潜在因子向量。 $ \alpha,\beta $ 为超参数,用于平衡这三项之间的系数。
对于该公式,我们需要注意两点:
首先,
$ \mathbf{\vec e}_u^{(U)} $ 和 $ \mathbf{\vec e}_i^{(I)} $ 是融合函数 $ g(\cdot) $ 的输出。我们假设通过函数 $ g(\cdot) $ 融合后的embedding
适用于MF
。其次,我们并没有直接使用
$ \mathbf{\vec e}_u^{(U)} \cdot \mathbf{\vec e}_i^{(I)} $ 。回顾前文所述,HIN embedding
刻画的是相同类型节点之间的相关性。因此,我们使用一组新的潜在因子 $ \vec \gamma_u^{(U)} $ 和 $ \vec \gamma_i^{(I)} $ 。我们并没有假设 $ \mathbf{\vec e}_u^{(U)} $ 和 $ \mathbf{\vec e}_i^{(I)} $ 必须在同一个空间,这增加了模型的灵活性。这里很巧妙,它刻画了这样的事实:节点的相关性不同于推荐有效性。
这等价于:拼接
$ \mathbf{\vec e}_u^{(U)} $ 和 $ \mathbf{\vec e}_i^{(I)} $ ,并通过一个线性模型来得到它对于predictor
的贡献。
融合函数
Fusion Function
:前面我们假设融合函数 $ g(\cdot) $ 已经给出,现在我们研究融合函数 。融合函数 $ g(\cdot) $ 将HIN
学到的节点embedding
转化为对推荐系统有用的形式。这里我们仅讨论融合用户embedding
的情况,item embedding
融合也是类似的。我们建议使用三种类型的融合函数来融合
embedding
:简单的线性融合。我们假设每个用户对每个
metapath
都相同的偏好,因此我们为每个metapath
分配统一的权重(即均值)。此外,我们还将embedding
线性映射到目标空间:其中
$ \mathcal P $ 为metapath
集合, $ \mathbf M^{(k)}\in \mathbb R^{D\times d}, \mathbf{\vec b} ^{(k)}\in \mathbb R^D $ 为第 $ k $ 个metapath
的线性映射参数。个性化线性融合。简单的线性融合无法建模用户对
metapath
的个性化偏好,因此我们进一步为每个用户 $ u $ 分配了每个metapath
上的偏好 $ w_u^{(k)} $ 。在实际应用中,每个用户都有其个性化兴趣偏好是更合理的:其中
$ w_u^{(k)} $ 为用户 $ u $ 在第 $ k $ 个metapath
上的偏好权重。个性化非线性融合。线性融合在建模复杂数据关系时的表达能力有限,因此我们使用非线性函数来增强表达能力:
其中
$ \sigma(\cdot) $ 为线性函数。这里我们采用sigmoid
函数。尽管这里使用了两个非线性变换,也可以灵活地推广到多个非线性层,如多层感知机。
模型学习:我们将融合函数整合到矩阵分解框架中,联合学习融合函数和矩阵分解模型的参数。我们的目标函数为:
其中:
$ \hat r_{u,i} $ 为模型预估评分, $ r_{u,i} $ 为真实评分。 $ \Theta^{(U)},\Theta^{(I)} $ 为融合函数 $ g(\cdot) $ 分别针对用户融合的参数、item
融合的参数。 $ \lambda,\lambda_\gamma,\lambda_\Theta $ 分别为正则化系数。
我们采用随机梯度下降
SGD
来优化目标函数。这里一个难点是:梯度如何在矩阵分解模型、
HIN embedding
模型之间传播。论文给出的方案是两阶段模型:- 首先通过
HIN embedding
预训练,得到 $ \left\{\mathbf{\vec e}_u^{(k)}\right\}_{k=1}^{K} $ 和 $ \left\{\mathbf{\vec e}_i^{(k)}\right\}_{k=1}^{K} $ 。这时,HIN embedding
作为矩阵分解模型的输入特征。 - 然后通过随机梯度下降算法优化矩阵分解模型(包括融合函数)。
更好的做法是共同训练
HIN embedding
模型和矩阵分解模型,使得监督信息能够输入给HIN embedding
模型。此时,HIN embedding
模型捕获矩阵分解模型的残差,从而构成boosting
范式。HERec
训练算法:输入:
HIN
$ \mathcal G=(\mathcal V,\mathcal E) $- 用户的
metapath
集合 $ \mathcal P^{(U)} $ 和item
的metapath
集合 $ \mathcal P^{(I)} $ embedding
维度 $ d $- 潜在因子向量的维度
$ D $ - 随机游走序列长度
$ l $ - 上下文窗口大小
$ w $ - 每个节点开始的随机游走序列数量
$ r $ user-item
评分集合 $ \mathcal O $- 学习率
$ \eta $ - 超参数
$ \alpha,\beta $ - 正则化系数
$ \lambda,\lambda_\gamma,\lambda_\Theta $
输出:
- 用户的潜在因子
$ \{\mathbf{\vec x}_u\}_{u\in \mathcal U} $ ,item
的潜在因子 $ \{\mathbf{\vec y}_i\}_{i\in \mathcal I} $ - 和
HIN embedding
配对的潜在因子 $ \left\{\vec\gamma_u^{(U)}\right\}_{u\in \mathcal U},\left\{\vec\gamma_u^{(I)}\right\}_{i\in \mathcal I} $ - 融合函数的参数
$ \Theta^{(U)}, \Theta^{(I)} $
- 用户的潜在因子
算法步骤:
根据
HIN embedding
算法获取每个用户metapath
$ P_k^{(U)} \in \mathcal P^{(U)} $ 的embedding
,得到用户embedding
$ \left\{\mathbf{\vec e}_u^{(k)}\right\}_{u\in \mathcal U}^{k=1,\cdots,K} $ 。根据
HIN embedding
算法获取每个item metapath
$ P_k^{(I)} \in \mathcal P^{(I)} $ 的embedding
,得到item embedding
$ \left\{\mathbf{\vec e}_i^{(k)}\right\}_{i\in \mathcal I}^{k=1,\cdots,K} $ 。基于标准的正态分布来初始化参数
$ \{\mathbf{\vec x}_u\}_{u\in \mathcal U}, \{\mathbf{\vec y}_i\}_{i\in \mathcal I}, \left\{\vec\gamma_u^{(U)}\right\}_{u\in \mathcal U},\left\{\vec\gamma_i^{(I)}\right\}_{i\in \mathcal I} ,\Theta^{(U)}, \Theta^{(I)} $ 。迭代直到收敛,迭代步骤为:
- 随机从
$ \mathcal O $ 中选择一个三元组 $ $ 。 - 基于经典的矩阵分解模型来更新参数
$ \mathbf{\vec x}_u, \mathbf{\vec y}_i $ 。 - 对
$ k=1,2,\cdots,K $ ,计算梯度 $ \nabla_{\Theta_{u,k}^{(U)}} \mathcal L $ 并更新 $ \Theta_{u,k}^{(U)} $ 。 - 计算梯度
$ \nabla_{\vec\gamma_u^{(U)}} \mathcal L $ 并更新 $ \vec\gamma_u^{(U)} $ 。 - 对
$ k=1,2,\cdots,K $ ,计算梯度 $ \nabla_{\Theta_{i,k}^{(I)}} \mathcal L $ 并更新 $ \Theta_{i,k}^{(I)} $ 。 - 计算梯度
$ \nabla_{\vec\gamma_i^{(I)}} \mathcal L $ 并更新 $ \vec\gamma_i^{(I)} $ 。
- 随机从
返回
$ \{\mathbf{\vec x}_u\}_{u\in \mathcal U}, \{\mathbf{\vec y}_i\}_{i\in \mathcal I}, \left\{\vec\gamma_u^{(U)}\right\}_{u\in \mathcal U},\left\{\vec\gamma_i^{(I)}\right\}_{i\in \mathcal I} ,\Theta^{(U)}, \Theta^{(I)} $ 。
算法复杂度:
HERec
包含两个阶段:HIN embedding
阶段:这一阶段主要通过metapath based embedding
算法得到每个节点在不同metapath
下的embedding
。由于DeepWalk
的算法复杂度为 $ O(d\times |\mathcal V|) $ ,其中 $ d $ 为embedding
维度。因此每个metapath
下,学习user embedding
的算法复杂度为 $ O(d\times |\mathcal U|) $ ,学习item embedding
的算法复杂度为 $ O(d\times |\mathcal I|) $ 。则整个HIN embedding
阶段的算法复杂度为 $ O(K\times d\times (|\mathcal U| + |\mathcal I|)) $ 。值得注意的是:可以很容易地并行训练
HIN embedding
。我们将使用多线程模式来实现HIN embedding
,从而提高训练效率。矩阵分解
MF
阶段:这一阶段通过联合学习融合函数和矩阵分解模型,从而得到最终的node representation
。对于每个三元组
$ $ ,更新 $ \mathbf{\vec x}_u,\mathbf{\vec y}_i,\vec\gamma_u^{(D)},\vec\gamma_i^{(I)} $ 的算法复杂度为 $ O(D) $ ,其中 $ D $ 为潜在因子的维度。更新 $ \Theta_u^{(U)},\Theta_i^{(I)} $ 的算法复杂度为 $ O(K\times D\times d) $ 。在我们的方法中, $ K $ 通常都很小,而 $ d,D $ 都在几百维。因此HERec
对于的大型数据集的训练非常高效。另外,
SGD
随机梯度下降在实践中表现很好,在我们的数据集中具有很快的收敛速度。
25.2 实验
数据集:
- 豆瓣电影数据集
Douban Movie
:包含13367
名用户在12677
部电影上的1068278
个评分。电影评分从1
到5
分。此外,数据集还包含用户和电影的社交信息和属性信息。 - 豆瓣读书数据集
Douban Book
:包含13024
名用户在22347
本图书上的792026
个评分。书籍评分从1
到5
分。数据集也包含用户和书籍的社交信息和属性信息。 Yelp
数据集:包含16239
名用户在14282
个本地商家上的198397
个评分。评分从1
到5
分。数据集包含用户和商家的社交关系和属性信息。
这三个数据集的详细说明如下。可以看到这三个书籍除了属于不同的领域之外,它们的数据稀疏性也不同:
Yelp
数据集非常稀疏,Douban Movie
数据集相对稠密。我们也给出这三个数据集用到的
meta-path
集合:- 豆瓣电影数据集
评估指标:我们采用
mean absolute error: MAE
和root mean square error: RMSE
来评估推荐结果的质量。baseline
方法:PMF
:经典的概率矩阵分解模型,它将评分矩阵显式分解为两个低维矩阵。SoMF
:引入社交网络信息的矩阵分解模型。社交关系通过正则化引入并集成到基本的矩阵分解模型中。FM-HIN
:上下文感知的分解机模型,它能够利用各种辅助信息。在我们的实验中,我们抽取异质信息作为上下文特征,并将其集成到FM
中。HeteMF
:一种矩阵分解模型,它利用了HIN
上metapath-based
相似性。SemRec
: 一种加权HIN
上的协同过滤方法。它以相同的评分来连接用户和item
。它通过加权的metapath
以及加权的ensemble
方法灵活地集成异质信息。DSR
:一种具有双重相似度正则化的矩阵分解方法。该方法同时对用户和相似度较高的item
、用户和相似度较低的item
同时施加了约束。HERec-dw
:HERec
的一个变体,它采用了同质网络的DeepWalk
而忽略了HIN
中节点的异质性。HERec-mp
:HERec
的一个变体,它结合了metapath2vec ++
的HIN embedding
。这里它并没有执行随机游走序列的节点过滤,而是对包含异质节点的随机游走序列执行embedding
。HERec
:我们提出的HIN
推荐模型。在有效性实验中,我们采用个性化的非线性融合函数。
我们的
baseline
全面覆盖了现有的评分预测方法:PMF, SoMF
为经典的MF
预估方法;FM-HIN, HeteMF, SemRec, DSR
为基于HIN
的推荐,它们使用metapath-based
相似性,代表了state-of-the-art
的、基于的HIN
方法。我们提出的方法包含一个
HIN embedding
组件,它可以使用任何其它网络embedding
方法取代。因此这里比较了两个变体:HERec-dw
和HERec-mp
。配置:
所有
MF
模型的潜在因子维度为 $ D = 10 $ ,其它baseline
配置要么使用原始论文的最佳配置,要么使用10%
的验证集来择优。所有基于
HIN
的方法都需要指定metapath
。我们在下表中给出使用的metapath
。我们选择比较短的metapath
(最多4
个step
),因为长的metapath
可能会引入语义噪音。基于
HERec
的方法的配置为:embedding
维度 $ d=64 $ 、随机游走序列长度 $ l=40 $ 、超参数 $ \alpha = \beta = 1.0 $ 。
有效性实验:对每个数据集,我们将原始的评分数据拆分为训练集和测试集。
- 对于豆瓣电影和豆瓣读书数据集,我们选择训练集的拆分比例分别为
{80%, 60%, 40%, 20%}
。 - 对于
Yelp
数据集,考虑到数据集非常稀疏,因此我们选择训练集的拆分比例为{90%, 80%, 70%, 60%}
。
在每种拆分比例下,我们训练每个模型并报告各模型在测试集上评估结果。对每种拆分比例我们随机拆分
10
次并评估10
次,最终给出每个模型的评估均值。实验结果如下表所示。我们以PMF
的结果作为基准,给出了其它方法相对于PMF
的提升。结论:
所有
baseline
方法中,基于HIN
的方法(HeteMF,SemRec, FM-HIN, DSR
)的性能优于传统MF
方法(PMF,SoMF
)。这证明了异质信息的有效性。值得注意的是:
FM-HIN
模型在基于HIN
的三个baseline
中非常有效。一个直观解释是:在我们的数据集中,大多数原始特征是用户属性或item
属性,这些属性信息可能包含了有效信息来改善推荐性能。我们的
HERec
方法始终优于baseline
。和其它HIN based
方法相比,HERec
采取了更有效的方式来利用HIN
从而改进推荐系统。HERec
在训练数据稀疏时的效果更为突出。如,在豆瓣图书数据集上使用20%
的训练数据时,HERec
相对于PMF
的提升高达40%
。这些结果表明了所提出方法的有效性,尤其是在稀疏数据集中。从
HERec
的两个变体HERec-dw
和HERec-mp
可以看到:HERec-dw
的效果要差得多。HERec-dw
忽略数据的异质性,并将HIN
视为同质网络。这表明异质信息的重要性。HERec-mp
没有使用节点类型过滤,而是尝试使用异质序列将所有类型的节点都映射到相同的embedding
空间中。相比较而言,HERec
进行节点过滤,从而将同质节点映射到相同的embedding
空间。虽然
metapath2vec
更为通用,但是我们的方法在推荐任务中表现更好。我们的重点是学习user embedding
和item embedding
,而其它类型的对象仅用作构建同质邻域的桥梁。基于结果(HERec
优于HERec-mp
),我们认为执行task-specific HIN embedding
有利于提高推荐性能。
- 对于豆瓣电影和豆瓣读书数据集,我们选择训练集的拆分比例分别为
不同融合函数:
HERec
需要一种融合方法从而将节点的不同metapath
下的embedding
转换为合适的形式。这里我们讨论不同融合方法的效果。我们将线性融合函数的
HERec
变体称作HERec-sl
,将个性化线性融合函数的HERec
变体称作HERec-pl
, 将个性化非线性融合函数的HERec
变体称作HERec-pnl
。我们给出三个数据集上不同变体的性能比较,如下图所示。- 总体而言,这些变体的性能为:
HERec-pnl > HERec-pl > HERec-sl
。 - 这三个变体中,简单的线性融合函数表现最差,因为它忽略了个性化和非线性。事实上,用户确实可能对
metapath
有不同的偏好,因此应在metapath based
方法中予以考虑。因此个性化融合函数显然可以提高性能。 HERec-pnl
相对于HERec-pl
的提升相对不大。一个可能的原因是:个性化的组合参数提高了线性模型的容量。尽管如此,通过考虑个性化和非线性变换,HERec-pnl
仍然表现最好。
考虑到
HERec-pnl
效果最好,因此后续的实验都将采取HERec-pnl
。- 总体而言,这些变体的性能为:
冷启动问题:
HIN
有助于改善冷启动问题,因为虽然冷启动预测的评分记录较少,但是可以使用异质的上下文信息。我们以评分数量来衡量冷启动的严重程度。我们将测试集的用户根据他们的评分数量划分为三组:(0,5], (5,15], (15,30]
。可以看到,第一组的预测最为困难,因为他们的评分数量最少。这里我们仅选择
HIN based baseline
方法,包括SoMF,HeteMF,SemRec,DSR, FM-HIN
。我们报告了它们相对于PMF
的提升比例。- 总体而言,所有方法都优于
PMF
。
- 总体而言,所有方法都优于
HERec
在所有baseline
方法中表现最好,并且在冷启动问题最严重(评分最稀疏)的组别中提升更大。结果表明:基于
HIN
的信息可以有效提高推荐性能,并且HERec
利用HIN
信息的效果更好。
不同
metapath
:为分析metapath
数量对模型效果的影响,我们考虑不同的 $ \mathcal P $ 集合的效果。我们将这些metapath
依次添加到HERec
中,并检查模型性能变化。可以看到:
- 用户节点开始的
metapath
和item
节点开始的metapath
都有助于提升性能。 - 通常而言,随着更多
metapath
的加入,性能通常会得到提高。但是,更多的metapath
并不总是能够提升性能,而是略有波动。原因是某些metapath
可能包含噪音,或者与现有的metapath
存在信息冲突。 - 仅仅加入了几个
metapath
,模型很快就实现了相对较好的性能。这证明了之前的发现:少量的高质量metapath
就能带来较大性能改进。因此我们只需要选择少量的metapath
就可以有效控制模型的复杂度。
- 用户节点开始的
参数敏感性:
HERec
有几个关键的超参数。首先,对于基于矩阵分解的方法而言,最重要的超参数是潜在因子的维度
$ D $ 。我们将潜在因子维度 $ D $ 以步长为5
从5
增加到50
,然后检查模型性能和 $ D $ 的关系。可以看到:似乎使用 $ D=10 $ 就可以达到最佳性能。这表明潜在因子数量 $ D $ 应该设为一个较小的值。然后我们固定潜在因子数量
$ D=10 $ ,然后探索超参数 $ \alpha,\beta $ 。它们作为权重来融合precitor
中的不同信息。对 $ \alpha,\beta $ ,我们对其搜索的空间为 $ \{0.1,0.5,1,2\} $ 。可以看到:最佳参数在(1,1)
附近。这表明user HIN embedding
和item HIM embedding
都很重要。总体而言,模型性能随着
$ \alpha,\beta $ 的变化趋势是平稳的。这表明HERec
对这两个参数不是很敏感。最后我们研究性能随迭代次数的变化。可以看到
HERec
的收敛速度较快:对于稠密数据集(如豆瓣电影和豆瓣读书) 大约需要40
到60
次迭代;对于稀疏数据集(如Yelp
),大约需要20
次迭代。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论