层次聚类技术详解
1. 引言
聚类分析是一种无监督的学习方法,旨在将一组对象划分为若干个簇,使得同一簇内的对象彼此相似,而不同簇间的对象差异较大。层次聚类是聚类分析中的一种重要方法,它将数据集划分为一系列嵌套的分区。层次聚类算法可以分为两大类:凝聚算法(Agglomerative)和分裂算法(Divisive)。前者从每个对象作为一个独立的簇开始,逐步合并相似的簇;后者则相反,从所有对象属于一个大簇开始,逐步将其分割成更小的簇。
2. 层次聚类的基本概念
2.1 凝聚算法 vs 分裂算法
- 凝聚算法 :从每个对象作为一个独立的簇开始,逐步合并最相似的簇,直到所有对象都归入一个簇。这种算法通常会产生一棵树状结构,称为树状图(Dendrogram)。
- 分裂算法 :从所有对象属于一个大簇开始,逐步将其分割成更小的簇,直到每个对象成为一个独立的簇。分裂算法较少使用,但在某些特定场景下可能更为适用。
2.2 层次聚类的优点与缺点
优点
- 不需要预先指定簇的数量 :与K-means等划分算法不同,层次聚类不需要预先设定簇的数量。
- 能够处理任意形状的簇 :层次聚类可以发现任意形状的簇,尤其适用于复杂数据集。
- 可视化效果好 :通过树状图可以直观地展示聚类结果,便于理解和解释。