推荐算法---模式场景

一、        基于内容推荐

概念:根据物品的相关信息发现不同物品的相关程度,根据用户以往的喜好记录,推荐给用户相似的物品。

例如,在电影推荐中,基于内容的系统首先分析用户已经看过的打分比较高的电影的共性(演员、导演、风格等),再推荐与这些用户感兴趣的电影内容相似度高的其他电影。

优缺点

优点:

1)  具有良好的解释性。通过列出推荐项目的特征,可以解释为什么推荐这些项目。

2)  不需要其他用户数据,没有稀疏问题。

3)  能推荐出新的或不是很流行的项目,没有新项目问题。

缺点:

1)    不能为用户发现新的感兴趣的资源,只能发现和用户已有兴趣相似的资源。

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

3)    需要用户的物品的历史数据,有新用户的问题

二、        基于人口统计学推荐

概念:根据用户的基本信息发现不同用户的相关程度,然后将相似用户喜爱的其他物品推荐给当前用户。

优缺点

优点:

1)    不依赖于物品本身的属性,在不同物品的领域都可以使用。

缺点:

1)  需要收集用户信息,可能涉及到用户不愿意提及的敏感信息。

2)    这种方法过于粗糙,尤其是对品味要求较高的领域,比如图书,电影和音乐等领域,不同用户有不同爱好和习惯,无法得到很好的推荐效果。

三、        基于关联规则推荐

概念:主要是挖掘一些数据的依赖关系,典型的场景就是“购物篮问题”,通过关联规则的挖掘,我们可以找到哪些物品经常被同时购买,或者用户购买了一些物品后通常会购买哪些其他的物品。基于关联规则的推荐更常见于电子商务系统中。

优缺点:

优点:

1) 转化率较高,因为当用户已经购买了频繁集合中的若干项目后,购买该频繁集合中其他项目的可能性更高。即产生购买行为的用户人数/所有浏览该商品的人数。

转化率(CVR)=(转化量/点击量)*100%。

2)能发现新兴趣点

缺点:

1)  需要采集用户数据,存在冷启动问题

2)  关联规则计算耗时

注意:关联规则的发现最为关键且最耗时,是算法的瓶颈,但可以离线进行

 

四、        基于协同过滤的推荐

基于协同过滤的推荐系统一般应用于有用户评分的系统之中,通过分数去刻画用户对于物品的喜好。协同过滤推荐系统被分化为两种类型:基于用户(User-based)的推荐和基于物品(Item-based)的推荐。

基于用户的推荐

概念:根据用户的历史行为数据(评分),发现与当前用户偏好相似的用户群,然后,基于相似用户的历史偏好信息,为当前用户进行推荐。一般的应用中是采用计算“K-Nearest Neighboor”的算法

推荐的物品在内容上可能完全不相关,可以为用户发现新的感兴趣资源。但对新用户有冷启动问题

基于物品的推荐

概念:根据用户的历史行为数据(评分),发现物品之间的相似度,然后根据用户的历史偏好信息,将相似的物品推荐给用户。

推荐的结果着重于维系用户的历史兴趣,更加个性化。但对新物品有冷启动问题。

优缺点:

优点:

1)能够过滤机器难以自动内容分析的资讯,如艺术品,音乐等。

2)可以为用户发现新的感兴趣资源。

3)推荐个性化、自动化程度高。能够有效的利用其他相似使用者的回馈资讯。加快个性化学习的速度。

4)共用了其他人的经验,避免了内容分析不完全或不准确。

缺点:

用户和物品冷启动问题

稀疏性问题(Sparsity):系统历史数据过少,难以进行精确的模式查找匹配推荐

系统延伸性问题(Scalability):新加User或者Item时,系统需要增加的计算负荷量大。

 

常见问题:

1、个性化推荐应用成功的两个条件。

第一是存在信息过载,第二是用户大没有特别明确的需求。

2、冷启动?如何应对冷启动问题?

2.1、冷启动:如何在缺乏数据时给出好的推荐。

2.2、主要分为三类:

用户冷启动:如何给新用户做个性化推荐

物品冷启动:如何将新的物品推荐给可能对它感兴趣的用户

系统冷启动:如何在一个新开发的网站上设计个性化推荐系统。

2.2.1、用户冷启动解决方案:

1)根据热门排行榜进行推荐

2)利用用户注册时提供的信息,基于人口统计学进行推荐

3)找出用户好友信息,推荐给他好友喜欢的物品

4)当收集到部分数据时,基于内容推荐给用户相似物品

5)当评分数据足够多时基于用户协同过滤进行推荐

2.2.2、物品冷启动解决方案

1)利用内容信息,基于内容推荐将他们推荐给喜欢过和他们相似的物品的用户。

2)当收集到足量多的用户对该物品的评分后,根据评分进行基于物品的协同过滤推荐。

2.2.3、系统冷启动解决方案

1)引入专家知识,通过一定的高效方式迅速建立起物品的相关度表。

3、数据稀疏性问题

在许多推荐系统中,已经获得到的评级数据相比整个待预测的项只是很小的一部分,难以进行精确的模式查找匹配推荐。

解决办法:

1)通过使用用户资料信息来计算用户相似度。也就是,两个用户会被认为相似不只单在相同的电影评级类似,而且也有可能属于同一个人口统计区块(demographic),比如,用户的性别,年龄,居住地,教育情况,工作信息。

2)在客户的历史交易和反馈数据中,找出用户间的相似性

3)采用降维技术,奇异值分解SVD, 来降低稀疏矩阵的维度

4、基于用户的协同过滤与基于人口统计学的推荐区别联系

基于用户的协同过滤推荐机制和基于人口统计学的推荐机制都是计算用户的相似度,并基于“邻居”用户群计算推荐。但它们所不同的是如何计算用户的相似度,基于人口统计学的机制只考虑用户本身的特征,而基于用户的协同过滤机制是在用户的历史偏好的数据上计算用户的相似度。

5、基于物品的协同过滤与基于内容的推荐区别联系

基于物品的协同过滤推荐和基于内容的推荐其实都是基于物品相似度预测推荐,只是相似度计算的方法不一样,前者是从用户的历史偏好数据上计算相似度,而后者是基于物品本身的属性特征信息。

6UserCFItemCF之间的比较

UserCF:

推荐结果更着重于反映和用户兴趣相似的小群体的热点,更加社会化

1)适用于用户较少的场合,否则用户相似度矩阵计算代价很大

2)适合用户个性化兴趣不太明显的领域

3)对新用户不友好,因为相似度矩阵不能实时计算

4)很难提供令用户信服的推荐解释

ItemCF:

推荐结果更着重于维系用户的历史兴趣,更加个性化。

1)适用于物品数明显小于用户数的场合,否则物品相似度矩阵计算代价很大

2)适合长尾物品丰富(个性化需求物品),用户个性化需求强的领域

3)对新用户友好,对新物品不友好,因为相似度矩阵不能实时计算

4)利用用户历史行为做推荐解释,比较令用户信服

长尾效应:大多数的需求会集中在头部,而这部分我们可以称之为流行,而分布在尾部的需求是个性化的,零散的小量的需求。而这部分差异化的、少量的需求会在需求曲线上面形成一条长长的”尾巴”,而所谓长尾效应就在于它的数量上,将所有非流行的市场累加起来就会形成一个比流行市场还大的市场。

    原文作者:推荐算法
    原文地址: https://www.cnblogs.com/guozw/p/10050875.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞