吴恩达机器学习笔记46-K-均值算法(K-Means Algorithm)
K-均值是最普及的聚类算法,算法接受一个未标记的数据集,然后将数据聚类成不同的
组。
K-均值是一个迭代算法,假设我们想要将数据聚类成n 个组,其方法为:
首先选择𝐾个随机的点,称为聚类中心(cluster centroids);
对于数据集中的每一个数据,按照距离𝐾个中心点的距离,将其与距离最近的中心点关
联起来,与同一个中心点关联的所有点聚成一类。
计算每一个组的平均值,将该组所关联的中心点移动到平均值的位置。
重复步骤2-4 直至中心点不再变化。
下面是一个聚类示例:
迭代 1 次
迭代 3 次
迭代 10 次
用𝜇1,𝜇2,...,𝜇𝑘 来表示聚类中心,用𝑐(1),𝑐(2),...,𝑐(𝑚)来存储与第𝑖个实例数据最近的聚类中
心的索引。
K-均值算法也可以很便利地用于将数据分为许多不同组,即使在没有非常明显区分的组
群的情况下也可以。下图所示的数据集包含身高和体重两项特征构成的,利用K-均值算法将
数据分为三类,用于帮助确定将要生产的T-恤衫的三种尺寸。