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. OGNL是什么

    OGNL表达式是(Object-Graph Navigation Language)是对象图形化导航语言.OGNL是一个开源的项目,Struts2中默认使用OGNL表达式语言来显示数据.与Serlve ...

  2. not in 和 <> 不走索引

    首先我们要知道的一点就是CBO的代码oracle是不会对我们公开的,起码现在是.所以本文中的结论不一定适用所有的版本.在应用本文的结论之前最好先试一下. ok 下面就是本文的结论,当你在where语句 ...

  3. MyBatis对数据库的增删改查操作,简单演示样例

    之前一直有用Hibernate进行开发.近期公司在使用Mybatis.依据网上的演示样例,做了一个简单的Demo,以便日后复习 使用XMl方式映射sql语句 整体结构例如以下图 watermark/2 ...

  4. 学习笔记——SQL SERVER的递归

    SQL SERVER似乎天然具有支持递归的属性. 1.比如说,有几次,我编写或修改存储过程的时候,为图方便,在末尾随手写上 执行这个存储过程 的语句,比如 [sql] view plaincopy A ...

  5. Codeforces Round #332 (Div. 2)A. Patrick and Shopping 水

    A. Patrick and Shopping   Today Patrick waits for a visit from his friend Spongebob. To prepare for ...

  6. Git是什么?

    Git是目前世界上最先进的分布式版本控制系统(没有之一). Git有什么特点?简单来说就是:高端大气上档次! 那什么是版本控制系统? 如果你用Microsoft Word写过长篇大论,那你一定有这样的 ...

  7. hdu1704——floyd

    Problem Description there are N ACMers in HDU team.ZJPCPC Sunny Cup 2007 is coming, and lcy want to ...

  8. bzoj 3029 守卫者的挑战 —— 概率DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3029 设 f[i][j][k] 表示第 i 次挑战,已经成功 j 次,剩余容量为 k 的概率 ...

  9. js基本功能大全

    1.javascript的数组API: //定义数组 var pageIds = new Array(); pageIds.push('A'); 数组长度 pageIds.length; //shif ...

  10. easyui验证提示框 卡在屏幕上!!

    场景:验证提示框,关闭diglog窗口后 还显示在页面中 解决方法: 在窗口关闭事件中,删除提示框(这貌似并不可行),只能将验证提示框隐藏起来. $('#dialog').dialog({ onClo ...