学习 K 值聚类的概念以及它是如何工作的

48 篇文章 1 订阅
26 篇文章 0 订阅

K 值聚类

理解 K 值聚类
目标
  • 本节我们要学习 K 值聚类的概念以及它是如何工作的。

原理
  我将用一个最常用的例子来给大家介绍 K 值聚类。

T 恤大小问题
  话说有一个公司要生产一批新的 T 恤。很明显他们要生产不同大小的 T 恤来满足不同顾客的需求。所以这个公司收集了很多人的身高和体重信息,并把这些数据绘制在图上,如下所示:
  在这里插入图片描述
  肯定不能把每个大小的 T 恤都生产出来,所以他们把所有的人分为三组:小,中,大,这三组要覆盖所有的人。我们可以使用 K 值聚类的方法将所有人分为 3 组,这个算法可以找到一个最好的分法,并能覆盖所有人。如果不能覆盖全部人的话,公司就只能把这些人分为更多的组,可能是 4 个或 5 个甚至更多。如下图:
  在这里插入图片描述
它是如何工作的?
  这个算法是一个迭代过程,我们会借助图片逐步介绍它。
  考虑下面这组数据(你也可以把它当成 T 恤问题),我们需要把他们分成两组。
  在这里插入图片描述
  第一步:随机选取两个重心点,C1 和 C2(有时可以选取数据中的两个点作为起始重心)。
  第二步:计算每个点到这两个重心点的距离,如果距离 C1 比较近就标记为 0,如果距离 C2 比较近就标记为 1。(如果有更多的重心点,可以标记为“2”,“3”等)
  在我们的例子中我们把属于 0 的标记为红色,属于 1 的标记为蓝色。我们就会得到下面这幅图。
  在这里插入图片描述
  第三步:重新计算所有蓝色点的重心,和所有红色点的重心,并以这两个点更新重心点的位置。(图片只是为了演示说明而已,并不代表实际数据)
  重复步骤 2,更新所有的点标记。
  我们就会得到下面的图
  在这里插入图片描述
  继续迭代步骤 2 和 3,直到两个重心点的位置稳定下来。(当然也可以通过设置迭代次数,或者设置重心移动距离的阈值来终止迭代。)。此时这些点到它们相应重心的距离之和最小。简单来说,C1 到红色点的距离与 C2 到蓝色点的距离之和最小。
  在这里插入图片描述
最终结果如下图所示:
在这里插入图片描述
  这就是对 K 值聚类的一个直观解释。要想知道更多细节和数据解释,你应该读一本关于机器学习的教科书或者参考更多资源中的链接。这只是 K 值聚类的基础。现在对这个算法有很多改进,比如:如何选取好的起始重心点,怎样加速迭代过程等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

越努力越幸运@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值