深度学习应用在推荐系统的论文-----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 ...
随机推荐
- Linux终止进程的工具kill/killall/pkill/xkill/skill用法区别(转)
一. 终止进程的工具kill .killall.pkill.xkill 终止一个进程或终止一个正在运行的程序,一般是通过kill .killall.pkill.xkill等进行.比如一个程序已经死掉, ...
- ArcEngine控制台应用程序
转自wbaolong原文 ArcEngine控制台应用程序 控制台应用程序相比其他应用程序,更加简单,简化了许多冗余,可以让我们更加关注于本质的东西. 现在让我们看一看ArcGIS Engine的控制 ...
- 027依据前序遍历和中序遍历,重建二叉树(keep it up)
剑指offer中题目:http://ac.jobdu.com/problem.php?pid=1385 题目描写叙述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.如果输入的前序遍历和中 ...
- Apache + Tomcat + JK 集群
原文请见http://www.cnblogs.com/dennisit/p/3370220.html 本文介绍了集群和负载均衡的基本开源实现,实现了用Apache分发请求到多个Tomcat里面相应的应 ...
- Atitit. C# java 的api 文件夹封装结构映射总结
Atitit. C# java 的api 文件夹封装结构映射总结 C# java ref System.Reflection System.Type. java.lang.ref concurren ...
- ibatis 一对多查询
<typeAlias alias="businessScopeItem" type="com.sdfrdj.vo.BusinessScopeItem"/& ...
- JNDI 笔记(一) 概述
很多地方都会用到JNDI,一大堆的缩写加上一大堆不清不楚的概念描述,使得在看到的时候都不认识,更不要说使用了. JNDI,Java Naming Directory Interface,J2EE的 ...
- poj--3187--Backward Digit Sums(dfs)
Backward Digit Sums Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5667 Accepted: 32 ...
- 地图使用-----MapKit介绍
一.MapKit介绍 1.苹果自带地图功能(高德地图),可以提供地图展示,查询,定位,导航等功能.使用MapKit框架实现地图功能,MapKit框架中所有数据类型的前缀都是MK 2.MapKit有一个 ...
- JS代码放在哪里比较好!
在页面上加上<script></script>只有2个地方:head中,body体中 如果外部的JS文件,在head中加,写页面特效js放在body后面. <html&g ...
