聚类分析:从层次聚类到DBSCAN
1. 层次聚类概述
层次聚类是一种替代基于原型聚类的方法,它有两个主要优点。一是可以绘制树状图(二元层次聚类的可视化),通过创建有意义的分类法帮助解释聚类结果;二是无需预先指定聚类的数量。
层次聚类主要有两种方法:分裂式层次聚类和凝聚式层次聚类。分裂式层次聚类从包含整个数据集的一个簇开始,逐步将其分裂成更小的簇,直到每个簇只包含一个样本。而凝聚式层次聚类则相反,它从每个样本作为一个单独的簇开始,逐步合并最接近的簇对,直到只剩下一个簇。
2. 凝聚式层次聚类的标准算法
凝聚式层次聚类有两种标准算法:单链接和全链接。
- 单链接 :计算每对簇中最相似成员之间的距离,并合并最相似成员距离最小的两个簇。
- 全链接 :与单链接类似,但比较的是每对簇中最不相似的成员来进行合并。
本文将重点介绍使用全链接方法的凝聚式层次聚类,其步骤如下:
1. 计算所有样本的距离矩阵。
2. 将每个数据点表示为一个单例簇。
3. 根据最不相似(距离最远)成员之间的距离合并两个最接近的簇。
4. 更新相似度矩阵。
5. 重复步骤2 - 4,直到只剩下一个簇。
除了单链接和全链接,还有其他常用的凝聚式层次聚类算法,如平均链接和Ward链接。平均链接基于两个簇中所有成员之间的最小平均距离合并簇对;Ward链接则合并导致簇内总平方和(SSE)增加最小的两个簇。
3. 计算距离矩阵
在进行层次聚类之前,需要计算距离矩阵。以下是生成随