最近在看深度学习与神经系统方面的文章,发现深度学习对推荐系统有很大的影响,特此进行下总结,为自己接下来的阅读总结做参考。

如今,深度学习技术应用到推荐系统的主要分为以下5类:

1、自编码器AE:通过一个编码和一个解码过程来重构输入数据,学习数据的隐层表示。
多用于:评分预测、文本推荐、图像推荐
2、受限玻尔兹曼机RBM:是一种生成式随机神经网络,BM能够学习复杂的规则,具有强大的无监督学习能力。RBM去除同层变量之间的所有连接,极大地提高了学习效率。
多用于:用户评分预测
3、深度信念网络DBN:由多层非线性变量连接组成的生成式模型。靠近可见层的部分是多个贝叶斯信念网络,最远层可见部分则是RBM。DBN的训练可采用一种贪婪逐层算法。当前应用场景仅限于音乐推荐。
4、卷积神经网络CNN:是一种多层感知机,主要被用来处理二维数据图像。
多用于:图像、文本、音乐推荐
5、循环神经网络RNN:最大特点在于神经网络各隐层之间的结点是具有连接的,RNN能对过去的信息进行记忆。
LSTM(长短期记忆网络),GRU(门限循环单元)
多用于:预测评分、图像推荐、文本推荐、基于社交网络自己中的兴趣点推荐

这里主要总结RNN与推荐系统。

主要以以下四篇文章为主:

1、A Neural Network Approach to Quote Recommendationin Writings

2、Collaborative Filtering with Recurrent Neural Networks(2016)

3、Long and Short-Term Recommendations with Recurrent Neural Networks(2017)(作者同上)
4、Short-Term Recommendation With Recurrent Neural Networks

第一篇文章提出了一个基于LSTMs(长短期记忆)和引用推荐的神经网络方法,以更好地学习引文的含义并测量引号和上下文之间的相关性。。我们直接学习上下文和引用的分布式意义表示,然后根据意义表示来衡量相关性,特别是,我们试图根据上下文、主题,甚至作者的引用偏好用特定的嵌入式来表示单词的引用。首次将神经网络模型应用于引用推荐任务。

第二篇是由布鲁塞尔自由大学的博士生在2016年提出来的,他提出将协作过滤看作是一个序列预测问题,并且在给出这种解释的情况下,将长短期记忆(LSTM)的递归神经网络应用于协作过滤。LSTM在项目覆盖率和短期预测方面远远优于其他方法。经典的Top-N推荐问题,是一种静态的预测,条目消耗的顺序与推荐系统无关。我们建议,推荐不仅应该基于消费的项目,也应基于消费的顺序。最后的实验结果表明,LSTM在Movielens和Netflix数据集上产生非常好的结果,并且在短期预测和项目覆盖方面特别好。

第三篇的作者和第二篇一样,于2017年发表,在本片文章中,作者描述了许多协作过滤方法的完整短期/长期概要,并且我们展示了如何将循环神经网络引向更好的短期或长期预测。我们还表明,RNN并不适用于基于会话的协作过滤,但它非常适合在密集数据集上进行协作过滤,因为它比传统的项目推荐算法更胜一筹。使用序列信息可以补偿用户和项目之间记录的交互的稀缺性。
用户的动作顺序确实存在很多信息保留,它可能会揭示用户喜好的演变,可能有助于确定哪些项目与当前用户的兴趣无关,哪些属于消失兴趣的一部分。

同时,本文提出了三种方法:dropout,Shuffle Sequences,Multiple Targets来达到improve长期预测的效果,这些方法提供了一个实用的调整机制,可以交换一些短期准确度以获得更长期的准确性,从而使RNN成为协作过滤更通用的解决方案。

第四篇文章,讨论短期预测在推荐系统中的应用,同样将协同过滤看作序列预测问题,建立一个循环神经网络来解决有关时间序列的问题,并在循环神经网络中使用门控循环单元GRU。另外,还建立了一个BP神经网络(BPNN),BPNN的输入是从时间t1到时间t2的每个用户行为的矢量,并计算他/她将观看的视频的概率。最后,我们结合GRU与BPNN产生最终结果。作者设计了一个实验,根据用户过去看到的内容预测下一部电影的外观。在短期推荐中,只需向用户推荐一部电影。这与Top-N得到的结果是不一样的,但是预测的精确率更高。

可以看出,LSTM或者GRU适合训练带有时间维度数据的算法,也适用于自然语言处理(NLP),他连接了过去的信息到当前任务上,为推荐系统提供了动态推荐的可能。实际应用中,也优于传统的推荐方法。

推荐系统与LSTM、GRU相关推荐

  1. ​​​​​​​DL之RNN/LSTM/GRU:RNN/LSTM/GRU算法动图对比、TF代码定义之详细攻略

    DL之RNN/LSTM/GRU:RNN/LSTM/GRU算法动图对比.TF代码定义之详细攻略 目录 RNN.LSTM.GRU算法对比 1.RNN/LSTM/GRU对比 2.RNN/LSTM/GRU动图 ...

  2. DL之LSTM:LSTM算法论文简介(原理、关键步骤、RNN/LSTM/GRU比较、单层和多层的LSTM)、案例应用之详细攻略

    DL之LSTM:LSTM算法论文简介(原理.关键步骤.RNN/LSTM/GRU比较.单层和多层的LSTM).案例应用之详细攻略 目录 LSTM算法简介 1.LSTM算法论文 1.1.LSTM算法相关论 ...

  3. 深度学习之循环神经网络(11)LSTM/GRU情感分类问题实战

    深度学习之循环神经网络(11)LSTM/GRU情感分类问题实战 1. LSTM模型 2. GRU模型  前面我们介绍了情感分类问题,并利用SimpleRNN模型完成了情感分类问题的实战,在介绍完更为强 ...

  4. DL之LSTM/GRU/CNN:基于tensorflow框架分别利用LSTM/GRU、CNN算法对上海最高气温(数据归一化+构造有监督数据集)实现回归预测案例

    DL之LSTM/GRU/CNN:基于tensorflow框架分别利用LSTM/GRU.CNN算法对上海最高气温(构造有监督数据集)实现回归预测案例 目录 基于tensorflow框架分别利用LSTM/ ...

  5. Pytorch+Google BERT模型(RoBERTa+LSTM+GRU)实战

    Pytorch+Google BERT模型(RoBERTa+LSTM+GRU)实战 BERT(Bidirectional Encoder Representations from Transforme ...

  6. RNN LSTM GRU 代码实战 ---- 简单的文本生成任务

    RNN LSTM GRU 代码实战 ---- 简单的文本生成任务 import torch if torch.cuda.is_available():# Tell PyTorch to use the ...

  7. 基于RNN,LSTM,GRU对黄金期货的时间序列研究

    目录 一. 背景介绍 二. 原理介绍 2.1模型原理 RNN模型介绍 2.LSTM模型介绍 三. 实验论证 3.1 数据预处理 3.2 模型的评价指标 3.3 实验模型设置 3.4 实验数据和超参数设 ...

  8. 神经网络与深度学习作业10:(LSTM | GRU)

    神经网络与深度学习作业10:(LSTM | GRU) 习题6-3当使用公式(6.50)作为循环神经网络的状态更新公式时,分析其可能存在梯度爆炸的原因并给出解决方法. 习题6-4推导LSTM 网络中参数 ...

  9. NNDL 作业10:第六章课后题(LSTM | GRU)

    文章目录 习题6-3 当使用公式(6.50)作为循环神经网络得状态更新公式时,分析其可能存在梯度爆炸的原因并给出解决办法. 习题6-4 推导LSTM网络中参数的梯度,并分析其避免梯度消失的效果 习题6 ...

  10. LSTM/GRU详细代码解析+完整代码实现

    LSTM和GRU目前被广泛的应用在各种预测场景中,并与卷积神经网络CNN或者图神经网络GCN这里等相结合,对数据的结构特征和时序特征进行提取,从而预测下一时刻的数据.在这里整理一下详细的LSTM/GR ...

最新文章

  1. 代码片段管理工具_VS代码片段:提高编码效率的最强大工具
  2. [React Router v4] Intercept Route Changes
  3. 在 Linux 和 Windows 下源码安装 Perl
  4. archlinux php imagemagick,Arch Linux服务器启用Imagemagick PHP扩展
  5. 管道实现进程间通讯 、WaitNamedPipe
  6. 快速实现Apache二级域名的方法
  7. 运维-替换-修改kibana徽标
  8. mysql基础数据类型字节数_MySQL基础之数据类型
  9. 51单片机实现c语言字母滚动,基于51单片机的led点阵滚动显示上下左右c语言程序.docx...
  10. 文件服务器 ip,共享文件服务器的ip地址
  11. 阿尔法狗 3 天走完人类千年棋史,被反超的我们该如何绝地求生?34 个开源项目告诉你!
  12. 调整java字体大小_Java自动调整到Windows 7的字体大小调整
  13. java 服务端解决ajax跨域问题
  14. 机器学习【系列】之第六章随机森林模型
  15. 实验二:运算器数据通路
  16. AC上网行为管理(深信服)
  17. 那时候的漫画【怀旧贴】
  18. 服务器和客户端信息的获取
  19. 史上最全图详解Jvm—诊断工具和JVM监控
  20. python中copy的使用

热门文章

  1. NAT技术与代理服务器详解
  2. 实战VMware虚拟机下使用海蜘蛛软路由
  3. kobo glo原系统设置
  4. 物联网开发笔记(5)- 使用Wokwi仿真树莓派Pico实现LED灯交替闪烁(续)
  5. Effective Java 2.0_中英文对照_Item 7
  6. lol服务器不稳定领皮肤,LOL免费领“源代码娜美”皮肤 官方致歉游戏卡顿问题...
  7. 不做律师,玩起了电子合同,这家入选微软加速器第十期的电子合同企业究竟是什么来头?
  8. codeforces 730 A Toda 2
  9. 单字母密码密码分析(上)
  10. MATLAB三维图形绘制