机器学习 K-均值算法

一.概述
1.概念:

"k-均值算法"(k-Means Algorithm)1种常用聚类算法,属于"基于划分的聚类算法",也是数据挖掘十大经典算法之一.该算法是应用最广泛的
聚类算法,可作为其他聚类算法(如谱聚类)的基础算法,并有许多变体.这些算法共同的基本思想是:接受1个参数k以确定簇的数量并选取相应的k个
初始聚类中心,之后利用选定的启发式算法进行"迭代重置"(Iterative Relocation)-即不断分配数据点并更新聚类中心-以改进划分方案,直
到无法继续改进.不同变体的区别在于启发式算法的不同

机器学习 K-均值算法_第1张图片
2.具体步骤
(1)概述:

①选取k个簇的初始聚类中心,如选取前k个数据点或随机选取k个数据点
②在第i次迭代中,分别计算每个数据点到各聚类中心的距离(如欧氏距离),并将该数据点归给最近的中心所属的簇
③求第j类的新聚类中心,其各个分量都是属于第j类的数据点的相应分量的平均数,然后开始第i+1次迭代
④满足停止条件则停止迭代

机器学习 K-均值算法_第2张图片
机器学习 K-均值算法_第3张图片
机器学习 K-均值算法_第4张图片
(2)停止条件:

①聚类中心不再被更新
②数据点的分配不再被更新
③不再形成改进/准则函数收敛,如MSE达到最小值

3.优缺点
(1)优点:

①时间复杂度较低
②原理简单,实现容易
③可解释性好
④需要调参的参数仅有簇的数量k
⑤当结果簇是凸的(近似于多元高斯分布),效果较好
⑥可伸缩性(可规模性)较好

(2)缺点:

①难以确定k值
②容易陷入局部最优
③对噪音和异常点较敏感
④结果受初始聚类中心的影响较大,但可以进行改进(如在迭代结束后合并较小的簇并分割较大的簇)
⑤对非凸数据集及各隐含类数据量严重失衡的数据集效果不佳
⑥要求数据有均值,因而只适用于numerical data
⑦不适用于非凸的或大小差别较大的簇

二.变体算法的介绍
1.k-中心点算法(k-Medoids)
(1)改进:

在第i次迭代中以第j类的"中心点"(Medoids;即属于第j类的数据点中距簇中其他各数据点距离的和最小的点)作为第j类的新聚类中心

(2)优点:

①对噪音和孤立点相对不敏感

(3)缺点:

①时间复杂度更高

2.k-众数算法(k-Modes)
(1)改进:

在第i次迭代中第j类的新聚类中心的各个分量都是属于第j类的数据点的相应分量的众数

(2)优点:

①几乎完全不受孤立点的干扰

(3)缺点:

①不适合没有众数或有多个众数的情况

3.k-中位数算法(k-Medians)
(1)改进:

在第i次迭代中第j类的新聚类中心的各个分量都是属于第j类的数据点的相应分量的中位数

(2)优点:

①对噪音和孤立点不敏感

4.核k-均值算法(Kernel k-Means):


三.实例

你可能感兴趣的:(#,机器学习,机器学习,数据挖掘,聚类,k-menas)