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

4.6.1 优点

通过前面几节的介绍,相信读者对协同过滤算法的优点也心中有数了,协同过滤算法有很多优点,总结下来最大的优点有如下5个。

1.算法原理简单、思想朴素

从前面几节的讲解中不难看出,协同过滤算法的实现非常简单,只要懂简单的四则混合运算,以及了解向量和矩阵的基本概念就可以理解算法的原理。估计在整个机器学习领域,没有比这个算法更直观简单的了(KNN可能是唯一个算法原理可以与协同过滤思路相媲美的简单算法)。

协同过滤的思想是简单的“物以类聚、人以群分”的思想,正因为思想朴素,所以算法原理简单。

2.算法易于分布式实现、易于处理海量数据集

4.3节、4.4节分别讲解了协同过滤算法的离线和近实时工程实现,读者应该很容易看到,协同过滤算法可以非常容易利用Spark分布式平台来实现,因此很容易通过增加计算节点来应对处理大规模数据集的需求。

3.算法整体效果很不错

协同过滤算法是得到工业界验证的一类重要算法,在Netflix、Google、Amazon及国内大型互联网公司都有很好的落地和应用。

4.能够为用户推荐多样、新颖的标的物

前面讲到协同过滤算法是基于群体智慧的一类算法,它是利用群体行为来做决策的。在实践使用中已经被证明可以很好地为用户推荐具有多样性、新颖性的标的物。特别是当群体规模越大,用户行为越多时,推荐的效果越好。

5.协同过滤算法只需要用户的行为信息,不依赖用户及标的物的其他信息

从前面的算法及工程实践中大家可以看到,协同过滤算法只依赖用户的操作行为,不依赖具体用户相关和标的物相关的信息就可以做推荐,而用户信息和标的物信息往往都是比较复杂的半结构化或者非结构化信息,处理起来很不方便。这是一个极大的优势,正是这个优势让协同过滤算法在工业界大放异彩,备受追捧。