K-means 算法
算法过程描述
- 随机选取k个点作为簇的中心
- 对于每一个样本的计算到中心的距离,并将样本分到最近的簇中
- 更新簇的中心位置
- 重复上述2-3步,直至簇的中心位置不在发生改变
其中目标函数为
其中表示样本
是否属于簇
因为如果簇中心位置确定,那么
也同时将确定,为了优化目标函数,k-means采用迭代求解的方法,首先固定
,优化
;然后固定
优化
。
首先初始化簇中心,固定,最小化
:
分配每个样本点到其最近的中心点所在的簇
然后固定簇中心,最小化
: