推荐系统⚠️手把手带你学推荐系统 2⚠️ 协同过滤
Posted 我是小白呀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推荐系统⚠️手把手带你学推荐系统 2⚠️ 协同过滤相关的知识,希望对你有一定的参考价值。
概述
推荐系统 (Recommender System) 是一个信息过滤系统, 在很多领域都有广泛的使用. 推荐系统可以为用户提供个性化的产品, 挖掘用户的潜在需求. 从今天开始, 小白我就带大家来学习一下推荐系统方向的知识.
协同过滤
协同过滤 (Collaborative Filtering) 是一种在推荐系统中广泛使用的技术. 该技术通过分析用户或者事物之间的相似性.
协同过滤的步骤:
- 收集用户偏好
- 找到相似的用户或物品
- 计算推荐
基于用户的协同过滤
基于用户的协同过滤推荐算法 (User-Based Filtering) 主要分为两个步骤. 第 1 是要找到目标用户兴趣相似的用户集合, 第 2 是找到这个集合中用户喜欢的物品推荐给目标用户.
基于用户的协同过滤存在的问题:
- 对于一个新用户, 很难找到邻居用户
- 对于一个物品, 所有最近的邻居都在其上没有多少打分 (稀疏)
解决方案:
- 相似度计算使用皮尔逊相似度
- 考虑共同打分物品的数目, 乘上 min(n, N) / N, 其中 n 为共同打分数, N 为阈值
- 对打分进行归一化处理
- 设置一个相似度阈值
基于物品的协同过滤
基于物品的协同过滤 (Item-Based Filtering) 是根据用户历史选择的物品的行为, 通过物品间的相似度, 给用户推荐其他物品.
基于物品的协同过滤的优势:
- 计算性能高, 通常用户数量远大于物品数量
- 可预先计算保留, 物品的属性通常不会改变
基于物品的协同过滤的冷启动问题:
- 引导用户把自己的一些属性表达出来
- 利用先有的开放数据平台, 推荐排行榜单
对比
基于用户的协同过滤 | 基于物品的协同过滤 | |
---|---|---|
性能 | 适用于用户较少的场合. 如果用户过多, 单个用户能够购买的商品数有限, 计算用户相似度矩阵中会存在大量的 0, 计算代价较大, 且用户的喜好随着时间可能改变 | 适用于物品数明显小于用户数的场合, 如果物品很多, 计算物品相似度矩阵的代价较大, 但是物品的属性不容易改变 |
领域 | 时效性要求高, 用户个性化兴趣要求不高 | 长尾物品丰富, 用户个性化需求强烈 |
冷启动 | 在新用户对较少的物品产生行为后, 不能立即对他进行个性化推荐, 很难找到与其相似的用户 | 新用户只要对一个物品产生行为, 就能推荐相关物品给他 |
推荐理由 | 很难提供令用户信服的推荐解释 | 可以根据用户历史行为归纳推荐理由 |
以上是关于推荐系统⚠️手把手带你学推荐系统 2⚠️ 协同过滤的主要内容,如果未能解决你的问题,请参考以下文章