前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每周学点大数据 | No.56推荐系统概述

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

作者头像
灯塔大数据
发布2018-04-04 15:31:29
6310
发布2018-04-04 15:31:29
举报
文章被收录于专栏:灯塔大数据灯塔大数据

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

下期精彩预告

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

文章作者:王宏志

文章编辑:秦革

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-09-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 灯塔大数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档