一、假设
K-means 算法是一种聚类算法。为了更好的解释这个算法,首先我们假设给定的数据集为 { x ( 1 ) , x ( 2 ) , ⋯ , x ( m ) } , x ( i ) ∈ R n \{ x^{(1)}, x^{(2)}, \cdots, x^{(m)} \}, x^{(i)} \in \mathbb{R}^n { x(1),x(2),⋯,x(m)},x(i)∈Rn,注意数据是没有标签的。
二、K-means 算法的一般流程
1、选择初始的 K 个聚类中心 μ 1 , μ 2 , … , μ k ∈ R n \mu_1, \mu_2, \dots, \mu_k \in \mathbb{R} ^ n μ1,μ2,…,μk∈Rn
2、重复以下两步直到收敛(聚类中心不再变化或者变化低于阙值):
(1) 计算每个样本到各个聚类中心的距离,并将其类别标号设为距其最近的聚类中心的标号,即:
c ( i ) : = a r g m i n j ∥ x