抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

靖待的技术博客

小清新IT旅程 | 为中华之崛起而读书

推荐系统 + 深度学习 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)=(Ru1,...,Run)Rnr^{(i)} = (R_{u1},...,R_{un})∈\mathbb{R}^n
每个物品I={1,…,n}可表示为r(i)=(R1i,...,Rmi)Rmr^{(i)} = (R_{1i},...,R_{mi})∈\mathbb{R}^m,评分矩阵R。
目标:设计一种基于物品(用户)的自动编码器,可以输入部分显式r(i)r_{(i)}(r(u)r_{(u)}),将其映射到低维潜在空间,然后在输出空间重建r(i)r_{(i)}(r(u)r_{(u)})来预测缺失的评分用于推荐。
自动编码器解决

minθrSrh(r;θ)22min_{\theta}\sum_{r∈S}||r - h(r;\theta)||^2_2

h(r;θ)h(r;\theta)是输入r的重构

h(r;θ)=f(Wg(Vr+μ)+b)h(r;\theta) = f(W · g(Vr + μ) + b)

f、g是激活函数。θ={W,V,μ,b}\theta = \{W, V, μ, b\}
WRd×kW∈\mathbb{R}^{d×k}, VRk×dV∈\mathbb{R}^{k×d}, μRkμ∈\mathbb{R}^k, bRdb∈\mathbb{R}^d
该目标对应于具有单个k维隐藏层的自连接神经网络。使用反向传播来学习参数θ。

基于物品的AutoRec模型I-AutoRec
r(i)i=1n{r^{(i)}}^n_{i=1}
基于物品的AutoRec
两点改变:

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

I-AutoRec需要估计2mk + m + k个参数。
对于给定的已学习参数θ\theta,对于用户u和物品i的预测评分为

R^ui=(h(r(i);θ^))u\hat{R}_{ui} = (h(r^{(i)};\hat{\theta}))_u

目标函数:

minθr(i)h(r(i);θ)o2+λ2(WF2+VF2)min_{\theta}||r^{(i)}-h(r^{(i)};\theta)||^2_o + \frac{\lambda}{2}·(||W||^2_F + ||V||^2_F)

o2||||^2_o代表只考虑可观测评分的贡献。

基于用户的AutoRec模型U-AutoRec
r(u)u=1m{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
  4. 基线性能对比
    基线
  5. 深度扩展对Auto的帮助

代码

https://github.com/mesuvash/NNRec

总结

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

评论