推荐系统与LSTM、GRU
最近在看深度学习与神经系统方面的文章,发现深度学习对推荐系统有很大的影响,特此进行下总结,为自己接下来的阅读总结做参考。
如今,深度学习技术应用到推荐系统的主要分为以下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),他连接了过去的信息到当前任务上,为推荐系统提供了动态推荐的可能。实际应用中,也优于传统的推荐方法。
上一篇: 实例构造函数与静态构造函数执行顺序
下一篇: 百度发布“超级链”