kmeans中的k的含义_机器学习实战项目- K-Means(K-均值)聚类算法

K-Means是一种无监督学习的聚类算法,用于将数据点分配到K个簇中。K值由用户指定,每个簇的质心是簇内点的均值。算法包括初始化质心、分配数据点到最近的簇并更新质心等步骤。局部最小值问题可能导致非全局最优解,二分K-Means算法通过不断划分簇以降低SSE来缓解此问题。
摘要由CSDN通过智能技术生成

K-Means 算法

聚类是一种无监督的学习, 它将相似的对象归到一个簇中, 将不相似对象归到不同簇中.

相似这一概念取决于所选择的相似度计算方法.

K-Means 是发现给定数据集的 K 个簇的聚类算法, 之所以称之为 K-均值 是因为它可以发现 K 个不同的簇, 且每个簇的中心采用簇中所含值的均值计算而成.

簇个数 K 是用户指定的, 每一个簇通过其质心(centroid), 即簇中所有点的中心来描述.

聚类与分类算法的最大区别在于, 分类的目标类别已知, 而聚类的目标类别是未知的.

优点: 容易实现缺点:可能收敛到局部最小值, 在大规模数据集上收敛较慢使用数据类型 : 数值型数据

K-Means 场景

主要用来聚类, 但是类别是未知的.

例如: 对地图上的点进行聚类.

K-Means 术语

  • 簇: 所有数据点点集合,簇中的对象是相似的。
  • 质心: 簇中所有点的中心(计算所有点的均值而来).
  • SSE: Sum of Sqared Error(平方误差和), SSE 值越小,表示越接近它们的质心. 由于对误差取了平方,因此更加注重那么远离中心的点.

有关 簇 和 质心 术语更形象的介绍, 请参考下图:

5af24374a610f47bac2209e03ce2b740.png

K-Means 工作流程

  1. 首先, 随机确定 K 个初始点作为质心(不是数据中的点).
  2. 然后将数据集中的每个点分配到一个簇中, 具体来讲, 就是为每个点找到距其最近的质心, 并将其分配该质心所对应的簇. 这一步完成之后, 每个簇的质心更新为该簇说有点的平均值.

上述过程的 伪代码 如下:

  • 创建 k 个点作为起始质心(通常是随机选择)
  • 当任意一个点的簇分配结果发生改变时
  • 对数据集中的每个数据点
  • 对每个质心
  • 计算质心与数据点之间的距离
  • 将数据点分配到距其最近的簇
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值