每周学点大数据 | No.56推荐系统概述

NO.56

推荐系统概述

Mr. 王:在现在的网络购物平台和电影、图书分享平台中,还有一类非常广泛存在的机制——推荐机制。

小可:在我打开的购物网站右侧经常有一列推荐购买的商品,它们往往和我以前购买过的商品非常相似,或者是同一个品牌,或者是同一种类型的商品,或者是广受大家欢迎的商品。

Mr. 王:今天我们就来讨论关于推荐系统的问题。在很久以前,对于零售商来说,货架上的商品可能只有少数几种,当用户提出一个需求时,零售商将商品全部拿出来放在桌面上供用户选择也是非常容易的。但随着互联网逐渐发达起来,以及各种网络购物平台的兴起,商品不再是一种稀缺的资源,网络使零成本产品信息传播成为可能。这也就导致了商品信息在网络上过剩的情况。

小可:是啊,现在购物平台上的商品真是太丰富了,每当我打开一个购物网站,搜索一个关键词时,就会有超过10 页的内容被检索出来。

Mr. 王:不过经常网购的人会知道,第二页以后的内容,往往就很少去看了。

小可:是啊,多数人是不会把找出来的10 页内容都看完的,太浪费时间了,大多数时候我只看第一页。

Mr. 王:不仅仅是在网络购物平台上,在电影和书籍这样的交流平台上也是如此。现在网络上的影片非常多,书籍也非常多,当我去搜索一个类别时,比如输入“科幻,美国,1990年以后”这样的关键词之后,也会产生大量的检索结果。此时也存在影片或者书籍信息过剩的问题。包括在XBOX 和STEAM 这样的游戏平台上,将哪些游戏推荐给用户;在ZAKER、今日头条这样的新闻资讯平台中,选择将哪些消息推送给用户;在YouTube 这样的视频网站中,如何去发现用户喜欢的视频,并推荐给用户,都是平台不得不考虑的问题。就如你说的一样,在平台向用户推送了大量的信息之后,多数人会去看的信息只有前几页甚至只有第一页,他们不会看完所有的检索结果。现在我们就要考虑一个问题,既然用户并不关心所有的检索结果,而只关心放在最前面的那些结果,那么一个购物平台的设计者就要研究应该将哪些内容放在最前面;如果采用只返回检索结果的一部分的策略,要考虑的就是将哪一部分返回给用户。所以在这些平台中,需要设计一个“推荐系统”。

小可:的确,各大网站和平台都有自己排序机制,这都是推荐系统在发挥作用吧。

Mr. 王:从用户角度来看,你见过哪些推荐系统呢?

小可:隐性的有比如检索结果的排序;显性的就像淘宝网右侧的推荐列表、要目列表;音乐软件中常见的有热歌TOP 100、最流行、最新上载;还有像Amazon、京东这样的网站会根据用户最近的访问情况和之前的购买情况,对每个用户进行个性化定制,推荐用户可能会喜欢的商品。

Mr. 王:好,接下来我们就来研究这些推荐系统的原理,看看这些推荐系统内部使用了怎样的方法,从而实现高准确度的推荐。首先我们要看看一个推荐系统的模型是怎样的。对于一个推荐系统来说,两个基本的要素就是用户集X和项目集S。在一个电影推荐平台中,X 就是访问网站请求推荐,并且对电影进行评分的那些用户的集合;S 就是影片的集合。于是我们给出一个评估模型,称作效用矩阵。在效用矩阵中,每一行是一个用户,每一列是一个项目,每一个数据记录着某个用户x ∈ X 对某个项目s ∈ S 的一个评分。比如下图:基于效用矩阵,我们提出效用函数的概念。在不同的系统中,效用函数的定义可能不完全相同,但其都符合效用函数u :X×S → R 这种形式。其中R 是评分集,它是一个完全有序集。常见的R就比如在电影评分中那种0 ~ 5 星的形式,或者简单一点,就是[0,1] 之间的一个实数等。

形成并使用效用矩阵模型的主要步骤如下:

(1)收集已知评分形成效用矩阵。在实际应用中,就涉及如何去收集这个效 用矩阵

中数据的问题。

(2)根据已知的评分推断未知的评分。这是使用效用矩阵的关键,当效用矩阵中的数据已

经收集好之后,我们如何利用效用矩阵进行用户推荐。这里不难想到,用户喜欢的影片应该是

自己没有评分过,而且别的用户评分比较高的那些影片。

(3). 评估推断方法。单单给出推荐还不够,还要考虑如何去评价推荐结果,以便能够改

进推荐系统,从而提供更加优质的推荐服务。

小可:一般来说,推荐系统都如何去构建效用矩阵呢?

Mr. 王:本质上,效用矩阵的构建就是去收集大量的用户评分,然后将评分填到矩阵中去。常用的收集用户评分方法有显式评价和隐式评价两种。在显式评价中,要求用户直接对项目给出评分。这种方法在实际中并不总受用户欢迎,有些用户比较喜欢评分和写影评工作,而有些用户会觉得进行评分是一项很麻烦、累赘的工作,对自己是一种困扰。而在隐式评价中,不直接向用户索求评分,而是从用户的行为中学习其评分。比如在网络购物中,就可以根据用户以往的购买习惯,推测用户喜欢什么样的商品,从而给出推荐。就是基于这样一种思想,用户购买意味着用户对这件商品给出了较高的评分。当然这不是绝对的,用户不购买就代表低评分吗?这似乎也不一定,所以在这样的应用环境中,“什么代表低评分”也是一个值得思考的问题。

小可:嗯,很多用户确实不太喜欢对他们所选择的每项目都进行评分,在音乐平台上,如果我每听一首歌系统都要提示我给出一个评分的话,也确实挺麻烦的。

Mr. 王:正是由于用户有这样的看法,导致大多数人没有评价过大多数项目,换句话说,大多数项目是没有人进行评价的。这就导致了效用矩阵U 往往是非常稀疏的。另外,推荐系统还存在“冷启动”的问题。一些新推出的项目是没有评分的,它们刚刚出现在平台上,用户还没来得及对它们进行评分;相应的,平台对于新用户的喜好也是认识不足的,因为平台中没有任何关于新用户的历史数据。这也是两个比较棘手的问题。

小可:嗯,这些问题在实际的系统中的确非常常见,那我们该如何去解决这些问题呢?

Mr. 王:接下来就介绍几种在实际中常常用到的推荐方法,看看它们是如何有效应对这些问题的。

下期精彩预告

经过学习,我们了解了一下了解了推荐系统概述。在下一期中,我们将进一步研究一下基于内容的推荐方法,更加详细的解释算法。更多精彩内容,敬请关注灯塔大数据,每周五不见不散呦!

文章作者:王宏志

文章编辑:秦革

原文发布于微信公众号 - 灯塔大数据(DTbigdata)

原文发表时间:2017-09-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CDA数据分析师

4个步骤,构建一个有指导的数据挖掘模型

数据挖掘的目的,就是从数据中找到更多的优质用户。什么是有指导的数据挖掘方法模型,以及数据挖掘如何构建模型。在构建一个有指导的数据挖掘模型,首先要理解和定义一些模...

33110
来自专栏数据派THU

独家 | 一文读懂推荐系统知识体系-下(评估、实战、学习资料)

? 本文主要阐述: 推荐系统的评估(Evaluation) 推荐系统的冷启动问题(Cold Start) 推荐系统实战(Actual Combat) 推荐系统...

2.3K7
来自专栏人工智能头条

谷歌邮件智能回复系统:基于RNN/LSTM构建

2074
来自专栏CSDN技术头条

谷歌邮件智能回复系统:基于循环神经网络构建

【编者按】Google将为其Gmail应用推出一项称为智能回复(Smart Reply)的新功能,这篇博文解析了Smart Reply的技术原理:建立在一对循环...

2155
来自专栏新智元

Facebook 图像机器学习平台 Lumos 升级,不是计算机视觉专业也能使用

【新智元导读】Facebook的图像机器学习处理Lumos日前进行了系统更新,在原来对照片和视频进行分类的基础上,运行速度更快,自动识别图像边界,能解释图中人物...

2954
来自专栏从流域到海域

机器学习自动化:警惕炒作!

原文地址:https://dzone.com/articles/machine-learning-automation-beware-of-the-hype

3006
来自专栏量子位

华盛顿大学成立SAML实验室:陈天奇参与,推进未来AI系统全栈研究

昨天,TVM、XGBoost、cxxnet等机器学习工具的作者陈天奇宣布,自己所在的华盛顿大学新成立了一个实验室,组织代号“SAML”。

1364
来自专栏PPV课数据科学社区

R语言和 Python —— 一个错误的分裂

最近有一些文章提出与年龄相关的问题:“崭露头角的年轻数据科学家们是学习R语言还是Python更好?” 答案似乎都是“视情况而定”,在现实中没有必要在R和Pyt...

38711
来自专栏新智元

【重磅】微软Facebook联手发布AI生态系统,CNTK+Caffe2+PyTorch挑战TensorFlow

【新智元导读】夜间重磅,微软Facebook联手发布AI生态系统,推出 Open Neural Network Exchange(ONNX,开放神经网络交换)格...

3164
来自专栏架构之美

孙玄:转转如何打造AI工程架构体系

3362

扫码关注云+社区

领取腾讯云代金券