本文意图
- 结合目标函数,了解 k-means步骤和每一步的目的
- 如何避免陷入局部最优
- 如何使聚类出的簇更加平衡
目录
3.4 -balance方法二——阴阳K-Means加速重新分簇
第一部分 K-Means步骤
1.1 什么是聚类?
给定一组未加标签的数据集,希望通过算法自动将数据分成有紧密关联的子集或是簇。
假设我们采集到了一些牡丹花数据,但我们并不知道这些牡丹花具体是哪个品种的。植物学家想要按照特征的相似性,先大致对牡丹花进行粗分类,再对每个类别做具体细致的研究。此时,我们首先想到的就是无监督学习聚类算法。
1.2 K-Means详细步骤
1.2.1 目标函数
下面用一个简单的例子,对K-Means的步骤做说明。假设我们有一些二维样本点,最终聚类的结果如下图所示。K-Means算法是怎样将这些点聚成两个簇的呢?
1.2.2 随机初始化簇心
所有样本点一开始是没有被聚类的。将K取为2,即我们希望最终聚成2个簇。完成初始化簇心之后,我们随机选中了两个样本作为簇心。
1.2.3 数据点分簇
第一次分簇之后,我们将得到下图所示的2个簇
1.2.4 重新计算簇心
由于簇心是到簇内所有点距离相等的位置,因此在第一次分簇结束之后,簇心的位置会相应的发生改变。我们重新计算簇心位置,如下图所示