当前位置:文档之家› 推荐系统的基础推荐算法介绍

推荐系统的基础推荐算法介绍


4. 基于协同过滤的算法
• 协同过滤算法
如图1所示,在CF中,用m×n的矩阵表示用户对物品的喜好情况,一般用打分表示用户对物品的 喜好程度,分数越高表示越喜欢这个物品,0表示没有买过该物品。图中行表示一个用户,列表示 一个物品,Uij表示用户i对物品j的打分情况。CF分为两个过程,一个为预测过程,另一个为推荐 过程。预测过程是预测用户对没有购买过的物品的可能打分值,推荐是根据预测阶段的结果推荐 用户最可能喜欢的一个或Top-N个物品。
➢ 这里的相关联不同于之前提到的相似性,比如用户购买了面包就可能还需要牛奶, “尿布和啤酒的故事”;
➢ 关联规则通常从数据库中用户的历史交互记录挖掘项集之间的关联,简单来说就 是同时被很多用户购买的物品集合,集合内的物品可以相互进行推荐。
➢ 常用的关联规则挖掘算法主要有 Apriori 算法和 FP 树,主要目的是找到最大频繁 项。
4. 基于协同过滤的算法
• User-based算法与Item-based算法对比
CF算法分为两大类,一类为基于memory的(Memory-based),另一类为基于Model的 (Model-based),User-based和Item-based算法均属于Memory-based类型,具体细分类 可以参考wikipedia的说明。
➢ 衡量关联规则质量的指标:支持度和置信度;支持度表示在历史记录中A和B同时 被购买的概率,置信度表示A推荐B的可信程度(在A被购买的记录中,AB同时被 购买的记录)。
3. 基于关联规则的算法
• 算法特点
➢ 优点:转化率较高,当用户购买了频繁集中的某些项目之后,集合中其他项目被 购买的概率更高。
➢ 缺点:项目数量较大时,计算量很大,可以通过离线计算解决;存在冷启动和稀 疏性问题;会受到流行度偏见的影响。
➢ 适用范围:常用于资讯类的系统中,对待推荐的项目(新闻、文章、电影、音乐) 抽取一定的 tag 作为关键词,然后通过这些 tag 来评价相似度。
目录
01 基于流行度的算法 02 基于内容的算法 03 基于关联规则的算法 04 基于协同过滤的算法
3. 基于关联规则的算法
• 基本思想
当用户喜欢一个项目时,将与该项目相关联的项目推荐给该用户
➢ 比如用户观看了电影速度与激情Ⅱ,那么可以给他推荐速度与激给他等等。
➢ 实施思路:将要参与计算相似度的内容(标题、描述等)进行相关的处理,得到 每个项目的统一表示,然后再计算相似度
2. 基于内容的算法
• 基本思想
➢ 例:书籍的推荐;将每本书的书名作为内容,从内容中删除停用词(例如语法词, 非常常见的词),然后将书表示为指示哪些词存在的向量(词袋模型等),这称 为向量空间表示;根据每本书的书名的向量表示,计算相互之间的相似性(余弦 相似性等),知道书籍彼此间的相似性之后就可以根据用户之前评分过的书来对 他们进行推荐。
待推荐的书的书名
经过处理后每 本书对应的向 量空间的表示
2. 基于内容的算法
• 算法特点
➢ 优点:易于实现;因其不需要用户的信息数据所以可以避免稀疏性和冷启动问题; 核心是基于项目本身的特征进行推荐,不会出现一直推荐热门项目的问题,有效 克服流行度偏见;可以用项目的内容特征来对推荐结果进行解释。
➢ 缺点:进行相似性计算的特征的选择需要相当的专业知识才能保证一定的推荐效 果;推荐的项目很可能会重复出现,从而限制了用户可能扩散的兴趣点,会使得 系统不能给用户惊喜。
智慧IT
推荐系统的基础推荐算法介绍
技术创新,变革未来
目录
01 基于流行度的算法 02 基于内容的算法 03 基于关联规则的算法 04 基于协同过滤的算法
1. 基于流行度的算法
• 基本思想
将所有待推荐的项目按照它的流行度进行排序,将流行度最高的项目推荐给 用户。
➢ 这里的流行度:在电商平台中,可以指销量、用户评分或收藏量等指标;在社交 平台中,又可以指关注数、分享数、搜索数或下载量等等指标;
➢ 适用范围:常用于电商平台中,通常是通过一个项目推荐另一个项目,所以一般 频繁2项集即可满足要求。
目录
01 基于流行度的算法 02 基于内容的算法 03 基于关联规则的算法 04 基于协同过滤的算法
4. 基于协同过滤的算法
• 协同过滤算法
➢ 推荐系统应用数据分析技术,找出用户最可能喜欢的东西推荐给用户, 现在很多电子商务网站都有这个应用。目前用的比较多、比较成熟的推 荐算法是协同过滤(Collaborative Filtering,简称CF)推荐算法,CF的基 本思想是根据用户之前的喜好以及其他兴趣相近的用户的选择来给用户 推荐物品。
➢ 比如微博有它的热搜榜,网易云音乐平台也有它的热门搜索。
1. 基于流行度的算法
• 算法特点
➢ 优点:算法简单易实现;对于新注册的用户来说较为有效(即可以有效 缓解冷启动问题);当选择合适的流行度衡量标准时,算法的效果也还 不错。
➢ 缺点:不能针对特定的用户进行具体的个性化的推荐(基于统计学方法 做的工作)。
目录
01 基于流行度的算法 02 基于内容的算法 03 基于关联规则的算法 04 基于协同过滤的算法
2. 基于内容的算法
• 基本思想
根据用户的历史兴趣交互记录,将与用户以前喜欢的项目相似的项目推荐给 用户
➢ 这里的相似是通过项目的内容(例如标题、描述关键词、地区、时间等)来计算 的,要注意要与后面提到的协同过滤中的根据用户对项目的交互记录来计算相似 度区分开
1. 基于流行度的算法
• 算法特点
➢ 适用范围: ① 可以单独作为推荐算法进行使用,作为推荐系统为了实施更个性化 的推荐算法而获得足够的用户兴趣活跃度和交互量的一个过渡; ② 可以引入混合算法中,主要解决冷启动问题。
➢ 优化改进:给用户进行分类,然后再进行流行度推荐,比如把热度榜上 的科技新闻优先推荐给关注科技时事的用户。
User-based的基本思想是如果用户A喜欢物品a,用户B喜欢物品a、b、c,用户C喜欢a 和c,那么认为用户A与用户B和C相似,因为他们都喜欢a,而喜欢a的用户同时也喜 欢c,所以把c推荐给用户A。该算法用最近邻居(nearest-neighbor)算法找出一个用 户的邻居集合,该集合的用户和该用户有相似的喜好,算法根据邻居的偏好对该用户 进行预测。
相关主题