k均值聚类算法(k-means clustering algorithm)是一种
迭代求解的
聚类分析算法,其步骤是,预将数据分为K组,则随机选取K个对象作为初始的
聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个
聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被
重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。
聚类是一个将数据集中在某些方面相似的
数据成员进行分类组织的过程,聚类就是一种发现这种内在结构的技术,聚类技术经常被称为
无监督学习。
k均值聚类是最著名的划分
聚类算法,由于简洁和效率使得他成为所有聚类算法中最广泛使用的。给定一个数据点集合和需要的聚类数目k,k由用户指定,k均值算法根据某个距离函数反复把数据分入k个聚类中。
先随机选取K个对象作为初始的
聚类中心。然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。一旦全部对象都被分配了,每个聚类的聚类中心会根据聚类中现有的对象被
重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是以下任何一个:
k均值聚类是使用
最大期望算法(Expectation-Maximization algorithm)求解的
高斯混合模型(Gaussian Mixture Model,
GMM)在
正态分布的
协方差为
单位矩阵,且隐变量的
后验分布为一组
狄拉克δ函数时所得到的特例。