对于一个作业,我被要求提供一个证明,证明 k-means 在有限的步骤中收敛。
这是我写的:
下面,是所有聚类中心的集合。定义一个“能量”函数 能量函数是非负的。我们看到算法的步骤(2)和(3)都减少了能量。由于能量是从下方限制并不断减少的,因此它必须收敛到局部最小值。当E(C) 以低于某个阈值的速率变化时,可以停止迭代。
步骤 2 是指通过其最近的聚类中心标记每个数据点的步骤,步骤 3 是通过取均值更新中心的步骤。
这不足以证明在有限数量的步骤中收敛。能量可以不断变小,但不排除中心点可以跳跃而不改变能量的可能性。换句话说,可能存在多个能量最小值,算法可以在它们之间跳跃,不是吗?