作者:禅与计算机程序设计艺术
1.背景介绍
在数据分析、数据挖掘和信息检索中,层次聚类(Hierarchical clustering)是一个非常重要的机器学习技术。它的主要思想是:将对象按照距离或相似性进行划分组,形成一系列的聚类簇。层次聚类的目的是对一组对象的集合进行自动分类,使得同一类的对象之间具有较大的相似度,不同类的对象之间具有较小的相似度。例如,在图片搜索引擎中,基于颜色、纹理等特征的图像相似性,可以帮助用户找到相关的图像;在文本检索领域,基于主题的文档相似性,可以帮助用户找到相关的文档。层次聚类的基本思路如下图所示:
图1 层次聚类基本思路示意图
通常来说,层次聚类的实现过程可分为以下三个步骤:
- 数据准备阶段:加载数据集,清洗、规范化、过滤噪声数据等,得到原始数据样本。
- 聚类阶段:将数据样本通过距离或相似性指标进行聚类,得到初始的聚类中心。
- 分裂合并阶段:根据上一步生成的聚类中心,重新调整聚类结果,直到得到最终的聚类结果。
层次聚类常用于无监督学习、数据挖掘、图像处理、文本处理等领域。它能够有效地发现数据中的结构和模式。在图像处理方面,它能够从图像的局部拼接中提取出复杂的特征,并将它们组织成一系列的层次聚类。在