Collaborative Deep Learning for Recommender Systems
本文思路整理如下:
实际需求
训练数据
模型训练
模型输出
《Collaborative Deep Learning for Recommender Systems》
目的:采用分层贝叶斯CDL构建模型,将深度学习SDAE和协同过滤结合起来,从而得以更精准推荐。
论文信息:香港理工大学王灏博士。
一,Contribution:
1)CDL可抽取content的深度特征,并捕获content或者user的相似度。这种学习方式不仅可以用于推荐,也可以用于别的地方。
2)学习目标不是简单的分类或者reconstruction,本文的目标是通过概率框架用CF做一个更复杂的目标。
3)用了最大后验估计(MAP),CDL贝叶斯法则的抽样,贝叶斯版本的反向传播。
4)用贝叶斯模型连接DL和RS。
二, 实验:
首先:考虑目前推荐系统算法现状:
l 当前推荐算法主要是基于内容(CB)、协同过滤(CF)、混合算法。基于内容的推荐依靠用户profile和item的描述做推荐;CF基于过去的的表现和行为推荐;混合方法应用比较广。
l 混合方法又分两种:松耦合方式、紧耦合方式。松耦合方式先处理辅助信息,然后,用它为CF提供特征。由于信息的流向是单向的,打分信息无法反馈回来去提取有用的特征。这种方式下,为了提升性能,通常依赖人工提取特征。紧耦合方式,两种方法相互影响,一方面,打分信息指导特征的提取,另一方面,提取出来的特征进一步促进CF的预测能力(例如,稀疏打分矩阵的矩阵因式分解)。两方面的相互影响,使得紧耦合方式可以从辅助信息中自动学习特征,并且能平衡打分信息和辅助信息的影响。这使得紧耦合方法比松耦合方法表现更好。
基于上面考虑,本论文讲述了一种多层贝叶斯模型(hierarchical Bayesian model)叫协同深度学习(CDL)。实际上CDL就是把CRT模型和深度学习模型SDAE集合起来,形成一个多层贝叶斯模型。作者用贝叶斯法则表征栈式自编码器(sdae),用深度学习的方式表示content information和rating matrix,使两者双向相互影响。
SDAE在CDL中用于学习特征,实际上更多的深度学习模型可以用进来,如Deep Boltzmann machines,RNN, CNN.
以下详细展开。
其次,本文实验数据集:citeulike Netix
实验环境:MATLAB。
:
2.1本文模型:
模型如上图,矩阵Xc扮演是SDAE干净的输入,X0作为加入了噪声的输入矩阵,X1至Xl表示sdae中间各层。SDAE的输出层是Xl,W+是W和b表示权重和偏执。
左边的贝叶斯图的目的是通过内容生成V矩阵,用户信息生成u矩阵,然后通过v和u生成user-item的关联打分矩阵R。这其实就是普通的推荐方法,只是这里,内容通过sdae自动提取特征,这些特征作用于v矩阵。具体推导过程如下:
(1) Sdae它的优化目标:
(2)推广Bayesian SDAE,其中,干净输入Xc和噪声X0都是可观察的。
当趋近于无穷大时,式(1)中的高斯分布变成Dirac delta分布中心点在
,其中,是sigmoid函数。模型会退化成一个SDAE高斯公式。因此,我们叫他推广Bayesian SDAE.
要注意的是前L/2 层网络扮演encoder,后L/2层网络扮演decoder。当权重延迟纳入考虑,最大后验概率等同于最小化重建误差。
(3)用Bayesian SDAE作为成分,组成CDL的过程如下:
是超参数,Cij是置信度参数。中间层
充当rating和content的桥梁。带有主题偏执
的中间层是开启学习特征和捕获相似度的钥匙。如同推广SDAE中,这里也可以让
趋于无穷大。当
趋近于正无穷,CDL的网络就如上面的图1所示。
模型训练
关于模型训练参数:
最大后验概率等同于给出后对U、V、
、
做大对数似然估计:
其中,encoder函数表示为,以加入噪音的内容向量
为输入计算item的encoding,函数
也是以
为输入,计算encoding,然后重建item向量。如果网络有6层的话,
是第3层的输出,
是第6层的输出。
从优化来看,当公式(2)的第4项等于SDAE最小化重建误差时,第3项等同于一个以主题item向量Vj为目标的多层感知机。
当趋于正无穷大时:
当趋于正无穷大时,训练图1可以分裂成训练2个相似的神经网络,这两个网络有公共的输入,但输出不同。这样,网络可以演化成下图所示的网络,第一个网络输出干净数据,第二个网络输出item的打分矩阵。
更新规则:
For U and V, use block coordinate descent:
当U和V给定,用反向传播方式学习每层的W和b。For W and b, use a modified version of backpropagation:
上述,U,V和Wb的更新交替进行。
比率有两种极端,(1)当这个比率趋近于正无穷时,整个系统将退化成一个两步式的模型,在这个模型中SDAE学习到的主题表示会直接被放入CTR中。(2)当比率趋近于0时,SDAE的decoder部分将消失,整个系统变成下图所示的图模型。
模型输出
评分预测如下:
2.2 实验结果
评价指标:较高的召回率[email protected]和map显示更好的推荐性能。
当数据比较稀疏时:
当数据比较稠密时:
(2)MAP