机器学习算法之 KMeans 聚类算法

一、K-Means 聚类算法原理

1. 算法思想

物以类聚,人以群分。

K-Means:一种常见的无监督学习算法,名字叫做 K 均值算法。

是否为监督学习:只需要看输入的数据是否有标签。

K-Means 聚类算法是一种迭代求解的聚类分析算法。

算法思想是

我们需要随机选择 K 个对象作为初始的聚类中心,然后计算每个对象和各个聚类中心之间的距离,然后将每个对象分配给距离它最近的聚类中心。

聚类中心及分配给它们的对象就代表着一个聚类。每分配一个样本,聚类的中心会根据聚类中现有的对象被重新计算。此过程将不断重复,直至满足设置的终止条件

2. 算法步骤

  1. 首先我们需要 确定一个 k 值 (随机),即我们希望数据经过聚类得到 k 个不同的集合
  2. 从给定的数据集中随机选择 K 个数据点作为质心
  3. 对数据集中的每个点计算其与每一个质心的距离(比如欧式距离);数据点离哪个质心近,就划分到那个质心所属的集合
  4. 第一轮将所有的数据归号集合后,一共有 K 个集合,然后重新计算每个集合的质心
  5. 如果新计算出来的质心和原来的质心之间的距离小于某一个设置的阈值,则表示重新计算的质心的位置变化不大,数据整体趋于稳定,或者说数据已经收敛。在这样的情况下,我们认为聚类效果已经达到了期望的结果,算法可终止。
  6. 反之, 如果新质心和原来质心的距离变化很大,需要重复迭代 3-5 步骤 ,直至位置变化不大,达到收敛状态。

3. 图解 K-Means

二、K-Means 聚类实战

  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    75 引用 • 37 回帖 • 1 关注
  • 算法
    382 引用 • 253 回帖 • 20 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
融合块、大纲和双向链接
构建你永恒的数字花园
思源笔记是一款本地优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步