问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

推荐系统中的协同过滤方法详解

创作时间:
作者:
@小白创作中心

推荐系统中的协同过滤方法详解

引用
CSDN
1.
https://m.blog.csdn.net/m0_54379602/article/details/145840370

推荐系统(Recommender System)是通过分析用户的行为和兴趣,自动预测并推荐相应内容的系统。协同过滤(Collaborative Filtering,CF)是推荐系统中最常用的方法之一,它通过发现用户或物品之间的相似性来预测用户的偏好。本文将详细介绍协同过滤的基本概念和实现方法。

介绍

简单来说,推荐系统(Recommender System,RS)就是用户通过明确的查询(search)从数据库中寻找所需内容(items)(如产品、网页或新闻),然后系统基于用户的行为或兴趣,自动预测并推荐相应内容(recommend)。如下图所示:

其中,最重要的就是如何实现推荐系统(Recommender Systems),以下是这个文章要讲的几个推荐方法:协同过滤(Collaborative Filtering, CF),基于内容的推荐方法(Content- based recommenders,CB-R)和潜在因素模型(Latent factors models,LF)。

在讲解前需要先了解几个概念:

Utility Matrix 效用矩阵:

  • X= set of Customers 用户集合
  • S= set of Items 物品集合
  • R=set of ratings 评分集合

效用矩阵就是由X x S → R 形成的矩阵,如下图例子所示就是一个效用矩阵。

Similarity computation 相似度计算:

  1. cosine similarity 余弦相似度:
  2. Pearson correlation coefficient 皮尔逊相关系数:

协同过滤推荐-Collaborative Filtering(CF)

协同过滤是一种基于用户行为数据的推荐算法,通过发现用户或物品之间的相似性来预测用户的偏好,进而推荐可能感兴趣的物品。具体包含user-user CF和item-item CF两种实现方,即:

  • user-user CF:相似的人喜欢相似的东西
  • tem-item CF:相似的物品受到相似用户的喜欢

User-User CF

假设有一个用户x,先找到与用户x的评分行为“相似(similar)”的其他用户组成的集合N。基于集合N中用户的评分,预测x的评分并为其推荐物品。

user-user CF算法内容:

  • Prepare Utility Matrix: center, replace NaN’s(准备效用矩阵,进行中心化处理,去除 NaN(缺失值))
  • Find be the set 𝑁 of 𝑘 “neighbors” of x (寻找用户 x 的 k 个“邻居”)
  • Preselect users who have already rated item i (选出已经对物品i 评分的用户)
  • Rank them by 𝑠𝑖𝑚(𝑥, 𝑦), take top k(根据县四度排序,选取k个最相似的邻居)
  • Use the formula to predict rating of 𝑥 for 𝑖(使用公式进行预测)

Item-Item CF

  • For item 𝑖, find similar items rated by user x
  • let 𝑁(𝑖; 𝑥) be the set of such items
  • use similarity metrics 𝑠𝑖𝑚() as before
  • Estimate rating of user 𝑥 for item 𝑖 based on previous ratings for the items in 𝑁(𝑖; 𝑥)
  • The predicted rating of user 𝑥 for item 𝑖 is:

这个方法与User-User CF不同,Item-Item CF关注的是“用户是否会喜欢一个与他们之前喜欢的物品相似的物品”。遍历用户x评分的item,然后在这些item中寻找相似的item来计算rating。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号