一、介绍
在聚类问题中,我们会给定一组未加标签的数据集,同时希望有一个算法能够自动将这些数据分成有紧密关系的子集或者是簇。K均值算法现在是最火热也是最为广泛应用的聚类算法。
二、K均值聚类算法原理
假设有一个无标签数据集图(a),现在想将其分为两个簇,使用K均值算法来进行操作,操作步骤:
1.首先随机生成两个点,这两点叫做聚类中心(图b)。 K均值算法是一个迭代算法,它会做两件事,第一个是簇分配,第二个是移动聚类中心。
2.簇分配: K均值算法中每次内循环的第一步要进行簇分配,也就是说,遍历每个样本点,根据每个样本与红色聚类中心更近还是蓝色中心更近来将每个样本点分配个两个聚类中心之一。具体的说,就是讲靠近蓝色聚类中心的点染成蓝色,靠近红色聚类中心的点染成红色。
3.移动聚类中心: K均值算法中每次内循环的第二步要移动聚类中心,要做是找到所有蓝点并计算出它们的均值,然后把蓝色聚类中心移到那里,红色聚类中心也是一样的操作。
4.然后接着继续做簇分配和移动聚类中心,迭代多次之后,就会完成最终的两个点集的聚类,这就可以说K均值算法已经聚合了。