0
点赞
收藏
分享

微信扫一扫

机器学习_分类_K-Means聚类

一、K-Means(k-平均或k-均值)

可以称的上是知名度最高的一种聚类算法

K-Means算法属于基于划分的聚类算法,对N 维欧⽒空间中的点进⾏聚类,是⼀种最简单的⽆监督学习⽅法。它通过迭代来实现,其基本思想是:每次确定K个类别中⼼,然后将各个结点归属到与之距离最近的中⼼点所在的Cluster,然后将类别中⼼更新为属于各Cluster的所有样本的均值,反复迭代,直⾄类别中⼼不再发⽣变化或变化⼩于某阈值。

算法步骤:

1、首先,我们确定要几个的聚类(cluster,也称簇),并为它们随机初始化一个各自的聚类质心点(cluster centroids),要确定聚类的数量,我们可以先快速看一看已有的数据点,并从中分辨出一些独特的数据。 2、其次,我们计算每个数据点到质心的距离来进行分类,跟那个类质心更近,就被分到那个聚类。

$$ lab_i=argmin_{1<=j<=k}|x_i-m_j| $$

其中,j表示第j类,$m_j$是质心数值。

$$ m_j=\frac{1}{C_j}\sum_{i\in C_j} x_i $$

需要注意的是,初始质心并不是真正的质心,质心应满足聚类里每个点到它的欧式距离平方和最小这个条件,并确定出新的质心。

3、最后,重复迭代上述步骤,直到质心的位置不再发生太大变化。

算法优缺点:

优点:

  • K-Means的优点是速度非常快,因为我们所做的只是计算数据点和质心点之间的距离,涉及到的计算量非常少!

  • 解决聚类问题的⼀种经典算法,简单、快速

  • 对处理⼤数据集,该算法保持可伸缩性和⾼效率

  • 当簇近似为⾼斯分布时,它的效果较好

缺点:

  • 一是必须决定数据集中包含多少个聚类。

  • 二是一开始质心点的选取是随机的,算法可能会初始化出差异巨大的点。这个缺点导致的结果是质心点的位置不可重复且缺乏一致性。

举报

相关推荐

0 条评论