第2章 无监督机器学习

第1章已介绍过,无监督学习的目的是从未标记数据发现富有洞察力的信息。大型数据集(指数据点和特征的数量都很多)往往缺乏内在结构(我们称其为“非结构化”),乍一眼看上去很难看出任何信息。遇到这种情况,就要用无监督机器学习技术,突显隐藏在数据中的内在结构(聚类),或在不丢失相关信息的前提下降低数据的复杂度(降维)。本章重点介绍主要聚类算法(第1部分)和降维方法(第2部分)。它们的不同点和各自的优点,我们会用实际的例子加以说明。实现这些例子要用到Python的几个科学计算库。所有代码均可从我的GitHub主页下载,地址是https://github.com/ai2010/machine_learning_for_the_web/tree/master/chapter_2/。现在我们开始讲聚类算法。

聚类算法(clustering algorithm),将数据重组为按某种方式排列的多个子集(簇,cluster),以便从数据中推断出有意义的结构。我们可以将簇定义为一组具有某些相似特征的数据点。量化数据点之间相似度的方法,决定着聚类算法的种类。

根据处理数据时所使用的度量方法或做出的假设,我们可将聚类算法分成不同的种类。接下来讨论时下最常用的几大方法:分布方法、质心点方法、密度方法和层次方法(hierarchical methods)。每种聚类方法,我们都会详细讲解它的一种算法实现。我们首先讨论分布方法。后面我们将通过实际的例子比较不同算法的性能。本章代码的IPython notebook版本和纯Python代码版本,都已放到我的GitHub主页该书的文件夹下,详见https://github.com/ai2010/machine_learning_for_the_web/tree/master/chapter_2/ ...

Get Web机器学习 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.