K均值聚类(K-means)算法

       聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法,同时也是数据挖掘的一个重要算法。属于无监督学习方法。

        K-Means算法是聚类中的基础算法,也是无监督学习里的一个重要方法。

        其基本算法思想如下:

        1)随机人为给定 k 个初始点作为簇质心。

        2)由某个距离函数计算每个数据样本与每个簇质心的距离,并将其分配至距离最近的簇中。

        3)根据新分配的簇,计算 k 个簇的新质心。

        4)迭代计算步骤 2)4),直至达到迭代终止条件(例如两次迭代簇质心距离变化小于某一个阈值),完成数据分类。

        普通的K-Means算法由于初始簇质心的随机性,有可能会收敛至局部最优。此时可以采用多次随机初始化,取分类的最好结果。

        但当 k 值较大时,多次随机获得的最好结果可能只会略好一点,因为随着 k 数量的增多,每个初始簇质心位置的随机性对整体带来的不确定性越小。

        对于数据点到簇质心的距离度量常采用:欧式距离和余弦距离。

         对余弦距离图解如下:

        两向量的余弦 = 两向量的点积 / 两向量模的积

猜你喜欢

转载自blog.csdn.net/weixin_43284996/article/details/127349451