随机初始化 K 个集群质心,这里设质心个数为2
第一步:分配点给集群质心
对 m 个 点,每个点对应的质心为 c(i) ,若离红色的质心近,则 c(i) 的值为1,否则为2。计算距离用的是L2范式。
第二步:移动集群质心
对 K 个质心,每次都计算分配给他的所有点的“中心”,这个中心通过计算不同维度的平均值得到,假如只有两个特征,(如图)计算横的平均值,竖的平均值,得到的点就是新的质心。图中最下方式子的 x(1) x(5)等,都是有 n 个特征的向量,计算平均值时每个特征都要计算到。

对于极端情况,如一个质心没有任何点被分配给它,则消除这个簇,并且令 K = K-1。
K-means算法优化目标
c(i) 是当前这个样本点被分配的集群的下标
μk 是簇的质心k
μc(i) 是当前这个点被分配的质心
成本函数如下图所示,也叫失真函数( distortion) 。
第一步分配点给质心的时候 μ1 到 μk 是不动的,分配点来使 J 最小;第二步移动集群质心的时候是固定 c(1) 到 c(m) ,通过移动质心来使 J 最小。k-means算法的 J 不可能变大,因为每一步都是在尝试减小 J ,变大了说明可能出现了错误。

本文详细介绍了K-means聚类算法的步骤,包括随机初始化2个质心,通过L2范式分配点至最近质心,然后根据点的平均值更新质心。算法目标是通过迭代降低失真函数,确保每次移动都减小成本。
572

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



