A Survey of Recommender Systems Based on Deep Learning
(本文为同名paper的个人翻译版本,如有认知上的偏差,请谅解)
原文地址:https://www.researchgate.net/publication/328843931_A_Survey_of_Recommender_Systems_Based_on_Deep_Learning
此文只仅作为阅读学习笔记用。
由于最近在打KDD CUP的竞赛,刚刚接触到推荐系统的一些知识,先从Survey开始入手了解相关技术
ABSTRACT
(背景描述和文章大致结构)今年来,深度学习的高速发展在语音识别,图像分析和自然语言处理等领域得到了很好的效果,基于深度学习的推荐系统也是其应用之一,相比于传统的推荐系统,基于深度学习的推荐系统能够更好地捕捉到用户和物品间的非线性和并且更加有意义的特征,并且使得更加抽象复杂的信息在高层中得以以数据的形式进行编码。在这篇paper中,作者主要讲了三点:
- 介绍了一些深度学习的技术和术语
- 介绍了基于深度学习的推荐系统的现状
- 讲述了对于未来基于深度学习的推荐系统的发展可能
I. INTRODUCTION
推荐系统的中心思想是分析用户的历史行为和偏好信息,建立相关的模型然后自动的推荐给用户他们感兴趣的物件。推荐系统不局限于基于用户喜好推荐给他们与他们喜好类似的商品,也可以推荐未知的他们可能感兴趣的商品。目前的研究主要分为三类:
- 基于内容的推荐(content-based recommendation): 利用用户信息和商品的描述来推荐商品。
缺点:用户隐私问题使得该方法难以很好的实现 - 协同过滤推荐 (filtering-based recommendation):利用用户过去产生的信息和偏好信息来推荐(如对商品的评价),而不依赖于用户的个人信息和商品描述
缺点:当评价矩阵(rating matrix )很稀疏时,基于协同过滤的方法效果会有明显的下降。其次该方法不能推荐没打过分的商品,因此有时候在使用协同过滤方法时也会使用一些商品描述信息 - 混合推荐:混合多种推荐方法
与此同时,深度学习在其他领域的杰出表现也给推荐系统领域带来了更多的机会。基于深度学习的推荐系统(deep learning-based recommedation system DLRS)已经能超越传统的模型并取得很好的推荐质量。深度学习基础能够很好的捕捉到用户和商品之间的非线性关系和许多不为人察觉的重要联系。此外,深度学习基础还能将商品本身的信息如:上下文信息,文本和视觉信息很好的结合到一起。
II. TERMINOLOGIES AND BACKGROUND CONCEPTS
这块主要介绍一些专业术语和背景知识
A. RECOMMENDER SYSTEM
传统的三种推荐系统:基于内容的推荐,协同过滤和混合推荐。
1)基于内容的推荐:
先对商品描述对商品进行相似度的分析,然后通过用户提供的喜好,推荐系统为其推荐相关商品。
举个栗子:当前系统要为用户推荐喜好的书籍。基于内容的推荐系统会获取到该用户已经阅读过的书籍信息,通过关键词分析技术如:TF-IDF将书籍表示成一个多维的向量信息,然后通过聚类的技术就可以展示出用户的信息偏好。
2)协同过滤:
协同过滤方法假设对相同物品进行过评分的用户很可能会有相似的偏好。协同过滤方法会给用户推荐和他类似的用户或者与他喜欢的商品类似的商品,即分为user-based 和item-based两类。
3)混合推荐:
混合推荐系统分为单片式混合推荐(monolithic hybrid recommendation)、并行式混合推荐(hybrid recommendation)和管道式混合推荐(pipeline hybrid recommendation)三类
单片式就是将多种推荐系统融合成一种算法。
并行式:根据输入,并联的混合型推荐器各自独立运行,分别生成推荐列表,再将输出的数据组合成最终的推荐集。
管道式推荐:以管道式架构连接多个推荐系统,前一个推荐系统的输出部分成为后一个推荐系统的输入部分。
B. DEEP LEARNING TECHNOLOGY
- AUTOENCODER (自编码器)
自动编码器(AE)是一种无监督的模型,试图在输出层重构其输入数据。一般来说,瓶颈层(最中间层)作为输入数据的突出特征表示。Autoencoder可以看作是传统的多层感知器的变体。自动编码器对输入数据进行重构,通过编码和解码过程学习数据的深层特征。
(图片摘自原Survey)
在网络训练过程中,每训练一个样本,通过网络在输出层产生一个新的信号。网络学习的目的是为了使输出信号和输入信号尽可能的相似性。这种相似性用重建误差来表示。
自动编码器有许多变种,如去噪自动编码器、边缘化去噪自动编码器、稀疏自动编码器、堆叠式去噪自动编码器(SDAE)、收缩式自动编码器和变异自动编码器(VAE)等。
几乎所有的自编码器都可以被用到推荐系统的应用当中。
-
RESTRICTED BOLTZMANN MACHINE (受限玻尔兹曼机)
受限玻尔兹曼机(RBM)是一个由可见层和隐藏层组成的两层神经网络。它是最早的人工神经网络之一,能够通过学习固有的 "内隐 层 "来解决复杂的学习问题。数据的内在表现形式。由于消除了相同层之间的联系,学习效率大大提高。这里限制的意思是,层内不存在层间的 可见层或隐藏层的通信。它可以轻易地堆积到深层网络中。
(图片摘自原Survey)
可见层和隐藏层之间的联合概率分布定义为:𝑃(𝑣, ℎ) = 1 Z \frac{1}{Z} Z1 𝑒−(𝑎𝑇𝑣+𝑏𝑇ℎ+ℎ𝑇𝑤𝑣 )
a为可见层的偏置量,b为 隐层的偏差,Z为归一化的函数,W代表可见层和隐藏层之间的连接权重。
该模型的优化目标是基于最大似然估计:
arg 𝑚𝑎𝑥