推荐系统 + 深度学习 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}可表示为$r^{(i)} = (R_{u1},…,R_{un})∈\mathbb{R}^n$。
每个物品I={1,…,n}可表示为$r^{(i)} = (R_{1i},…,R_{mi})∈\mathbb{R}^m$,评分矩阵R。
目标:设计一种基于物品(用户)的自动编码器,可以输入部分显式$r_{(i)}$($r_{(u)}$),将其映射到低维潜在空间,然后在输出空间重建$r_{(i)}$($r_{(u)}$)来预测缺失的评分用于推荐。
自动编码器解决
$$min_{\theta}\sum_{r∈S}||r - h(r;\theta)||^2_2$$
$h(r;\theta)$是输入r的重构
$$h(r;\theta) = f(W · g(Vr + μ) + b)$$
f、g是激活函数。$\theta = {W, V, μ, b}$
$W∈\mathbb{R}^{d×k}$, $V∈\mathbb{R}^{k×d}$, $μ∈\mathbb{R}^k$, $b∈\mathbb{R}^d$
该目标对应于具有单个k维隐藏层的自连接神经网络。使用反向传播来学习参数θ。

基于物品的AutoRec模型I-AutoRec
${r^{(i)}}^n_{i=1}$

基于物品的AutoRec
基于物品的AutoRec

两点改变:

  1. 每个$r^{(i)}$通过反向传播更新和输入有关的权重得到,这在矩阵分解和RBM策略中常用。
  2. 设计了学习参数正则化防止过拟合。

I-AutoRec需要估计2mk + m + k个参数。
对于给定的已学习参数$\theta$,对于用户u和物品i的预测评分为
$$\hat{R}_{ui} = (h(r^{(i)};\hat{\theta}))_u$$

目标函数:
$$min_{\theta}||r^{(i)}-h(r^{(i)};\theta)||^2_o + \frac{\lambda}{2}·(||W||^2_F + ||V||^2_F)$$
$||||^2_o$代表只考虑可观测评分的贡献。

基于用户的AutoRec模型U-AutoRec
${r^{(u)}}^m_{u=1}$

和CF策略的区别:
对比基于RBM的CF模型(RBM-CF)

  1. RBM-CF是基于限制玻尔兹曼机的生成概率模型,AutoRec是一个基于自动编码器的判别模型。
  2. RBM-CF通过最大化似然log函数估计参数,AutoRec直接最小化RMSE。
  3. 训练RBM-CF需要使用对比散度,训练AutoRec需要相对更快的基于梯度的反向传播。
  4. 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}

三种实验

  1. 和RBM对比
  2. 激活函数选取对比
  3. 隐藏单元k的数量
    k
    k
  4. 基线性能对比
    基线
    基线
  5. 深度扩展对Auto的帮助

代码

https://github.com/mesuvash/NNRec

总结

AutoRec是最简单的深度学习推荐系统。
它是一种单隐层神经网络推荐模型,将自动编码器与协同过滤相结合。