聚类算法之K-Means,K-Means++,elkan K-Means和MiniBatch K-Means算法流程

本文详细介绍了K-Means聚类算法及其变种,包括K-Means++、elkan K-Means和MiniBatch K-Means。K-Means是迭代求解的聚类算法,依赖初始质心选择,存在K值选择困难和计算量大的问题。K-Means++通过优化质心选择降低随机性。elkan K-Means利用三角不等式提高效率。MiniBatch K-Means通过抽样加速收敛,适合大数据集。
摘要由CSDN通过智能技术生成

聚类问题是机器学习中无监督学习的典型代表,在数据分析、模式识别的很多实际问题中得到了应用。我们知道,分类问题是机器学习中最常见的一类问题,它的目标是确定一个物体所属的类别。分类问题和聚类问题一个最重要的区别在于分类问题有标签,学习过程实际就是程序不断学习各个标签特点的过程,而聚类问题是一种无监督学习问题,我们事先并不知道这些事物一共多少个类,每个事物的所属类别,我们需要让程序基于一定的规则,自动地将事物分为我们需要的类。
我们在进行聚类分析的时候,需要确定无监督学习算法需要决定的三个问题:
1.分成几类?
2.样本之间的距离度量方式?
3.聚类策略?
下面,我们来看一些常用的聚类算法:

一、K-Means

K-Means聚类又叫K均值聚类,是一种迭代求解的聚类分析算法,其步骤是随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。

K-Means算法过程:

1.输入数据 D = { x 1 , x 2 , x 3 , . . . , x m } D=\begin{Bmatrix}x_1,x_2,x_3,...,x_m\end{Bmatrix} D={ x1,x2,x3,...,xm},聚类的簇数为K,最大迭代次数为N;
2.从 D D D中随机选择K个样本作为初始的k个质心: { u 1 , u 2 , u 3 , . . . , u k } \begin{Bmatrix}u_1,u_2,u_3,...,u_k\end{Bmatrix} { u1,u2,u3,...,uk}
3.对于 n = 1 , 2 , 3 , . . . , N n=1,2,3,...,N n=1,2,3,...,N
a.将簇划分 C C C初始化为: C t = ∅ , t = 1 , 2 , . . . , K C_t=\varnothing,t=1,2,...,K Ct

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值