推荐系统 + 深度学习 1
论文背景
WWW’15
作者:Suvash Sedhain, Aditya Krishna Menon, Scott Patrick Sanner, Lexing Xie
谷歌学术引用次数580(截至2021年2月4日)
关键词:Recommender Systems; Collaborative Filtering; Autoencoders
INTRODUCTION 引言
本文提出一种新的基于自动编码器范例的CF模型,思路来自于针对视觉和语音任务的深度神经网络模型。
和CF相比,具有表示和计算的优越性。
THE AUTOREC MODEL 模型
每个用户U={1,…,m}可表示为。
每个物品I={1,…,n}可表示为,评分矩阵R。
目标:设计一种基于物品(用户)的自动编码器,可以输入部分显式(),将其映射到低维潜在空间,然后在输出空间重建()来预测缺失的评分用于推荐。
自动编码器解决
是输入r的重构
f、g是激活函数。
, , ,
该目标对应于具有单个k维隐藏层的自连接神经网络。使用反向传播来学习参数θ。
基于物品的AutoRec模型I-AutoRec
两点改变:
- 每个通过反向传播更新和输入有关的权重得到,这在矩阵分解和RBM策略中常用。
- 设计了学习参数正则化防止过拟合。
I-AutoRec需要估计2mk + m + k个参数。
对于给定的已学习参数,对于用户u和物品i的预测评分为
目标函数:
代表只考虑可观测评分的贡献。
基于用户的AutoRec模型U-AutoRec
和CF策略的区别:
对比基于RBM的CF模型(RBM-CF)
- RBM-CF是基于限制玻尔兹曼机的生成概率模型,AutoRec是一个基于自动编码器的判别模型。
- RBM-CF通过最大化似然log函数估计参数,AutoRec直接最小化RMSE。
- 训练RBM-CF需要使用对比散度,训练AutoRec需要相对更快的基于梯度的反向传播。
- RBM-CF只使用于离散评分,并对每个评分估计一个分散的参数集。对r个可能的评分,它使用了基于RBM的nkr或者mkr个参数用于用户(物品)。AutoRec与r无关,因此需要较少的参数。 较少的参数使AutoRec的内存占用量更少,更不容易过度拟合。
对比矩阵分解(MF)
MF学习线性潜在表示,AutoRec可以通过激活函数学习非线性潜在表示。
EXPERIMENTAL EVALUATION 实验评估
基线:RBM-CF, BiasedMF, LLORMA.
数据集:Movielens 1M, 10M 和Nerflix数据集
没有训练数据的测试集默认评分为3。
训练集:测试集=9:1
将训练集10%作为验证集。
重复划分步骤5次并记录平均RMSE。
每次实验95%在RMSE偶然的间隔在±0.003之间。
正则化参数λ∈{0.001, 0.01, 0.1, 1, 100, 1000}
潜在维度k∈{10, 20, 40, 80, 100, 200, 300, 400, 500}
三种实验
- 和RBM对比
- 激活函数选取对比
- 隐藏单元k的数量
- 基线性能对比
- 深度扩展对Auto的帮助
代码
https://github.com/mesuvash/NNRec
总结
AutoRec是最简单的深度学习推荐系统。
它是一种单隐层神经网络推荐模型,将自动编码器与协同过滤相结合。