Collaborative Deep Learning for Recommender Systems

本文思路整理如下:

 

一, Contribution

二, 实验

实际需求

训练数据

实验环境

2.1本文模型

模型训练

模型输出

2.2 实验结

Collaborative Deep Learning for Recommender Systems


目的:采用分层贝叶斯CDL构建模型,将深度学习SDAE和协同过滤结合起来,从而得以更精准推荐。

 

论文信息:香港理工大学王灏博士。

一,Contribution:

1)CDL可抽取content的深度特征,并捕获content或者user的相似度。这种学习方式不仅可以用于推荐,也可以用于别的地方。

2)学习目标不是简单的分类或者reconstruction,本文的目标是通过概率框架用CF做一个更复杂的目标。

3)用了最大后验估计(MAP)CDL贝叶斯法则的抽样,贝叶斯版本的反向传播。

4)用贝叶斯模型连接DLRS


二, 实验:


首先:考虑目前推荐系统算法现状:

当前推荐算法主要是基于内容(CB)、协同过滤(CF)、混合算法。基于内容的推荐依靠用户profile和item的描述做推荐;CF基于过去的的表现和行为推荐;混合方法应用比较广。

混合方法又分两种:松耦合方式、紧耦合方式。松耦合方式先处理辅助信息,然后,用它为CF提供特征。由于信息的流向是单向的,打分信息无法反馈回来去提取有用的特征。这种方式下,为了提升性能,通常依赖人工提取特征。紧耦合方式,两种方法相互影响,一方面,打分信息指导特征的提取,另一方面,提取出来的特征进一步促进CF的预测能力(例如,稀疏打分矩阵的矩阵因式分解)。两方面的相互影响,使得紧耦合方式可以从辅助信息中自动学习特征,并且能平衡打分信息和辅助信息的影响。这使得紧耦合方法比松耦合方法表现更好。

 

基于上面考虑,本论文讲述了一种多层贝叶斯模型(hierarchical Bayesian model)叫协同深度学习(CDL)。实际上CDL就是把CRT模型和深度学习模型SDAE集合起来,形成一个多层贝叶斯模型。作者用贝叶斯法则表征栈式自编码器(sdae),用深度学习的方式表示content informationrating matrix,使两者双向相互影响。

 

SDAECDL中用于学习特征,实际上更多的深度学习模型可以用进来,如Deep Boltzmann machines,RNN, CNN.

以下详细展开。


其次,本文实验数据集:citeulike Netix



实验环境:MATLAB。

 

2.1本文模型:

 

Collaborative Deep Learning for Recommender Systems

模型如矩阵Xc扮演是SDAE干净的输入,X0作为加入了噪声的输入矩阵,X1Xl表示sdae中间各层。SDAE的输出层是XlW+Wb表示权重和偏执。

 

左边的贝叶斯图的目的是通过内容生成V矩阵,用户信息生成u矩阵,然后通过vu生成user-item的关联打分矩阵R。这其实就是普通的推荐方法,只是这里,内容通过sdae自动提取特征,这些特征作用于v矩阵。具体推导过程如下:

 

(1) Sdae它的优化目标:

 

 Collaborative Deep Learning for Recommender Systems

 

2推广Bayesian SDAE,其中,干净输入Xc和噪声X0都是可观察的。

 Collaborative Deep Learning for Recommender Systems

 

Collaborative Deep Learning for Recommender Systems趋近于无穷大时,式(1)中的高斯分布变成Dirac delta分布中心点在Collaborative Deep Learning for Recommender Systems,其中,是sigmoid函数。模型会退化成一个SDAE高斯公式。因此,我们叫他推广Bayesian SDAE.

 

要注意的是前L/2 层网络扮演encoder,后L/2层网络扮演decoder。当权重延迟纳入考虑,最大后验概率等同于最小化重建误差。

 

(3)Bayesian SDAE作为成分,组成CDL的过程如下:

 Collaborative Deep Learning for Recommender Systems

Collaborative Deep Learning for Recommender Systems参数,Cij是置信度参数。中间层Collaborative Deep Learning for Recommender Systems充当ratingcontent的桥梁。带有主题偏执Collaborative Deep Learning for Recommender Systems的中间层是开启学习特征和捕获相似度的钥匙。如同推广SDAE中,这里也可以让Collaborative Deep Learning for Recommender Systems趋于无穷大。当Collaborative Deep Learning for Recommender Systems趋近于正无穷,CDL的网络就如上面的图1所示。


模型训练

 

 

关于模型训练参数:

大后验概率等同于Collaborative Deep Learning for Recommender Systems给出后对UVCollaborative Deep Learning for Recommender SystemsCollaborative Deep Learning for Recommender Systems做大对数似然估计:

 Collaborative Deep Learning for Recommender Systems

其中,encoder函数表示为Collaborative Deep Learning for Recommender Systems,以加入噪音的内容向量Collaborative Deep Learning for Recommender Systems为输入计算itemencoding,函数Collaborative Deep Learning for Recommender Systems也是以Collaborative Deep Learning for Recommender Systems为输入,计算encoding,然后重建item向量。如果网络有6层的话,Collaborative Deep Learning for Recommender Systems是第3层的输出,Collaborative Deep Learning for Recommender Systems是第6层的输出。

从优化来看,当公式(2)的第4项等于SDAE最小化重建误差时,第3项等同于一个以主题item向量Vj为目标的多层感知机。

 

Collaborative Deep Learning for Recommender Systems趋于正无穷大时

 Collaborative Deep Learning for Recommender Systems

Collaborative Deep Learning for Recommender Systems趋于正无穷大时,训练图1可以分裂成训练2个相似的神经网络,这两个网络有公共的输入,但输出不同。这样,网络可以演化成图所示的网络,第一个网络输出干净数据,第二个网络输出item的打分矩阵。

 Collaborative Deep Learning for Recommender Systems

更新规则:

For U and V, use block coordinate descent:

 Collaborative Deep Learning for Recommender Systems

UV给定,用反向传播方式学习每层的WbFor W and b, use a modified version of backpropagation:

 Collaborative Deep Learning for Recommender Systems

 

上述,U,VWb的更新交替进行。

 

比率Collaborative Deep Learning for Recommender Systems有两种极端,(1)当这个比率趋近于正无穷时,整个系统将退化成一个两步式的模型,在这个模型中SDAE学习到的主题表示会直接被放入CTR中。(2)当比率趋近于0时,SDAEdecoder部分将消失,整个系统变成图所示的图模型。

 

模型输出

评分预测如下:

 Collaborative Deep Learning for Recommender Systems

 

2.2 实验结果

评价指标:较高的召回率[email protected]map显示更好的推荐性能。

 

 Collaborative Deep Learning for Recommender Systems

 Collaborative Deep Learning for Recommender Systems

Collaborative Deep Learning for Recommender Systems 

(1)[email protected]

当数据比较稀疏时:

 Collaborative Deep Learning for Recommender Systems

Collaborative Deep Learning for Recommender Systems

 

当数据比较稠密时:

 Collaborative Deep Learning for Recommender Systems

Collaborative Deep Learning for Recommender Systems

 

(2)MAP

 

 Collaborative Deep Learning for Recommender Systems