admin管理员组

文章数量:1547229

摘要

本文围绕深度学习技术在推荐系统方面的研究展开介绍,首先介绍推荐系统的相关内容以及面临的主要挑战,然后介绍目前主流的解决方案以及应用深度学习技术的必要性;第二节介绍深度学习技术的相关概念以及它的适用场景及限制条件;最后总结深度学习技术与推荐系统相结合的具体案例,希望对大家有所帮助。

推荐系统

推荐系统对于我们来说并不陌生,已经渗透到我们生活的方方面面,比如网易云的音乐推荐、淘宝的商品推荐、美团的餐厅推荐、抖音的短视频推荐等等。之所以推荐系统无处不在,是因为它可以提高用户的驻留时间、增加网站主的效益,以此实现互利共赢。数据显示,零售业巨头亚马逊(Amazon)35%的收益来自于它的推荐引擎;视频网站网飞(Netflix)中75%的用户都是基于推荐算法选择影片。这也充分说明了推荐系统是整个生态系统中不可或缺的组件,可谓流量担当、变现神器。

那么推荐系统是如何产生推荐的呢?宽泛来讲,就是系统基于用户的历史行为信息(评分、评论、浏览、点赞等)来训练用户的画像,进而对每个用户进行个性化推荐。精细阐述的话,主要分为以下两步:召回和精排。召回的作用是从海量物品中过滤出候选集合,过滤策略可以是基于内容的推荐算法或者是基于矩阵分解的算法等,算法细节详见拙作张小磊:推荐系统之矩阵分解家族。精排的作用是从召回层获取的候选集合中结合用户的兴趣来进行排序,以此来给用户产生最可能感兴趣的推荐列表。

推荐系统之所以可以产生个性化推荐列表,是基于用户的历史行为信息,但往往用户的历史行为微乎其微,弥足珍贵。因此数据稀疏一直以来都是推荐系统所面临的挑战。目前主流的缓解方案是结合除用户-项目的交互矩阵之外的辅助边信息,比如用户维度的社交信息,物品维度的文档信息、图像信息,以及用户-物品的上下文信息(时间、地理信息)等。对于边信息的利用,可以利用人工特征工程来提取想要的特征,但由于结合的信息越多,人工付出的代价往往过高。好在深度学习在各类边信息中都有其发挥作用的场景,使得系统可以将复杂耗时的特征工程交给深度学习来自动提取,而推荐系统则可以更专注于如何提供更好的推荐策略,正所谓术业有专攻。

深度学习

深度学习,顾名思义,具有深层结构的特征学习技术。它是建立在人工神经网络基础上发展而来的表示学习方法,又叫做表示学习。它通过构建多层表示学习结构,组合原始数据中的简单特征,从而得到更高层、更抽象的分布式表示。其中的分布式表示是指语义概念到神经元是一个多对多映射,直观来讲,即每个语义概念由许多分布在不同神经元中被激活的模式表示;而每个神经元又可以参与到许多不同语义概念的表示中去。

传统的机器学习技术,是一个pipeline的作业方式,需要首先进行复杂的人工特征工程任务,同时要求人们需要掌握相对较多的领域知识,进而将整理好的特征喂给分类器。而深度学习是一个端到端的学习技术,它将特征工程与特定任务整合到同一框架,可以在完成特定任务的过程中完成自动的特征提取,使得人们从复杂的人工特征工程中摆脱出来,进而将更多的精力专注于更高层的任务。

当然深度学习并不像媒体所吹嘘的那样,是所有应用任务的万能钥匙,同样有其限制条件与适用的场景。首先,在数据量偏小的情况下,并不适合应用深度学习。由于其参数空间巨大,微小的数据喂给深度学习,并不足以填报它的肚子,致使很容易造成结果的过拟合状态。其次,当数据不存在局部相关特性时,首选也不是深度学习。深度学习之所以能在计算机视觉以及自然语言处理领域大放异彩,有很大原因是图像和文本数据都具有局部相关性。比如图像中,相邻的点组成边,相连的边组成轮廓,可谓一个像素不能表达足够的信息,但一堆像素就能表示这是人脸还是狗头;语言中由单词组成句子,相邻的单词间存在相近的表达,同时单词间的次序一旦被打乱,那么整体所表达的信息也同时被打乱了。这些具有局部相关特性的数据,配合以特定的网络结构可以提取出其中的局部相关特性,同时配合深度架构达到层次特征的提取,从而达到令人满意的效果。而对于不具有局部相关特性的数据,没法用特定的网络拓扑来捕捉它们的信息,在深度学习中就只能用MLP来完成模型的训练,而通常MLP的效果通常要弱于GDBT , RF等传统集成树模型。再

本文标签: 深度系统