推荐系统发展概述

 转载自其他资料,供数据挖掘推荐系统学习者了解。

推荐系统的兴起与互联网的发展息息相关。最早的自动化协同过滤系统可以追溯到 1994 年,明尼苏达大学双城分校计算机系的 GroupLens 研究组设计了名为 GroupLens 的新闻推荐系统。该工作 不仅首次提出了协同过滤的思想,并且为推荐问题建立了一个形式化的模型,为随后几十年推荐 系统的发展带来了巨大影响。该研究组后来创建了 MovieLens 推荐网站,一个推荐引擎的学术研 究平台,其包含的数据集是迄今为止推荐领域引用量最大的数据集。

历史上将推荐系统的研究推向高潮的事件非 Netflix 百万美金大赛莫属。2006 年,Netflix 宣布提供一百万美元奖金给第一个能将现有推荐算法的准确度提升 10%以上的参赛者。在 2006 年北京市商品住宅成交均价才 8 千元左右。重赏之下必有勇夫,这项百万美金大赛一经宣布,立即吸引了 186 个国家的 4 万多支参赛队伍鹿逐中原。随后几年,大量经典的推荐算法涌现出来。其中最有影响 力的当属 SVD++模型,这篇论文也在 2018 年的 SIGKDD 大会上被评选上了 Test of Time Award,实 至名归。Netflix 比赛对推荐系统的影响,可以类比到 ImageNet 挑战赛对图像识别技术发展的影响。 当人们有共同的目标和共同的数据集、公平、激烈地竞争时,对推动该领域的技术发展是最快、 最完善的。

推荐系统发展至今,其背后的技术大致可以划分为三类:基于内容的模型,基于协同过滤的模型, 以及混合模型。

基于内容的推荐模型主要在于分别建立用户和物品的档案资料,从而计算用户和物品之间的相似 度。物品的档案通常由它的各种属性资料构成,以服装领域为例,可以为价格、品牌、类别、颜 色、风格、款式、尺寸等等。用户的档案可以包括她们的人口统计学资料,也可以是从她们的历 史交互过的物品档案中构建,例如,用户经常购买杰克琼斯的服装,说明她比较喜欢这个服装品 牌。建立了用户和物品的档案之后,可以直接计算相似度,也可以把它们当做特征放入机器学习 的模型。基于内容的推荐模型的优点是,只要得到了物品或者用户的档案,就可以处理冷启动的 问题;其次,因为档案都是显式的特征,最终的模型有比较好的可解释性。

基于协同过滤的推荐模型是目前学术界研究得最广泛的模型。它不需要使用用户或者物品的档案 资料,只需要收集用户历史的行为记录,发掘其中用户和用户、物品与物品之间潜在的相似性, 并基于这种群组的相似性完成推荐。协同过滤模型可以分为两类:基于邻居的方法和基于模型的 方法。

基于邻居的方法的核心在于根据历史的行为记录,构建user-user,或者item-item的相似度矩阵。 常用的相似度计算方法有余弦相似度、皮尔逊相似度等。基于模型的推荐中最常用的方法是隐因 子模型。《Matrix Factorization Techniques for Recommender Systems》一文是这一技术发展的重要 里程碑。在这类模型中,用户和物品都被嵌入到一个低维的向量表示,用户和物品的相关性则体 现在它们对应的隐向量的点积关系。这种方法的优点在于效率高,一旦训练出了模型,用户和物 品的关系就能很方便地通过点积计算出来;同时准确度也相比于邻居模型要好。其缺点也很明显, 不能解决冷启动的问题,同时学习出的隐向量不方便解释。混合模型则是指将多种推荐模型相结 合,取长补短,从而得到更好的推荐效果。

工业界常用的模型往往是混合的模型。这类模型可以是通过各种集成学习的方式组合而来,也可 以是一种端到端的模型,例如 SVDFeature,Wide&Deep 等模型。

早期的推荐系统的关注点在于显式的反馈学习,例如 Netflix 比赛中,需要预测的是用户对物品的 显式评分。随着互联网的快速发展,其实大部分的场景下我们能得到的都是隐式反馈,例如新闻 的点击,电影的观看,商品的购买等。而用户购买过了一件商品并不代表用户喜欢它,所以很多 时候会出现差评的现象;而用户没有购买过的商品,也不代表用户不喜欢它。于是排序学习 (learning to rank)技术被广泛地用在了基于隐式反馈的推荐场景中,最经典是 pair-wise ranking 模型。 也有一些比较激进的学者认为当今时代大家都应该去关注 Top-N 的推荐模型,而不是继续研究评 分预测的模型。已有研究表明,Top-N 推荐和评分预测的方法确实有不同之处,在评分预测的任 务上效果好的模型,未必在 Top-N 的推荐场景上效果好。其主要原因在于评分预测任务中,样本 是带有用户偏好的,并不是随机选取的。

你可能感兴趣的:(RS)