1 引言网络
传统的推荐方法:框架
协同过滤:数据稀疏、冷启动问题。浅层模型没法学习到用户和项目的深层次特征。分布式
基于内容的推荐方法:须要有效的特征提取。浅层模型依赖于人工设计特征,有效性和可扩展性有限。学习
混合推荐方法:辅助信息每每具备多模态、数据异构、大规模、数据稀疏和分布不均匀等复杂特征,融合多源异构数据的混合推荐方法研究依然面临着严峻的挑战。编码
深度学习:.net
(1)深度学习可经过学习一种深层次非线性网络结构,表征用户和项目相关的海量数据,具备强大的从样本中学习数据集本质特征的能力,可以获取用户和项目的深层次特征表示。
(2)深度学习经过从多源异构数据中进行自动特征学习,从而将不一样数据映射到一个相同的隐空间,可以得到数据的统一表征。设计
2 传统的推荐系统对象
以上三种的具体介绍blog
除了传统的推荐方法,也催生了大量新的推荐方法:深度学习
例如,基于社交网络的推荐方法、情境感知的推荐方法等;
推荐的对象也更加多样,不单单针对单个用户,还能够针对一群用户,产生了组推荐;
随着移动互联网的发展,位置社交网络的推荐系统也受到愈来愈多的关注.
所以能够发现,推荐系统在推荐内容、推荐方法、推荐对象等各个方面都朝着愈来愈多元的方向发展.
3 深度学习技术
3.1 自编码器 AE
其经过对用户或项目相关的信息(包括评分数据和文本、图像等信息)进行重构学习到用户或项目的隐表示,而后基于这种隐表示预测用户对项目的偏好.应用场景主要包括评分预测、文本推荐、图像推荐等。
3.2 受限玻尔兹曼机 RBM
下面可视层X(输入层),上面隐含层Y(经过一个公式,把可视层的数据算成隐含数据)
y1=x1*w11+x2*w21+x3*w31+x4*w41+b1(偏置)
回求x x1'=y1*w11+y2*w12+y3*w13+a1(偏置)
再求y y1'=x1'*w11+x2'*w21+x3'*w31+x4'*w41+b1
反向传播 再进行正向运算,看x与x'的差值是否为0,是则结束,不然再反向传播,循环,直到x和x'近乎相等为止。
经过对用户的评分数据进行重构学习到用户的隐表示,从而实现对未知评分的预测.应用场景主要是用户评分预测。
3.3 深度信念网络 DBN
经过几率大小学习的神经网络
输出层 OUT1=f(IN1*w11+IN2*w21+IN3*w31+IN4*w41+b1)
隐含层3
隐含层2--可视层3
隐含层1--可视层2
可视层1(输入数据)
而后作反向传播,从新正向算,求E,再反向,直到E很小为止。
深度信念网络当前在推荐系统中应用较少。因为DBN在建模一维数据上比较有效,所以被应用于提取音乐的特征表示,从而进行音乐推荐。当前的应用场景仅限于音乐推荐。
3.4 卷积神经网络 CNN
卷积运算:获得D1-D6的6个数据
池化:先对D1-D6分组([D1,D2]、[D3,D4]、[D5,D6]),选出小组中最大的值(D2,D4,D6)
放入卷积神经网络中的数据,即输入数据(自变量X,因变量是标签Y)
自变量:手写图中每一个数字图都是28*28,共784个点,每一个点表明灰度,0是黑色,255是白色。x1,x2...x784就是输入数据。
标签:就是图上的数字究竟是几(0-9)
把上面的数据带入到CNN中,就开始正向传播。
正向传播:卷积--池化--BP网络全链接(输入数据->卷积1-->池化1->卷积2-->池化2->...->卷积n->池化n->BP网络->输出数据)
(1)如何卷积
1. 将表1的数据还原成28*28的矩阵
2. https://blog.csdn.net/u013631121/article/details/80286691
卷积神经网络在推荐系统中应用较为普遍,主要被用于从图像、文本、音频等内容中提取项目的隐藏特征,从而获取项目的低维向量表示,并结合用户隐表示为用户产生推荐。当前的应用场景主要包括图像推荐、音乐推荐、文本推荐等。
3.5 循环神经网络 RNN
更好的处理序列的信息
循环神经网络在推荐系统中的应用主要是用来建模数据之间的序列影响,从而帮助获取更有效的用户和项目隐表示。主要包括两个方面:首先是被应用于建模推荐系统中用户行为的序列模式,其次是在获取用户和项目隐表示的过程当中,循环神经网络被应用于建模用户和项目相关的文本信息中词语之间序列影响。当前的应用场景主要包括评分预测、图像推荐、文本推荐、基于位置社交网络中的兴趣点推荐等。
4 基于深度学习的推荐系统
基本框架:
输入层:
用户的显式反馈(评分、喜欢/不喜欢);隐式反馈数据(浏览、点击等行为数据)
用户画像(性别、年龄、喜爱等);项目内容(文本、图像等描述或内容)数据
用户生成内容(社会化关系、标注、评论等辅助数据)
输出层:
经过利用学习到的用户和项目隐表示,经过内积、Softmax、类似度计算等方法产生项目的推荐列表。
4.1 深度学习在基于内容的推荐系统中的应用
4.1.1 基于多层感知机的方法
4.1.2 基于卷积神经网络的方法
4.1.3 基于循环神经网络的方法
4.1.4 基于深度信念网络的方法
4.2 深度学习在协同过滤中的应用
4.2.1 基于受限玻尔兹曼机的协同过滤方法
4.2.2 基于自编码器的协同过滤方法
4.2.3 基于分布式表示技术的协同过滤方法
4.2.4 基于循环神经网络的协同过滤方法
4.2.5 基于生成对抗网络的协同过滤方法
4.2.6 基于其余深度学习模型的协同过滤方法
4.3 深度学习在混合推荐系统中的应用
4.3.1 基于自编码器的混合推荐方法
4.3.2 基于其它深度学习模型的混合推荐方法
4.4 深度学习在社交网络的推荐系统中的应用
4.4.1 基于深度学习的社交网络社会化关系影响建模
4.4.2 基于深度学习的位置社交网络序列模式建模
4.5 深度学习在情境感知的推荐系统中的应用、
4.6 应用比较
5 基于深度学习的推荐系统研究的趋势展望