Collaborative Deep Learning for Recommender Systems

来源:互联网 发布:吃鸡为什么不优化 编辑:程序博客网 时间:2024/06/13 10:47

前言

最近在读关于推荐系统的paper发现很多优质的paper都是英文的,而且有很多新的不太熟悉的知识,所以希望将这些paper小小的翻译(其实说不上是翻译,大多数部分用英文表达其实很容易理解)一下,顺便搞懂一些不太明白的知识点,还有因为本人的英文数学还有机器学习的知识都很渣,所以很多地方只能靠自己理解来写,有不正确的地方敬请指出,谢谢。
另附paper的下载地址:https://arxiv.org/pdf/1409.2944v2.pdf,还有很简单易读的说明文档:(地址找不到了,找到了再贴上来)

Motivation

现在我们有这样一个评分矩阵



对勾的部分是用户已经对该电影进行了评分,对于问好的部分我们希望通过预测来填写出来,然后根据预测的评分来实现电影的推荐。

那么我们如何对对勾的部分进行预测呢,先看看我们手里有哪些信息,首先我们有这个评分矩阵,矩阵是十分稀疏的,如果光靠这个矩阵来完成评分和推荐那么可以用协同过滤来完成,那么我们还有没有其它信息呢,当然有!我们还可以获取每一部影片的相关信息包括:剧情,导演,演员等等,当然这些信息是用文本给出的。
有了上面两部分的信息,我们怎样利用这两部分的信息给出?部分的预测呢,这个问题我们可以描述成下图这样,第三个模型就是说我们将电影的内容信息和评分矩阵都传入到我们的模型中(第一个描述的是手工提取电影内容特征,第二个是说没有用到评分矩阵来提取电影特征),然后模型给出的预测评分还要和一开始的评分矩阵像吻合(是不是有一点自编码的味道呢?是的,我们马上就要用到这个思想)

那么原先普通深度学习就是第二种模型,而我们根据第三种情况提出一种叫Collaborative Deep Learning 的深度学习系统,这里原文中花了一定的篇幅来描述两种深度学习的不同,这里我们也解释一下(说实话这里我也没太搞懂,姑且翻译一下原文)

这是朴素的deep learning:

Deep learning allowscomputational modelsthat are composed ofmultiple processing layersto learn representations of data withmultiple levels of abstraction

Typically for i.i.d. data 

这里深度学习可以运用一个由多层构成的可以计算的模型通过多层抽象来学习数据的特征,通常运用于i.i.d. 类型的data ,这里解释一下啥是i.i.d.:独立同分布(independent identically distributed)


这是Collaborative Deep Learning :

 Feedback from rating information -》》Non-i.i.d. 

就是说因为我们要运用评分矩阵来对deep learning进行反馈,所以我们的数据不是i.i.d.的(这里没太搞清楚所谓服从iid和不服从iid的data到底是指啥?是电影内容?还是啥?)


好了,大致说了一下我们的主角Collaborative Deep Learning 和朴素的deep learning 有啥不容,那我们接下来看看Collaborative Deep Learning 到底是指的啥啊,其实很简单

Collaborative Deep Learning 

1.用于学习Non-i.i.d.的deep learning 

2.结合特征学习和协同过滤(collaborative filtering)






0 0
原创粉丝点击