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的更多相关文章

  1. 浅谈深度学习中的激活函数 - The Activation Function in Deep Learning

    原文地址:http://www.cnblogs.com/rgvb178/p/6055213.html版权声明:本文为博主原创文章,未经博主允许不得转载. 激活函数的作用 首先,激活函数不是真的要去激活 ...

  2. 吴恩达《深度学习》-第一门课 (Neural Networks and Deep Learning)-第三周:浅层神经网络(Shallow neural networks) -课程笔记

    第三周:浅层神经网络(Shallow neural networks) 3.1 神经网络概述(Neural Network Overview) 使用符号$ ^{[

  3. 开始学习深度学习和循环神经网络Some starting points for deep learning and RNNs

    Bengio, LeCun, Jordan, Hinton, Schmidhuber, Ng, de Freitas and OpenAI have done reddit AMA's.  These ...

  4. 深度学习图像配准 Image Registration: From SIFT to Deep Learning

    Image Registration is a fundamental step in Computer Vision. In this article, we present OpenCV feat ...

  5. 吴恩达《深度学习》-第一门课 (Neural Networks and Deep Learning)-第二周:(Basics of Neural Network programming)-课程笔记

    第二周:神经网络的编程基础 (Basics of Neural Network programming) 2.1.二分类(Binary Classification) 二分类问题的目标就是习得一个分类 ...

  6. 吴恩达《深度学习》-第一门课 (Neural Networks and Deep Learning)-第四周:深层神经网络(Deep Neural Networks)-课程笔记

    第四周:深层神经网络(Deep Neural Networks) 4.1 深层神经网络(Deep L-layer neural network) 有一些函数,只有非常深的神经网络能学会,而更浅的模型则 ...

  7. 【RS】Deep Learning based Recommender System: A Survey and New Perspectives - 基于深度学习的推荐系统:调查与新视角

    [论文标题]Deep Learning based Recommender System: A Survey and New Perspectives ( ACM Computing Surveys  ...

  8. 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 ...

  9. 深度学习 目标检测算法 SSD 论文简介

    深度学习 目标检测算法 SSD 论文简介 一.论文简介: ECCV-2016 Paper:https://arxiv.org/pdf/1512.02325v5.pdf  Slides:http://w ...

随机推荐

  1. luogu2157 [SDOI2009]学校食堂 局部状压

    题目大意 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负整数 ...

  2. linux下dd命令详解【转】

    本文转载自:http://www.cnblogs.com/licheng/articles/1116492.html  名称: dd 使用权限: 所有使用者dd 这个指令在 manual 里的定义是 ...

  3. 【POJ 3635】 Full Tank

    [题目链接] http://poj.org/problem?id=3635 [算法] 优先队列BFS 实现类似于堆优化dijkstra [代码] #include <algorithm> ...

  4. bzoj 4521 [ Cqoi 2016 ] 手机号码 —— 数位DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4521 数位DP,记录好多维状态: 写了半天,复杂得写不下去了,于是参考一下TJ... 练习简 ...

  5. Django day06 模版层(二) 过滤器 标签

    一: 模板语言之过滤器: " | " 前后的区分: 前面的是函数的第一个参数, 后面的是python的一个函数, 冒号后面的是第二个参数例:  <p>过滤器之默认值:{ ...

  6. poj1958-汉诺四塔问题(三种方法)

    链接:http://poj.org/problem?id=1958 大意:汉诺塔升级版,四根柱子,n个盘子,求最少移动次数: 两种方法 递推or递归(当然还有思路3--打表) 思路1:递推(或者DP? ...

  7. web 应用

    一.web应用 web应用程序是一种可以通过web访问的应用程序,程序 的最大好处是用户很容易访问应用程序,用户只需要有浏览器 即可,不需要安装其他团建,用用程序有两种模式C/S.B/S.C/S是客户 ...

  8. 使用 SqlBulkCopy 批量插入数据

    /// <summary> /// 使用SqlBulkCopy将DataTable中的数据批量插入数据库中 /// </summary> /// <param name= ...

  9. Redis hash结构 和常用命令

    Redis 数据结构 -- 哈希 hash 是 一个 String 类型的field 和 value 的映射表 hash 的键值 对在内存中的一种无序的状态 命令 说明 备注 hdel key fie ...

  10. SQLServer2008 表连接时null 和 null 无法匹配?

    例如 select * from tbl_a a left join tbl_b b on b.docno=a.docno and b.project=a.project where a.docno= ...