算法模型——K-Means聚类

本文介绍了K-Means聚类算法的基本原理和步骤,通过具体例子展示了如何进行聚类,并讨论了算法的优缺点。K-Means是一种无监督学习方法,用于在未知分类规则的情况下对数据进行分群。算法主要包括选择初始质心、计算距离并重新分配类别、更新质心等步骤,直至达到收敛条件。文章还提到了K值的选择对聚类结果的影响以及对离群点的敏感性。
摘要由CSDN通过智能技术生成

K-Means聚类一般根据群体的某些标签值或某些属性,对群体进行分组,属于无监督学习。

1. 聚类与分类

聚类与分类最大的区别就是,聚类就是在未知分类规则的情况下对样本集进行分群,分类就是在特征空间中用已知的规则对样本进行判别或者预测。

分类:对于分类来说,在对数据集分类时,我们是知道这个数据集是有多少种类的,比如对用户进行性别分类,我们会下意识很清楚知道分为“男”,“女”两类。

聚类:而对于聚类来说,在对数据集操作时,我们是不知道该数据集包含多少类,我们要做的,是将数据集中相似的数据归纳在一起。比如预测用户的好朋友团体,我们不知道用户和谁玩的好玩的不好,我们通过他们的相似度进行聚类,聚成n个团体,这就是聚类。

2. 算法步骤

聚类算法有很多种(几十种),K-Means是聚类算法中的最常用的一种,算法最大的特点是简单,好理解,运算速度快,但是只能应用于连续型的数据,并且一定要在聚类前需要手工指定要分成几类。

下面,我们描述一下K-means算法的过程,为了尽量不用数学符号,所以描述的不是很严谨,大概就是这个意思,“物以类聚、人以群分”:

1.首先输入k的值,即我们希望将数据集经过聚类得到k个分组;

2.从数据集中随机选择k个数据点作为初始大哥(质心,Centroid);

3.对集合中每一个小弟,计算与每一个大哥的距离(距离的含义后面会讲),离哪个大哥距离近,就跟定哪个大哥;

4.这时每一个大哥手下都聚集了一票小弟,这时候召开人民代表大会,每一群选出新的大哥(其实是通过算法选出新的质心);

5.如果新大哥和老大哥之间的距离小于某一个设置的阈值(表示重新计算的质心的位置变化不大,趋于稳定,或者说收敛),可以认为我们进行的聚类已经达到期望的结果,算法终止;

6.如果新大哥和老大哥距离变化很大,需要迭代3~5步骤。

3. 举个例子 —— 公式计算

下图 P1(0,0)、P2(1,2)、P3(3,1)、P4(8,8)、P5(9,10)、P6(10,7) 6个点,从坐标轴上看应该分成两组,前三个点P、P2、P3一组,后三个点P4、P5、P6 一组。现在手工执行K-Means,体会一下过程,同时看看结果是否和预期一致。
例图

  1. 选择初始大哥: 我们就选P1和P2

  2. 计算小弟和大哥的距离: P3到P1的距离从图上也能看出来(勾股定理),是√10 = 3.16;P3到P2的距离√((3-1)2+(1-2)2 = √5 = 2.24,所以P3离P2更近,P3就跟P2混。同理,P4、P5、P6也这么算,如下:
    在这里插入图片描述
    P3到P6都跟P2更近,所以第一次站队的结果是:

    组A:P1
    组B:P2、P3、P4、P5、P6

  3. 人民代表大会: 组A没啥可选的,大哥还是P1自己 组B有五个人,需要选新大哥,这里要注意选大哥的方法是每个人X坐标的平均值和Y坐标的平均值组成的新的点,为新大哥,也就是说这个大哥是“虚拟的”。 因此,B组选出新大哥的坐标为:P哥((

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值