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. [转]十五天精通WCF——第十三天 用WCF来玩Rest

    在我们玩wcf的时候,都会潜意识的觉得wcf就是通过soap协议交换消息的,并且可以在basic,tcp,msmq等等绑定中任意切换, 牛逼的一塌糊涂,但是呢,如果说哪一天wcf不再使用soap协议, ...

  2. firedac数据集控件的公共祖先类——TFDAdaptedDataSet

    firedac数据集控件的公共祖先类——TFDAdaptedDataSet TFDQuery = class(TFDCustomQuery)TFDCustomQuery = class(TFDRdbm ...

  3. HDU 5241 上海大都会 F题

    留意到,每一种语言的情况其实是独立的,也就是说,每一种语言的集合的包含的情况都是符合要求的.一种语言在图上可以有32种情况(由数据2知),所以,总的数就是32^n import java.util.* ...

  4. TRIZ的成功案例

    这篇採訪稿是几年前的,是TRIZ成功案例离我近期的,由于主人公是我的朋友,请点击查看: 培训后技术难题就攻克了 后记:学了TRIZ并不能让您100%解决您全部遇到的问题,但这样的思想和方法确实是最具操 ...

  5. 搭建strom 的开发环境 - local mode

    Setting Up a Development Environment This page outlines what you need to do to get a Storm developme ...

  6. Git 主要的工作流程

    Git使用个进制字符的SHA- Hash来唯一标识对象 如:e98757d0598ab6eeaf1df0d87dd00826048bd80b git 有种对象 1.blob 表示文本文件,二进制文件或 ...

  7. iOS刷新某个cell时候crash

    //一个section刷新     NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:2];     [tableview reloadSec ...

  8. luogu2024 食物链

    题目大意 动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形.A 吃 B,B吃 C,C 吃 A.现有 N 个动物,以 1 - N 编号.每个动物都是 A,B,C 中的一种,但是我们并 ...

  9. C# 读取ini文件 百度问问学习文档

    C# 读取ini文件 10 有多个section,现想读取整个ini文件和指定section下所有内容 补充: 发布答案可以,请对准题目啊,我不要指定节点的内容,我知道!我要的是读取指定区域的内容,假 ...

  10. 倒排列表压缩算法汇总——分区Elias-Fano编码貌似是最牛叉的啊!

    来看看倒排索引压缩.压缩是拿CPU换IO的最重要手段之一,不论索引是放在硬盘还是内存中.索引压缩的算法有几十种,跟文本压缩不同,索引压缩算法不仅仅需要考虑压缩率,更要考虑压缩和解压性能,否则会解压太慢 ...