《AutoRec: Autoencoders Meet Collaborative Filtering》WWW2015 阅读笔记
2017-04-27 23:28
621 查看
前一阵子阅读了部分deep learning结合Collaborative filtering的工作,准备写一系列的阅读笔记,这是作为预热的第一篇,也是最容易的一篇,WWW 2015的poster,看起来很快。
在传统的CF里,所用的信息即为所有用户历史的评分数据,按用户做行,item做列,可以得到一个rating matrix R,其中Rij指useri对itemj的打分。其中我们只能观测到这个矩阵里的部分值,那些未观测到的值则是需要预测的对象。MF解决该问题的思路是将评分矩阵拆成U*V,其中U为user隐向量矩阵,V为item隐向量矩阵。一旦获得U∗和V∗后,预测值就可以从R∗=U∗∗V∗中得到。
在神经网络有,一有类特殊的网络叫做AutoEncoder,简称AE。AE是一个包含单隐层的神经网络。如下图所示:
AE的目标是学习一个模型能使得输出尽可能接近输入,选用平方误差作为loss function后目标为minθ∑||x−hw,b(x)||22。本质上AE是学习到了一个原始输入的一个向量表达。从input layer->hidden layer的过程是encode的过程,从hidden layer->output layer是个decode的过程,希望这个模型能够对原始数据进行最大程度的重构。AE是一种无监督聚类的方法,用途很多,比如特征提取、数据压缩等。
AutoRec的想法是将AE拿来直接学习Rating Matrix里的行或列数据的压缩向量表达,分为user-based AutoRec和item-based AutoRec两种。对于item-based AutoRec,input为R里的每列,即每个item用各个user对它的打分作为其向量描述;对于user-based AutoRec是用R里的每行。下图给出了item-based AutoRec的网络结构和数据流程。
模型的学习目标为:
minθ∑i=1n||r(i)−h(r(i);θ)||2O+λ2(||W||2F+||V||2F)
后一项为防止过拟合加入的正则项。需要注意的是第一项里在计算loss只在观测到的数据上计算。未观测到的missing value在初始时赋一个默认值,比如1-5分的打分体系里统一给3。
在使用模型做预测时,直接将模型对input重建后的新向量里对应位置的值认为是预测值,即
Rij=(h(r(i);θ))u
user-based AutoRec可以类似推导出,就不做详述。从实验数据来看,item-based AutoRec胜出user-based AutoRec,比传统的FM类方法都要更好。
评价:这篇文章的思想还是挺聪明的,思路直观简洁且在理。然而很显然的是,在数据很稀疏的情况下用AE去学习的效果会不理想,数据里噪声太大,在CF里存在的困境同样存在。后续要介绍的DL+CF的文章中引入了item和user的side information去解决这个问题。
在传统的CF里,所用的信息即为所有用户历史的评分数据,按用户做行,item做列,可以得到一个rating matrix R,其中Rij指useri对itemj的打分。其中我们只能观测到这个矩阵里的部分值,那些未观测到的值则是需要预测的对象。MF解决该问题的思路是将评分矩阵拆成U*V,其中U为user隐向量矩阵,V为item隐向量矩阵。一旦获得U∗和V∗后,预测值就可以从R∗=U∗∗V∗中得到。
在神经网络有,一有类特殊的网络叫做AutoEncoder,简称AE。AE是一个包含单隐层的神经网络。如下图所示:
AE的目标是学习一个模型能使得输出尽可能接近输入,选用平方误差作为loss function后目标为minθ∑||x−hw,b(x)||22。本质上AE是学习到了一个原始输入的一个向量表达。从input layer->hidden layer的过程是encode的过程,从hidden layer->output layer是个decode的过程,希望这个模型能够对原始数据进行最大程度的重构。AE是一种无监督聚类的方法,用途很多,比如特征提取、数据压缩等。
AutoRec的想法是将AE拿来直接学习Rating Matrix里的行或列数据的压缩向量表达,分为user-based AutoRec和item-based AutoRec两种。对于item-based AutoRec,input为R里的每列,即每个item用各个user对它的打分作为其向量描述;对于user-based AutoRec是用R里的每行。下图给出了item-based AutoRec的网络结构和数据流程。
模型的学习目标为:
minθ∑i=1n||r(i)−h(r(i);θ)||2O+λ2(||W||2F+||V||2F)
后一项为防止过拟合加入的正则项。需要注意的是第一项里在计算loss只在观测到的数据上计算。未观测到的missing value在初始时赋一个默认值,比如1-5分的打分体系里统一给3。
在使用模型做预测时,直接将模型对input重建后的新向量里对应位置的值认为是预测值,即
Rij=(h(r(i);θ))u
user-based AutoRec可以类似推导出,就不做详述。从实验数据来看,item-based AutoRec胜出user-based AutoRec,比传统的FM类方法都要更好。
评价:这篇文章的思想还是挺聪明的,思路直观简洁且在理。然而很显然的是,在数据很稀疏的情况下用AE去学习的效果会不理想,数据里噪声太大,在CF里存在的困境同样存在。后续要介绍的DL+CF的文章中引入了item和user的side information去解决这个问题。
相关文章推荐
- [阅读笔记]AutoRec: Autoencoders Meet Collaborative Filtering
- 论文阅读笔记:【Transforming Auto-encoders】
- [论文笔记]slope one predictors for online rating-based collaborative filtering
- 《Item-to-Item Collaborative Filtering》笔记
- iOS AutoLayout阅读笔记1----->Hugging Priority & Compression Resistance Priority
- 立体匹配文献阅读笔记(三)《Stereo Matching Using Tree Filtering》15年
- H2O学习笔记(五)——Deep Autoencoders
- [论文笔记]amazon: item-to-item collaborative filtering
- [机器学习] UFLDL笔记 - Autoencoders and Sparsity
- UFLDL 笔记 04 自编码算法与稀疏性 Autoencoders and Sparsity
- Theano-Deep Learning Tutorials 笔记:Stacked Denoising Autoencoders (SdA)
- (论文阅读笔记1)Collaborative Metric Learning(一)(WWW2017)
- 【deep learning学习笔记】Restricted Boltzmann Machines for Collaborative Filtering
- (大卫的阅读笔记)More Effective C++ Item 附2:一个auto_ptr的实现实例
- 论文阅读(2014-1)----a new collaborative filtering-based recommender system for manufacturing appstore: which applications would be useful to your busines?
- [论文阅读&翻译]Item-to-Item Collaborative Filtering
- 《Item-to-Item Collaborative Filtering》笔记
- 论文笔记(3)-Extracting and Composing Robust Features with Denoising Autoencoders
- Extracting and Composing Robust Features with Denoising Autoencoders(经典文章阅读)
- iOS AutoLayout阅读笔记4------->AutoLayout入门动画示例(纯IB实现)