深度学习应用在推荐系统的论文-----A Novel Deep Learning-Based Collaborative Filtering Model for Recommendation System
1、题目:一种新的基于深度学习的协同过滤推荐系统
2、摘要:
以协同过滤(CF)为基础的模型主要获取用户和项目的交互或者相关性。然而,现有的基于CF的方法只能掌握单一类型的关系,如RBM,它只能获取用户-用户或项目-项目关系的相关性,而矩阵分解(MF)可以捕捉到用户-项目之间的相互作用。
为了克服基于CF方法的这些困难,我们提出了一种新的深层学习方法,主要分为两个阶段:①获取用户以及项目的预先表示②神经网络预测。
在初始阶段,对应的低维向量的用户和项目单独学习,获得用户–用户和项目–项目相关的语义信息。
在预测阶段,一个前馈神经网络来模拟用户和项目之间的相互作用,其中对应的表征向量(第一阶段得到的)作为神经网络的输入。
基于两个基准数据集的几个实验(MovieLens 1M MovieLens 10m)验证了所提出方法的有效性,结果表明我们的模型比以前的方法更有效。
3、引言:
现有的个性化推荐系统大致可以分为两类:(1)基于内容的模型(2)基于CF协同过滤的模型。
基于内容的模型:从用户轮廓或项目描述中提取特征来推荐
基于CF的模型:使用用户历史的行为来做未来的推荐,包括①MF②RBM
MF缺点:不能明确说明用户和项目内积之间的交互关系。
RBM缺点:只能单一获得用户与用户或项目与项目之间的关系。
捕捉复杂关系的最强大方法是使用深层的学习技术,然而,在基于CF的模型中采用深层神经网络的研究非常有限。
4、模型概述
![]() |
阶段1:预学习表示(项目的表示、用户的表示) |
| 阶段2:神经网络预测 |
阶段1:共现矩阵y和z:(U12表示给了项目2评分1的用户集合)
总体共现:y就是比较两列项目评分一样的个数,比如y21=1即项目t1和t2只用u1给了一样的分数1.
局部共现:z的加总为y,难以解释,请看图。


简单来说,就是用movielens数据中的评分进行统计获得项目的共现矩阵和用户的共现矩阵,分别通过总体(CM模型)和局部(RIM模型)来对用户和项目共现矩阵进行MF:得到分解的四个矩阵就是项目和用户的CM、RIM表示。
用户和项目的总体模型(CM)如下:


ei、ej为项目的嵌入表示,第一阶段的结果,bi、bj为偏正项,log是为了光滑,yi是总体的用户共现矩阵。
ri、rj为用户的嵌入表示,第一阶段的结果,^bi、^bj为偏正项,log是为了光滑,^yi是总体的用户共现矩阵。
用户和项目的局部模型(RIM)如下:


类似总体模型。
运用梯度下降求解。
阶段2:神经网络预测评分(5层)

红圈为阶段1的结果,作为神经网络的输入。
5、实验
数据集:MovieLens 1M和MovieLens 10M
(1)阶段1的评价用了聚类,结果通过聚类图分析。然后是相似性分析。
(2)阶段2的预测评价标准RMSE,比较方法:Bias Matrix Factorization (BMF)、 LLORMA、RBM-CF、 Autorec、CF-NADE、NNMF、Zanotti’s Methods、Multiview Neural Networks、Multiview Neural Networks+BiasMF、
阶段2的推荐Top-N的评价标准:recall(评分5的项目作为喜欢项目)
(3)神经网络的各层的影响。
6、总结
未来:时序、文本信息等都可以考虑
深度学习应用在推荐系统的论文-----A Novel Deep Learning-Based Collaborative Filtering Model for Recommendation System的更多相关文章
- 浅谈深度学习中的激活函数 - The Activation Function in Deep Learning
原文地址:http://www.cnblogs.com/rgvb178/p/6055213.html版权声明:本文为博主原创文章,未经博主允许不得转载. 激活函数的作用 首先,激活函数不是真的要去激活 ...
- 吴恩达《深度学习》-第一门课 (Neural Networks and Deep Learning)-第三周:浅层神经网络(Shallow neural networks) -课程笔记
第三周:浅层神经网络(Shallow neural networks) 3.1 神经网络概述(Neural Network Overview) 使用符号$ ^{[
- 开始学习深度学习和循环神经网络Some starting points for deep learning and RNNs
Bengio, LeCun, Jordan, Hinton, Schmidhuber, Ng, de Freitas and OpenAI have done reddit AMA's. These ...
- 深度学习图像配准 Image Registration: From SIFT to Deep Learning
Image Registration is a fundamental step in Computer Vision. In this article, we present OpenCV feat ...
- 吴恩达《深度学习》-第一门课 (Neural Networks and Deep Learning)-第二周:(Basics of Neural Network programming)-课程笔记
第二周:神经网络的编程基础 (Basics of Neural Network programming) 2.1.二分类(Binary Classification) 二分类问题的目标就是习得一个分类 ...
- 吴恩达《深度学习》-第一门课 (Neural Networks and Deep Learning)-第四周:深层神经网络(Deep Neural Networks)-课程笔记
第四周:深层神经网络(Deep Neural Networks) 4.1 深层神经网络(Deep L-layer neural network) 有一些函数,只有非常深的神经网络能学会,而更浅的模型则 ...
- 【RS】Deep Learning based Recommender System: A Survey and New Perspectives - 基于深度学习的推荐系统:调查与新视角
[论文标题]Deep Learning based Recommender System: A Survey and New Perspectives ( ACM Computing Surveys ...
- Deep Learning 8_深度学习UFLDL教程:Stacked Autocoders and Implement deep networks for digit classification_Exercise(斯坦福大学深度学习教程)
前言 1.理论知识:UFLDL教程.Deep learning:十六(deep networks) 2.实验环境:win7, matlab2015b,16G内存,2T硬盘 3.实验内容:Exercis ...
- 深度学习 目标检测算法 SSD 论文简介
深度学习 目标检测算法 SSD 论文简介 一.论文简介: ECCV-2016 Paper:https://arxiv.org/pdf/1512.02325v5.pdf Slides:http://w ...
随机推荐
- HTMLParser in python
You can know form the name that the HTMLParser is something used to parse HTML files. In python, th ...
- 怎样用Android Studio打多包名APK
问题:项目中不同的分发渠道可能须要打包多种APK(相同的代码),包名可能是不一样的,假设一个一个改动包名又一次编apk是非常麻烦,能够參考下列步骤在Android Studio上操纵Gradle来打包 ...
- 设计模式->观察者模式
观察者模式能很大的降低模块之前的耦合.详细的观察者模式,客官们能够去看<设计模式>或者<Head first设计模式>等之类的书. 在java中,java.util库中封装了观 ...
- 最小生成树模板(poj3625)
Building Roads Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9360 Accepted: 2690 De ...
- Win8.1更新之后没法启动,怎样修复?
1.问题 今天开笔记本的时候,发现电脑没法启动.屏幕显示"Recovery Your PC needs to be repaired...". 详细内容见下图: 2.解决的方法 2 ...
- Criteria——Hibernate的面向对象查询
提到Hibernate的查询.我们往往会想到HQL,他使我们的SQL语句面向对象话. 事实上细看,差点儿相同就是把SQL语句中的表和字段用所相应的实体和属性给取代了.事实上.Hibernate中还有还 ...
- VCenter中嵌套openstack VM不能ping通外部网络问题解决的方法
问题描写叙述: 近期搭建了vCenter环境,并使用vCenter创建的VM搭建了一套openstack环境.在验证openstack的外网功能时.发现报文死活ping不通外网,抓包发现报文在vcen ...
- Swift开发教程--怎样清除模拟器的数据
打开xcode->preference->location->derived Data,进入文件夹下,删除里面所以后的文件夹就能够了.
- Extjs4,form提交时emptyText传值问题
在Extjs4中,form提交时,文本框的emptyText会传到后台,比如 上图中的“请选择”这样的文本会作为值传到后台. 解决方法: form提交时配置 submitEmptyText: fal ...
- luogu1522 牛的旅行
题目大意 每个牧场里的某些坐标位置有牧区,牧区间有一个个路径(长度为位置间的直线距离).一个连通块内两个节点间的最短路径长度最大值为它的直径.请编程找出一条连接两个不同牧场的路径,使得连上这条路径后, ...
