协同过滤推荐算法是诞生最早,并且较为著名的推荐算法。
主要的功能是预测和推荐。算法通过对用户历史行为数据的挖掘发现用户的偏好,基于不同的偏好对用户进行群组划分并推荐品味相似的商品。
协同过滤推荐算法分为两类,分别是基于用户的协同过滤算法(user-based collaboratIve filtering),和基于物品的协同过滤算法(item-based collaborative filtering)
简单的说就是:人以类聚,物以群分
1、基于用户的协同过滤 user-based collaboratIve filtering
- 基于用户的协同过滤算法是通过用户的历史行为数据发现用户对商品或内容的喜欢(如商品购买,收藏,内容评论或分享),并对这些喜好进行度量和打分
- 根据不同用户对相同商品或内容的态度和偏好程度计算用户之间的关系。在有相同喜好的用户间进行商品推荐
- 简单的说就是如果A,B两个用户都购买了x、y、z三本图书,并且给出了5星的好评。那么A和B就属于同一类用户。可以将A看过的图书w也推荐给用户B。
基于用户协同过滤算法的原理图
所以,协同过滤算法主要分为两个步骤:
- 1、寻找相似的用户集合;
- 2、寻找集合中用户喜欢的 且目标用户没有的 进行推荐。
2、基于物品的协同过滤算法 item-based collaborative filtering
- 基于物品的协同过滤算法与基于用户的协同过滤算法很像,将商品和用户互换
- 通过计算不同用户对不同物品的评分获得物品间的关系
- 基于物品间的关系对用户进行相似物品的推荐。这里的评分代表用户对商品的态度和偏好
举例:
- 物品组合(A,D)被同时偏好出现的次数最多,因而可以认为A/D两件物品的相似度最高
- 从而,可以为选择了A物品的用户推荐D物品