构建企业级推荐系统:算法、工程实现与案例分析
上QQ阅读APP看书,第一时间看更新

4.2 协同过滤算法原理介绍

上面一节简单介绍了协同过滤的思想,基于协同过滤的两种推荐算法,其核心是很朴素的“物以类聚、人以群分”的思想。所谓物以类聚,就是计算出每个标的物最相似的标的物列表,然后就可以为用户推荐与用户喜欢的标的物相似的标的物,这就是基于物品(标的物)的协同过滤。所谓人以群分,就是我们可以将与该用户相似的用户喜欢过的标的物推荐给该用户(而该用户未曾操作过),这就是基于用户的协同过滤。协同过滤的基本原理已在2.3.2节介绍,这里不再赘述。具体思想可以参考第2章的图2-8。

这里简单解释一下隐式反馈,只要不是用户直接评分的操作行为都算隐式反馈,包括浏览、点击、播放、收藏、评论、点赞、转发等。有很多隐式反馈是可以间接获得评分的,后面会讲解。如果不间接获得评分,就用1、0来表示是否操作过。

在真实的业务场景中用户数和标的物数一般都是很大的(用户数可能是百万、千万、亿级,标的物可能是十万、百万、千万级),而每个用户只会操作有限的标的物,所以用户行为矩阵是稀疏矩阵。正因为矩阵是稀疏的,所以进行相似度计算及为用户做推荐会更加简单。

相似度的计算可以采用余弦相似度算法,也就是计算两个向量v1,v2(可以是第2章图2-9中的行向量或者列向量)之间的相似度:

讲完了如何计算用户(行向量)或者标的物(列向量)之间的相似度,下面讲解如何为用户做个性化推荐。