相关文章:
无监督学习 | GMM 高斯混合聚类原理及Sklearn实现
1. 层次聚类
层次聚类
(hierarchical clustering)试图在不同层次对数据集进行划分,从而形成树形的聚类结构。数据集的划分可采用“自底向上”的聚合策略,也可采用“自顶向下”的分拆策略。[1]
因此其优点是可以层次化聚类,将聚类结构视觉化;而缺点是计算量大,我们将在后面提到这一点。
1.1 凝聚聚类
凝聚聚类
(Agglomerative Clustering)是一种采用自底向上聚类策略的层次聚类算法。它先将数据集中的每个样本看作一个初始聚类簇,然后在算法运行的每一步中找出距离最近的两个聚类簇进行合并。该过程不断重复,直到达到预设的聚类簇个数。这里的关键是如何计算聚类簇之间的距离。实际上,每个簇是一个样本集合,因此,只需要采用关于集合的某种距离即可。例如,给定聚类簇 C i C_i Ci 与 C j C_j Cj,可通过下面的式子来计算距离:
最 小 距 离 : d min ( C i , C j ) = min x ∈ C i , z ∈ C j dist ( x , z ) (1) 最小距离:d_{\min }\left(C_{i}, C_{j}\right)=\min _{\boldsymbol{x} \in C_{i}, \boldsymbol{z} \in C_{j}} \operatorname{dist}(\boldsymbol{x}, \boldsymbol{z}) \tag{1} 最小距离:dmin(Ci,Cj)=x∈Ci,z∈Cjmindist(x,z)(1)
最 大 距 离 : d max ( C i , C j ) = max x ∈ C i , z ∈ C j dist ( x , z