这个是第一篇将自编码器应用到推荐系统中的论文,也是将深度学习应用到推荐系统中的论文。比较老,主要学习它的思想,对输入的编码与重建。这篇文章提出了基于AutoEncoder的协同过滤方法来解决评分预测问题
我们的目标就是设计一个基于项目或者用户的自动编码器,它可以将每个部分观察到的\(r^u(r^i)\)作为输入,将其投射到一个潜在的隐空间,然后在输出空间中重构\(r^i(r^u)\),来预测缺失的评级,以便进行推荐
编码器要求解:
\(\underset{\theta}{min}\sum_{r\in S}||r-h(r;\theta)||_2^2\)
模型示意图为:
其中h是对输入r的重构
\(h(r;\theta)=f(W \cdot g(Vr+\mu)+b)\)
其中f和g均为激活函数
之后我们需要对损失函数进行正则化
并且只考虑观测到的评级的贡献
最后在使用模型做预测时,直接将模型对输入重建后的新向量里对应位置的值认为是预测值
例如输入的是物品的评分向量,模型的输出向量就是用户对物品i的评分的预测
\(\hat{R_{ui}}=(h(r^i;\hat{\theta}))_u\)
第u维就是用户u对物品i的预测得分
自动编码器可以通过激活函数来学习非线性的潜在表示,不过AutoRec是判别模型