协同过滤的核心假设是相似的用户喜欢相似的物品。基于用户的协同过滤找相似用户,把他们喜欢的物品推荐给你;基于物品的协同过滤找相似物品,把你买过物品的相似品推荐给你。
两者各有适用场景。用户数远小于物品数时,用户相似度计算量小,适合用户协同;物品类目稳定、更新慢的场景,物品协同效果更稳,且能离线预计算相似度矩阵,线上查询快。
数据稀疏是大问题。两个用户共同评分的物品很少,相似度就不可信。实践中要设置共同评分数量阈值,低于阈值的相似度直接置零,避免噪声放大。
相似度度量上,余弦相似度关注方向,皮尔逊相关系数去均值后更抗评分偏置。电商场景常用调整余弦,扣除用户平均分,效果通常比原始余弦好一些。