推荐系统⚠️手把手带你学推荐系统 2⚠️ 协同过滤

Posted 我是小白呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推荐系统⚠️手把手带你学推荐系统 2⚠️ 协同过滤相关的知识,希望对你有一定的参考价值。

【推荐系统】⚠️手把手带你学推荐系统 2⚠️ 协同过滤

概述

推荐系统 (Recommender System) 是一个信息过滤系统, 在很多领域都有广泛的使用. 推荐系统可以为用户提供个性化的产品, 挖掘用户的潜在需求. 从今天开始, 小白我就带大家来学习一下推荐系统方向的知识.

协同过滤

协同过滤 (Collaborative Filtering) 是一种在推荐系统中广泛使用的技术. 该技术通过分析用户或者事物之间的相似性.

协同过滤的步骤:

  1. 收集用户偏好
  2. 找到相似的用户或物品
  3. 计算推荐

基于用户的协同过滤

基于用户的协同过滤推荐算法 (User-Based Filtering) 主要分为两个步骤. 第 1 是要找到目标用户兴趣相似的用户集合, 第 2 是找到这个集合中用户喜欢的物品推荐给目标用户.

基于用户的协同过滤存在的问题:

  • 对于一个新用户, 很难找到邻居用户
  • 对于一个物品, 所有最近的邻居都在其上没有多少打分 (稀疏)

解决方案:

  • 相似度计算使用皮尔逊相似度
  • 考虑共同打分物品的数目, 乘上 min(n, N) / N, 其中 n 为共同打分数, N 为阈值
  • 对打分进行归一化处理
  • 设置一个相似度阈值

基于物品的协同过滤

基于物品的协同过滤 (Item-Based Filtering) 是根据用户历史选择的物品的行为, 通过物品间的相似度, 给用户推荐其他物品.

基于物品的协同过滤的优势:

  1. 计算性能高, 通常用户数量远大于物品数量
  2. 可预先计算保留, 物品的属性通常不会改变

基于物品的协同过滤的冷启动问题:

  1. 引导用户把自己的一些属性表达出来
  2. 利用先有的开放数据平台, 推荐排行榜单

对比

基于用户的协同过滤基于物品的协同过滤
性能适用于用户较少的场合. 如果用户过多, 单个用户能够购买的商品数有限, 计算用户相似度矩阵中会存在大量的 0, 计算代价较大, 且用户的喜好随着时间可能改变适用于物品数明显小于用户数的场合, 如果物品很多, 计算物品相似度矩阵的代价较大, 但是物品的属性不容易改变
领域时效性要求高, 用户个性化兴趣要求不高长尾物品丰富, 用户个性化需求强烈
冷启动在新用户对较少的物品产生行为后, 不能立即对他进行个性化推荐, 很难找到与其相似的用户新用户只要对一个物品产生行为, 就能推荐相关物品给他
推荐理由很难提供令用户信服的推荐解释可以根据用户历史行为归纳推荐理由

以上是关于推荐系统⚠️手把手带你学推荐系统 2⚠️ 协同过滤的主要内容,如果未能解决你的问题,请参考以下文章

推荐系统⚠️手把手带你学推荐系统 1⚠️ 简介

推荐系统手把手带你学推荐系统 3 实现第一个推荐系统

❤️ 珊姐带你学JavaScript:数组和函数 (万文建藏)❤️

推荐系统 | 一文带你了解协同过滤的前世今生

[机器学习]推荐系统之协同过滤算法

[机器学习]推荐系统之协同过滤算法