1
Hartigan-Wong k-means方法和其他算法的收敛性
我一直试图理解主要stats在R语言包中实现的不同的k均值聚类算法。 我了解劳埃德(Lloyd)算法和麦昆(MacQueen)的在线算法。我对它们的理解如下: 劳埃德算法: 最初选择“ k”个随机观测值作为“ k”簇的质心。然后,以下步骤迭代进行,直到质心收敛。 计算每个观测值与所选质心之间的欧几里得距离。 最接近每个质心的观测值标记在“ k”桶中。 每个存储桶中所有观测值的平均值用作新的质心。 新的质心取代了旧的质心,如果旧的和新的质心尚未收敛,则迭代返回到步骤1。 收敛的条件如下:旧质心和新质心完全相同,质心之间的差异很小(约为10 ^ -3)或达到最大迭代次数(10或100)。 麦昆的算法: 这是一个在线版本,其中第一个“ k”实例被选为质心。 然后,根据哪个质心最接近该实例,将每个实例放置在存储桶中。重新计算各个质心。 重复此步骤,直到将每个实例放置在适当的存储桶中。 此算法只有一次迭代,并且循环针对“ x”个实例进行 Hartigan-Wong算法: 将所有点/实例分配给随机存储桶并计算相应的质心。 从第一个实例开始,找到最近的质心并装配该铲斗。如果存储桶已更改,则重新计算新质心,即新分配的存储区的质心和旧存储区分配的质心,因为这是受更改影响的两个质心 遍历所有点并获得新的质心。 对点2和3进行第二次迭代,这将执行某种清理操作并将杂散点重新分配给正确的存储桶。 因此,该算法执行2次迭代,然后才能看到收敛结果。 现在,我不确定在Hartigan-Wong算法的第4点中我认为的方法是否正确。我的问题是,Hartigan-Wong的以下方法是否是实现k-means的正确方法?此方法只有两次迭代吗?如果不是,收敛的条件是什么(何时停止)? 我了解的另一个可能的实现说明是。 将所有点/实例分配给随机存储桶并计算相应的质心。 从第一个实例开始,找到最近的质心并分配该存储桶。如果存储桶已更改,则重新计算新质心,即新分配的存储区的质心和旧存储区分配的质心,因为这是受更改影响的两个质心。 一旦存储桶中的任何点发生更改,请回到第一实例并再次重复这些步骤。 当所有实例都被迭代且所有点均未更改存储桶时,迭代结束。 这样,每次实例更改存储桶时,都会从数据集的开头一次又一次地进行很多迭代。 任何说明都将有所帮助,如果我对这些方法中的任何一种理解有误,请告诉我。
10
r
clustering
k-means