首先进行数据集的分析,然后 介绍矩阵分解方法(MF)、基于概率的矩阵分解(PMF);
在此基础上介绍扩展方法:社交网络、隐语义模型、深度学习(CDL、CNN等);
最后介绍标签推荐方法。
以movieLens为例,介绍一下现有数据集所包含信息:
用户评分矩阵 R 分解成两个矩阵, R′=UTV , R′ 的维度为 N∗M
U={u1,u2,...,uk−1,uk} , U 维度是 k∗N ,用户特征矩阵
V={v1,v2,...,vk−1,vk} , V 维度是 k∗M ,项目特征矩阵
如图所示,矩阵分解是共享了一个向量空间,其中 ui 潜在向量如图,
计算平方损失:(只计算有评分的元素, I 指示是否有评分, Ii,j∈{0,1} )
然后利用凸优化方法,偏导为零,然后迭代即可;
注:因为上式的优化是针对于有评分数据进行的,容易过拟合,加上正则项(二范数):
扩展:不同用户对评分有不同的偏执;则
再扩展:加入置信度,时间序列等等;
参考论文:matrix factorizatiom technigues for recommender systems
假设参数服从正态分布:
参考文献:Probabilistic Matrix Factorization
矩阵分解方法是寻找用户、项目的矩阵,发现其潜在的特征,共享特征空间。
这种方法只是利用了评分矩阵矩阵信息,而且存在物品冷启动问题,通过引入物品文本特征,社交网络等信息,修正用户或项目向量,以期缓解冷启动问题。
这一节主要介绍在经典的矩阵分解模型上,融合更多信息来解决矩阵稀疏性问题。
社交的关联矩阵、物品的描述信息等;
方法是矩阵模型的正则扩展,或者深度学习;
4.1 隐语义模型(CTR=PMF+LDA)
从图(b)中,可以看出 I4,I5 没有用户记录偏好信息,所以矩阵分解之后会有很大的偏差;为此引入Item 信息,Item使用LDA(topic model)方法,然后进行融合。
LDA模型:
现在假定: ϵj∼N(0,λ−1VIK),则
根据CTR的概率模型图可知:
有了优化公式,按照坐标上升法进行优化;
首先假设 θ 固定,计算 U,V ;
然后固定 U,V ,优化 θ .
预测:对于问题提出的图(b),使用 θj 代替 vj .
参考论文:Collaborative Topic Modeling for Recommending Scientific Articles KDD 2011
4.2 社交网络
CTR-SR 引入社交网络信息,介绍两种融合方式。
两个矩阵分解(2012 ICML)
Item信息直接使用CTR模型;
引入Q矩阵,代表user-user之间是否有联系;
参考论文:
Collaborative Topic Regression with Social Matrix Factorization for Recommendation Systems
V 由S、 θ 两个高斯分布共同决定(2013 IJCAI)
标签推荐的挑战:如何高效得融入item-tag,Item内容信息,社交网络信息;
本文使用Item-tags矩阵,A是社交网络的邻接矩阵(连个Item之间的联系);S是潜在的社交矩阵,V是由双高斯分布POG模型(2006);
vj∼POG(θj,sj,λ−1vIK,λ−1rIK)
在此基础上,利用item-tags(类似与评分矩阵 ri,j∈0,1 ),item信息,item-item邻接矩阵;
参考论文:
Collaborative Topic Regression with Social Matrix Factorization for Recommendation Systems 2013
Relational Collaborative Topic Regression for Recommender Systems 2015
4.3 深度学习之CDL
回顾一下:CTR模型将Item信息很好融合到 vj 中,缓解矩阵稀疏带来的冷启动问题;CTR模型依赖与LDA,在此基础上人们开展了各种拓展和应用。随着深度网络的兴起,我们可以很轻松的将文本信息、图片信息、用户离散信息等多模态特征萃取出来;因此推荐系统也迎来一个又一个春天。
优秀的模型有CDL,ConvMF,deepConNN,UWCVM等;
CDL模型(2015 KDD)
(SDAE+PMF)
利用SDAE网络学习出 vj 的词向量;
ui,vj ,按照偏导为零计算得出;
wl,bl 计算梯度方向,按照梯度下降方法更新;
参考文献:
Collaborative Deep Learning for Recommender Systems (KDD 2015)
CDL模型优化(2017 ICLR)
ConvMF模型(2016 RecSys)
(CNN+PMF)
利用CNN网络学习出 vj 向量;
DeepCoNN模型(2017 WSDM)
(CNN+FM)
将用户评论信息分成两部分:user-review,item-review,构造两个平行的CNN网络,但是两个向量不是同一向量空间,因此利用FM技术,计算交叉特征,并构造目标函数;
通过优化J,获得 z ;
实验结果显示DeepCoNN模型推荐准确率高;
CNN网络考虑了词语顺序信息,而且可以利用word2vec、glove词向量作为预训练模型,更能够表达文本的特征信息;
参考文献:
Joint Deep Modeling of Users and Items Using Reviews for Recommendation(2017 WSDM)
Factorization Machines with libFM
UWCVM模型(2015 IJCAI)
本文基于评分预测场景(情感分类)
本文强调使用用户信息来修正文本的特征表示;每个用户使用相同个词,但是表达意思可能不一样;将文本特征做一层修正;词向量可以是提出将用户表示为一个转换矩阵,利用矩阵(用户)与向量(单词)的乘积来得到新的单词向量。然后,以这些修正后的单词向量作为输入,计算得到文档的向量表示。最后,使用 Softmax函数将文档向量映射到评分空间里。本文所提的模型结构如下图所示:
参考文献:
User Modeling with Neural Network for Review Rating Prediction (IJCAI2015)
UPNN模型(2015 ACL)
在(4)的基础上增加物品信息,并修正物品文本向量;主要是搜集物品相关的描述文本,并修正;
参考文献:Learning Semantic Representations of Users and Products for Document Level Sentiment Classification(ACL 2015)
RNN 引文推荐(2016 CIKM)
在引文推荐中,输入一个context,推荐系统返回一段至理名言(引文);
直接做法是:测量(q,c)之间的相关程度;现在我们学习出q的具体特征;
现在不同引文中(即使文本内容很相似,但来源于不同的作者,不同的主题,所以词语权重不一样,为此进行必要的修正)
如下图,输入一段至理名言 q ,我们将根据topic,author,常规的词向量进行修正,形成 Xq ,最后构造< Xq,Vc >进行监督训练。
参考文献: A Neural Network Approach to Quote Recommendation in Writings (CIKM 2016)
标签推荐中 利用tag信息,类别信息,构造了tag-label 二部图。
tag为label提供了证据,label也为tag提供了上下文环境。
参考文献:
CLARE A Joint Approach to Label Classification and Tag Recommendation(2017 AAAI)