[13] Training Deep AutoEncoders for Collaborative Filtering
Oleksii Kuchaiev, Boris Ginsburg
ICLR 2018 Submission
https://arxiv.org/pdf/1708.01715.pdf
这篇文章将6层的深层自编码用于协同过滤。这种网络的训练是端到端的,并且无需预训练。该文作者发现深层自编码比浅层自编码泛化能力更好,正则方法比如dropout对防止过拟合很重要。他们还基于迭代输出重利用提出一种新的训练算法来克服协同过滤中数据的稀疏性,这种新算法可以大幅度提升训练速度,并且可以提升性能。
自编码示例如下
数据集描述如下
几种激活函数类型对模型的影响如下
隐含层单元个数影响如下
层数影响如下
不同dropout的影响如下
各模型效果比较如下
不同结果对模型的影响如下
代码地址
https://github.com/NVIDIA/DeepRecommender
我是分割线
[14] Collaborative Variational Autoencoder for Recommender Systems
Xiaopeng Li, James She
KDD 2017
http://eelxpeng.github.io/assets/paper/Collaborative_Variational_Autoencoder.pdf
这篇文章提出一种贝叶斯生成式模型,即协同变分自编码(Collaborative Variational Autoencoder,CVAE),这种模型不仅考虑了评价,也考虑了内容。该模型从内容数据中无监督的学习深层隐含表示,并且从内容和评价中学习用户和商品之间的隐含关系。
推荐示例如下
下面是该论文所提出的模型结构示例
CVAE也可以用于图像数据和序列型数据
各模型比较如下
代码地址
https://github.com/eelxpeng/CollaborativeVAE
我是分割线
[15] Variational Autoencoders for Collaborative Filtering
Dawen Liang et al.
WWW 2018
https://arxiv.org/pdf/1802.05814.pdf
这篇文章对变分自编码进行了扩展,将其用于协同过滤。这种模型是非线性概率模型,这使得模型可以突破线性因子模型的在建模能力层面的限制。作者们提出了一种生成式模型,它具有多项式最大似然度,并且利用贝叶斯推理对参数进行估计。该论文还针对目标函数提出了一种新的正则参数,该参数对模型效果至关重要。
训练算法的伪代码如下
下面是几种不同的自编码,自编码,去噪自编码,变分自编码
数据集描述如下
各模型效果对比如下
代码地址
https://github.com/dawenl/vae_cf/blob/master/VAE_ML20M_WWW2018.ipynb
我是分割线
[16] VBPR: Visual Bayesian Personalized Ranking from Implicit Feedback
Ruining He, Julian McAuleyAAAI 2016
http://cseweb.ucsd.edu/~jmcauley/pdfs/aaai16.pdf
这篇文章提出一种可扩展的因子分解模型,这种模型可以将视觉信号融入到预测器中。该文利用深层网络从产品图像中提取视觉特征,进而从中挖掘人们的反馈。这种做法不仅可以使得模型更准确,而且可以缓解冷启动的问题。
一些符号定义如下
深层网络提取特征示例如下
下面是数据集统计
各方法结果对比如下
代码地址
https://drive.google.com/file/d/0B9Ck8jw-TZUEeDBQZWprNVpWelE/view
数据集地址
http://jmcauley.ucsd.edu/data/amazon/
http://jmcauley.ucsd.edu/data/tradesy/
我是分割线
[17] Session-based Recommendations with Recurrent Neural Networks
Balazs Hidasi et al.
ICLR 2016
https://pdfs.semanticscholar.org/702c/a265c0244d527038223d5089cdcb06cd0153.pdf
这篇文章将RNN用于推荐系统。这篇文章对RNN的完善在于排序损失函数。
网络结构如下
基于Session构建mini批的示例如下
各方法对比如下
代码地址
https://github.com/hidasib/GRU4Rec
我是分割线
[18] Neural Collaborative Filtering
Xiangnan He et al.
WWW 2017
https://www.comp.nus.edu.sg/~xiangnan/papers/ncf.pdf
这篇论文提出一种通用框架,NCF,即基于神经网络的协同过滤。NCF具有通用性,矩阵分解可以看做NCF的特例。作者利用多层感知器来学习用户商品之间的交互作用。
矩阵分解示例如下
NCF框架如下
神经矩阵分解示例如下
数据集统计如下
各方法对比如下
有无预训练结果对比如下
层数的影响如下
代码地址
https://github.com/hexiangnan/neural_collaborative_filtering