1.协同过滤(CF, Collaborative Filtering)也叫做基于近邻的推荐算法,主要思想是:利用已有的用户群过去的行为或者意见预测数据,根据和当前用户/当前物品比较相似的近邻数据来产生推荐结果,和KNN算法的思想比较类似。主要应用场景是在线零售系统,目的是进行商品促销和提高销售额。算法输入是一个用户-物品评分矩阵,输出的数据一般有两类:当前用户对物品喜欢和不喜欢程度的预测数值和n项的推荐物品的列表(不包含当前用户已经购买过的物品)。
主要/最基础的实现方式有:
• 基于用户的最近邻推荐
• 基于物品的最近邻推荐
2.问题:相似怎么定义
3.CF和KNN的区别:
- 输入数据不一样:KNN输入数据为样本的特征向量,CF为用户对物品的评分矩阵
- 相似度方法不一样:KNN计算样本特征向量的相似性;基于用户的CF是用两个用户对同一物品的评分为矩阵向量计算相似性,基于物品的CF是计算对于两个物品不同用户的评分为矩阵向量计算相似性
- 预测结构的产生方式不一样