登录 注册 下载

推荐系统及其常用算法:揭秘互联网时代打洞察用户兴趣的“武功秘籍”

一、推荐系统的出现

随着互联网的发展,人们正处于一个信息爆炸的时代。相比过去的信息匮乏,如今面对海量的信息数据,对信息的筛选和过滤就成为衡量一个系统好坏的重要指标。一个具有良好用户体验的系统,会对海量信息进行筛选、过滤,将用户最关注最感兴趣的信息展现在用户面前。这极大地提升了系统工作的效率,也节省了用户筛选信息的时间。在此需求下,推荐系统出现了(图1),推荐系统的任务是联系用户和信息,一方面帮助用户发现对自己有价值的信息;另一方面让信息能够展现在对它感兴趣的人群中,从而实现信息提供商与用户的双赢。

1

二、推荐算法介绍

(一)基于人口统计学的推荐

基于人口统计学的推荐,是根据系统用户的基本信息发现用户的相关程度,然后将相似用户喜爱的其他物品推荐给当前用户。

2

系统(图2)首先会根据用户的属性建模,比如用户的年龄,性别,兴趣等信息,根据这些特征计算用户间的相似度。比如系统通过计算发现用户A和C比较相似。就会把A喜欢的物品推荐给C。

1. 基于人口统计学推荐的优势:

(1)不需要历史数据,没有冷启动问题;

(2)不依赖于物品的属性,因此其他领域的问题都可无缝接入。

2. 基于人口统计学推荐的不足:

算法比较粗糙,效果很难令人满意,只适合简单的推荐。

(二)基于内容的推荐

与方法1类似,基于内容的推荐是将目标转到物品本身,用物品本身的相似度而不是用户的相似度进行推荐。系统首先对物品(图3)的属性进行建模,图中用类型作为属性。通过相似度计算,发现电影A和C相似度较高,因为他们都属于爱情类。系统还会发现用户A喜欢电影A,由此得出结论,用户A很可能对电影C也感兴趣。于是将电影C推荐给A。在实际应用中,只根据电影类型做相似判断显然过于粗糙,还需要考虑演员、导演、影评等信息。

3

1. 基于内容推荐的优势:

对用户兴趣进行建模,通过对物品属性维度的增加,可以获得更好的推荐精度。

2. 基于内容推荐的不足:

(1)物品的属性有限,很难有效地得到更多数据;

(2)物品相似度的衡量标准只考虑到了物品本身,有一定的片面性;

(3)需要用户的物品的历史数据,有冷启动的问题。

 

(三)协同过滤

协同过滤(Collaborative Filtering, 简称CF)是一个典型的利用集体智慧的方法。要理解什么是协同过滤,举个例子:如果你现在想看个电影,但你不知道具体看哪部,你会怎么做?大部分的人会问问周围的朋友,看看最近有什么好看的电影推荐,而我们一般更倾向于从口味比较类似的朋友那里得到推荐,这便是协同过滤的核心思想。

1. 找到相似用户和物品

运用协同过滤,首先要计算用户间以及物品间的相似度,计算方法如下:

在协同过滤中,有两种主流方法:一种是基于用户的协同过滤(CF);一种是基于物品的协同过滤(CF)。

 4

5

2. 基于用户的 CF

基于用户的CF,是基于用户对物品的偏好找到相邻的邻居用户,然后将邻居用户喜欢的推荐给当前用户。计算方法:将一个用户对所有物品的偏好作为一个向量来计算用户之间的相似度,找到邻居K后,根据邻居的相似度权重以及他们对物品的偏好,预测当前用户没有偏好的未涉及物品,计算得到一个排序的物品列表作为推荐。图4中对于用户A,根据用户的历史偏好,这里只计算得到一个邻居用户C,然后将用户C喜欢的物品D推荐给用户A。

6

基于用户的协同过滤VS基于人口统计学的推荐

两者都是计算用户的相似度,并基于“邻居”用户群计算推荐,但不同的是如何计算用户的相似度。基于人口统计学的机制只考虑用户本身的特征;而基于用户的协同过滤机制是在用户的历史偏好的数据上计算用户的相似度,它的基本假设前提是喜欢类似物品的用户可能有相同或相似口味和偏好。

3. 基于物品的 CF

基于物品的CF的原理和基于用户的CF类似,只是在计算邻居时采用物品本身,而不是从用户的角度,即基于用户对物品的偏好找到相似的物品,然后根据用户的历史偏好,推荐相似的物品给他。计算方法:是将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度,得到物品的相似物品后,根据用户历史的偏好预测当前用户还没有表示偏好的物品,计算得到一个排序的物品列表作为推荐。图5中对于物品A,根据所有用户的历史偏好,喜欢物品A的用户都喜欢物品C,得出物品A和物品C比较相似,而用户C喜欢物品A,那么可以推断出用户C可能也喜欢物品C。

7

基于物品的协同过滤VS基于内容的推荐

两者其实都是基于物品相似度预测推荐,只是相似度计算的方法不一样,前者是从用户历史的偏好推断,而后者是基于物品本身的属性特征信息进行推断。

(1)协同过滤的优势:

①不需要对物品或用户进行严格的建模,且不要求物品的描述是机器可理解的;

②计算出来的推荐是开放的,可以共用他人的经验,很好地支持用户发现潜在的兴趣偏好。

(2)协同过滤的不足:

①方法的核心是基于历史数据,所以对新物品和新用户有“冷启动”的问题;

②推荐的效果依赖于用户历史偏好数据的多少和准确性;

③在大部分的实现中,用户历史偏好是用稀疏矩阵进行存储的,而稀疏矩阵上的计算有些明显的问题,包括可能少部分人的错误偏好会对推荐的准确度有很大的影响;

④对于一些特殊品味的稀有用户不能给予很好的推荐;

⑤由于以历史数据为基础,抓取和建模用户的偏好很难修改或根据用户的使用演变,从而导致方法不够灵活。

(四) 混合推荐算法

以上介绍的方法是推荐领域最常见的几种方法。但是可以看出,每个方法都不是完美的,如在实际应用中,Amazon这样的系统会混合使用多种推荐算法。所以我们在建立推荐系统时,应该综合考虑以提高系统效率。

三、推荐系统的发展方向

(一)考虑用户对系统的实时反馈,更好地利用反馈数据强化推荐算法;

(二)考虑在保证推荐准确性的同时,扩大推荐的覆盖度、增加推荐的多样性、加强推荐的新颖性,提高用户的惊喜度;

(三)考虑时间、空间、任务等因素,如用户兴趣变化、物品生命周期、季节效应、系统的动态变化速率等,来更好的完成推荐任务。

分享到:0
^
激活兑换码
关闭
请输入您的兑换码:
姓名:
单位:
职位:
邮箱:
手机号:
地址:
验证码:
激活
提示:
1、您的订阅周期将从兑换码被激活的当日开始计算。
2、同时激活多个兑换码,订阅期限会自动向后叠加。
3、如果您不想立即使用兑换码,可以在稍后任意时间激活,订阅码可赠予他人,但只能激活一次。
4、兑换码激活后,所绑定的授权用户仅限一人使用,不可多人分享账号。若发现违规使用,官方将做销号处理。