加速 K-Means 聚类算法:Fission-Fusion K-Means 详解
1. K-Means 中的点分组
在 K-Means 算法的分配步骤中,每个点 $x$ 会找出其最近的中心点,并被分配到相应的簇中。利用这一特性,我们可以对数据点进行分组。对于来自同一簇 $C_i$ 的点,如果它们在本次迭代中被分配到了同一簇 $C_j$,那么这些点将构成 $C_j$ 的一个新组。
初始时,经过第一次迭代会生成 $k$ 个簇,这些簇也被视为每个簇最初的组。在后续迭代中,由于中心点的更新,某些组 $g_{im}$ 中的点会被重新分配到它们新的最近簇 $C_j$。对于 $j \in {1, \cdots, k}$ 且 $i \neq j$,我们可以自然地从之前的组 $g_{im}$ 中分离出这些点,形成新的组 $g_{jm}’$。这个过程类似于核裂变,因此被称为算法的裂变步骤。在迭代过程中,点会根据分配情况被划分成不同的组。
例如,我们选择三个初始中心点 $c_1$、$c_2$、$c_3$,每个点会被分配到其最近的中心点。在第一次迭代中,会生成三个组 $g_{11}$、$g_{21}$ 和 $g_{31}$。在第二次迭代中,中心点发生了移动,这三个组会根据定义进行更新。此外,$g_{12}$ 和 $g_{13}$ 分别包含了在第一次迭代中来自簇 $C_2$ 和 $C_3$,并在第二次迭代中被分配到 $C_1$ 的点。第三次迭代中,$g_{32}$ 是簇 $C_3$ 的一个新组,它包含了第二次迭代中来自 $g_{13}$ 的点。第四次迭代中,$g_{22}$ 和 $g_{23}$ 是从 $g_{12}$ 和 $g_{13}$ 中分离出来并分配到 $C_2$ 的新组。通过这种方式,我们可以
订阅专栏 解锁全文
687



被折叠的 条评论
为什么被折叠?



