LibRec 每周算法:AutoRec (WWW'15)

2017 年 5 月 29 日 LibRec智能推荐 马辰

今天小编继续向您介绍一篇使用AutoEncoder作为核心推荐算法的文章,此篇文章发表在了2015年的WWW Companion。这篇文章是较早地采用AutoEncoder进行推荐的论文,对后续采用类似模型作为推荐算法的工作有一定的启发和指导作用。


提前告诉大家一下,本篇本章的代码已经实现、集成到了LibRec当中,相信不久就会和大家在GitHub上见面。


Auto-Encoder



我们通常所说的AutoEncoder是包含一个隐藏层的三层神经网络,是一种无监督学习算法。AutoEncoder利用反向传播算法进行训练学习,使得目标值近似等于输入值。由于目标值近似等于输入值的特性,Auto-Encoder被广泛地应用于数据压缩、可视化等领域。同时,在很多deep learning任务中,AutoEncoder是很重要的“building block”。


AutoRec



这篇文章提出了一种基于AutoEncoder的协同过滤方法来解决评分预测问题。在协同过滤算法中,假设有m个用户和n个物品,以及用户对物品的评分矩阵R,我们的任务是尽可能准确地推测出用户对未评分物品的评分值。


Sedhain S, Menon A K, Sanner S, et al. AutoRec: Autoencoders Meet Collaborative Filtering. WWW 2015.


评分矩阵 R 中的每一行 ru 表示一个部分评分被观测到(partially observed)的用户向量;每一列 ri 表示一个部分评分被观测到(partially observed)的物品向量。本篇文章希望通过AutoEncoder将 ru 或 ri 投影到低维向量空间(这个过程叫做encode),然后再将其投影到正常空间(这个过程叫做decode),利用AutoEncoder目标值和输入值相近的特性,从而重建出(reconstruct)用户对于未评分物品的评分值。


给定评分矩阵 R 中的用户向量或物品向量 r,AutoEncoder的损失函数为:

其中关于 h 的函数是对输入 r 重建(reconstruction)后的结果,

其中,f 和 g 都是激活函数,W 为输入层到隐藏层的权重,V 为隐藏层到输出层的权重。


Item-based AutoRec



在此基础中,本文提出了item-based AutoRec(如图所示)。



在原有AutoEncoder的基础上有两点不同:(1)由于 r 的评分只是部分被观测到的,因此模型只在有观测到的评分时进行参数更新;(2)为了防止过拟合,加入了对权重的正则化。根据以上两点,AutoRec的损失函数变为:

本文采用了resilient propagation(Rprop)进行模型参数的更新。待模型收敛之后,预测用户对未评分物品的评分为:


本文在不同数据集上和其他方法进行了对比,结果如下:


结束语



本文是较早地使用AutoEncoder进行推荐的工作,对其他工作有一定的借鉴作用。同时,本文还讨论了不同激活函数下模型的性能,隐层单元数量以及隐藏层数量对模型结果的影响,详见论文。


「相关阅读:LibRec 每周算法:Auto-Encoder  (CDAE) 」


最后,小编给各位看官列出近几年将AutoEncoder用于推荐系统的相关论文:

  • Hybrid Recommender System based on Autoencoders, DLRS workshop, 2016

  • Collaborative Denoising Auto-Encoders for Top-N Recommender Systems, WSDM, 2016

  • Deep Collaborative Filtering via Marginalized Denoising Autoencoder, CIKM, 2015

  • Relational Stacked Denoising Autoencoder for Tag Recommendation, AAAI, 2015

  • Collaborative Filtering with Stacked Denoising AutoEncoders and Sparse Inputs, NIPS workshop, 2015


登录查看更多
0

相关内容

自动编码器是一种人工神经网络,用于以无监督的方式学习有效的数据编码。自动编码器的目的是通过训练网络忽略信号“噪声”来学习一组数据的表示(编码),通常用于降维。与简化方面一起,学习了重构方面,在此,自动编码器尝试从简化编码中生成尽可能接近其原始输入的表示形式,从而得到其名称。基本模型存在几种变体,其目的是迫使学习的输入表示形式具有有用的属性。自动编码器可有效地解决许多应用问题,从面部识别到获取单词的语义。
近期必读的6篇顶会WWW2020【推荐系统】相关论文-Part3
专知会员服务
57+阅读 · 2020年4月14日
【反馈循环自编码器】FEEDBACK RECURRENT AUTOENCODER
专知会员服务
22+阅读 · 2020年1月28日
LibRec 精选:近期15篇推荐系统论文
LibRec智能推荐
5+阅读 · 2019年3月5日
推荐系统中的矩阵分解技术
AINLP
9+阅读 · 2018年12月24日
【推荐系统】详解基于内容的推荐算法
产业智能官
23+阅读 · 2018年1月11日
LibRec 每周算法:LDA主题模型
LibRec智能推荐
29+阅读 · 2017年12月4日
LibRec 每周算法:DeepFM
LibRec智能推荐
14+阅读 · 2017年11月6日
LibRec 每周算法:Wide & Deep (by Google)
LibRec智能推荐
9+阅读 · 2017年10月25日
LibRec 每周算法:NFM (SIGIR'17)
LibRec智能推荐
7+阅读 · 2017年10月17日
LibRec 每周算法:Kaggle竞赛利器之xgboost
LibRec智能推荐
15+阅读 · 2017年8月24日
LibRec 每周算法:Collaborative Metric Learning (WWW'17)
LibRec智能推荐
6+阅读 · 2017年7月4日
LibRec 每周算法:parameter-free contextual bandits (SIGIR'15)
LibRec智能推荐
5+阅读 · 2017年6月12日
Arxiv
6+阅读 · 2018年2月7日
VIP会员
相关VIP内容
近期必读的6篇顶会WWW2020【推荐系统】相关论文-Part3
专知会员服务
57+阅读 · 2020年4月14日
【反馈循环自编码器】FEEDBACK RECURRENT AUTOENCODER
专知会员服务
22+阅读 · 2020年1月28日
相关资讯
LibRec 精选:近期15篇推荐系统论文
LibRec智能推荐
5+阅读 · 2019年3月5日
推荐系统中的矩阵分解技术
AINLP
9+阅读 · 2018年12月24日
【推荐系统】详解基于内容的推荐算法
产业智能官
23+阅读 · 2018年1月11日
LibRec 每周算法:LDA主题模型
LibRec智能推荐
29+阅读 · 2017年12月4日
LibRec 每周算法:DeepFM
LibRec智能推荐
14+阅读 · 2017年11月6日
LibRec 每周算法:Wide & Deep (by Google)
LibRec智能推荐
9+阅读 · 2017年10月25日
LibRec 每周算法:NFM (SIGIR'17)
LibRec智能推荐
7+阅读 · 2017年10月17日
LibRec 每周算法:Kaggle竞赛利器之xgboost
LibRec智能推荐
15+阅读 · 2017年8月24日
LibRec 每周算法:Collaborative Metric Learning (WWW'17)
LibRec智能推荐
6+阅读 · 2017年7月4日
LibRec 每周算法:parameter-free contextual bandits (SIGIR'15)
LibRec智能推荐
5+阅读 · 2017年6月12日
Top
微信扫码咨询专知VIP会员