25.K-均值算法的介绍及实现过程

article/2025/8/31 2:54:00

主要内容

  1. K-均值算法的介绍
  2. K-均值算法的实现过程
  3. K-均值算法的具体例子实现过程

一、K-均值算法的介绍

  • K-均值(K- means) ** 是最普及的聚类算法**,算法接受一个未标记的数据集,然后将数据聚类成不同的组

  • 聚类算法无监督学习中的典型算法,K-均值算法 又是聚类算法中的经典算法

  • K- means算法 要求预先设定聚类的个数,然后不断更新聚类中心,通过多次迭代最终使得所有数据点到其聚类中心距离的平方和趋于稳定

二、K-均值算法的实现过程

2.1 K-均值的具体过程

  • K-均值是一个迭代算法,假设我们想要将数据聚类成n个组,其方法为:

    1. 首先从n 个向量中随机选择 K K K个点,称为聚类中心cluster centroids

      在这里插入图片描述

    2. 对于数据集中的每一个数据,按照距离 K K K个中心点的距离,将其与距离最近的中心点关联起来,与同一个中心点关联的所有点聚成一类

    3. 计算每一个组的平均值,将该组所关联的聚类中心点移动到平均值的位置

    4. 重复步骤2-4直至中心点不再变化

      • 某次迭代后只有不到1%的数据会出现类簇之间的归类变化,就可以认为聚类算法已经实现了
        在这里插入图片描述

2.2 K-均值算法的伪代码描述

  • μ 1 μ^1 μ1, μ 2 μ^2 μ2,…, μ k μ^k μk 来表示聚类中心
  • c ( 1 ) c^{(1)} c(1), c ( 2 ) c^{(2)} c(2),…, c ( m ) c^{(m)} c(m)来存储与第 i i i个实例数据最近的聚类中心的索引
Repeat {for i = 1 to mc(i) := index (form 1 to K) of cluster centroid closest to x(i)for k = 1 to Kμk := average (mean) of points assigned to cluster k}
随机初始化N个聚类中心;
while(true)
{簇分配:计算所有点到这N个聚类中心的距离,从而把数据分为N个簇(隔得最近的一个簇);计算均值:对于每一个簇,计算各点到该簇聚类中心的距离,取平均值移动聚类中心:移动该聚类中心到平均值处;
}
  • 算法分为两个步骤,
    • 第一个for循环是赋值步骤,即:对于每一个样例 i i i,计算其应该属于的类
    • 第二个for循环是聚类中心的移动,即:对于每一个类 K K K,重新计算该类的质心

三、K-均值算法的具体例子实现过程

  • 假设我们的数据如下图的小绿色的点,,现在要对其采用聚类算法——K-均值算法进行分类
  1. 首先初始化随机选取的中心点(如图中的红色X和黑色X)

    在这里插入图片描述

  2. 分别计算每个样本数据点到红色红色X和黑色X的距离后分类,到谁的距离小就将其标记为哪一类(分为了红色和蓝色的点)

    在这里插入图片描述

  3. 然后移动中心点——将得到的所有红色(蓝色)的样本点数据进行求平均值,得到的两个平均值即为新的中心点

    在这里插入图片描述

  4. 重复迭代上述很多次之后,得到中心点不在变化,则得到最终聚类结果

    在这里插入图片描述

  • 注意:如果有一个聚类中心,它没有被分配到任何一个点

    • 一般情况移除这个聚类中心,但是聚类中心就会从K变为K-1;
    • 如果想保持K个聚类,则在初始化这个点一次
  • K-均值算法也可以很便利地用于将数据分为许多不同组,即使在没有非常明显区分的组群的情况下也可以

    • 下图所示的数据集包含身高和体重两项特征构成的,利用K-均值算法将数据分为三类,用于帮助确定将要生产的T-恤衫的三种尺寸
    • 在这里插入图片描述

http://chatgpt.dhexx.cn/article/o6UW1P0e.shtml

相关文章

K-means(K均值聚类算法)算法笔记

K-means(K均值聚类算法)算法笔记 K-means 算法,是比较简单的无监督的算法,通过设定好初始的类别k,然后不断循环迭代,将给定的数据自动分为K个类别。事实上,大家都知道K-means是怎么算的&#x…

K-近邻算法讲解以及实战

1.概述 邻近算法,或者说K最近邻(KNN,K-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。Cover和Hart在1968年提出了最初的…

第十五课.K均值算法

目录 K均值算法原理K均值算法的改进:K-meansnumpy实现K-means K均值算法原理 K均值(K-means)算法属于无监督学习中的聚类算法;聚类是根据样本特征向量之间的相似度或距离,将样本数据划分为若干个样本子集,…

K均值与K近邻算法简析

回顾了一下机器学习的简单算法。 原文链接:https://blog.csdn.net/zll0927/article/details/17000675 K-Means介绍 K-means算法是聚类分析中使用最广泛的算法之一。它把n个对象根据他们的属性分为k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度…

聚类算法、无监督学习、K均值算法及其优化函数

聚类算法 无监督学习:将无标签样本分为不同的两类或者多类,称为聚类算法 K均值算法 K均值算法是一个迭代算法,共两个步骤 1.簇分配:遍历图中每个样本,根据每个样本点离那个聚类中心近,从而将该样本点分配…

K-means算法-综合整理

A 主要流程 a 随机初始化k个点作为簇质心 b 计算每个点与质心距离(常用欧式距离和余弦距离),并将其分配给最近 的质心对应的簇中 c 重新计算每个簇的质心,更新为所有点的平均值 d 反复迭代b-c步骤,直到达到某个终止条…

K均值聚类算法(Kmeans)讲解及源码实现

K均值聚类算法(Kmeans)讲解及源码实现 算法核心 K均值聚类的核心目标是将给定的数据集划分成K个簇,并给出每个数据对应的簇中心点。算法的具体步骤描述如下。 数据预处理,如归一化、离群点处理等。随机选取K个簇中心,记为 μ 1 ( 0 ) , μ 2…

K-means算法详解及实现

文章目录 一、原理和流程1、原理2、流程 二、K-means中常用的到中心距离的度量有哪些三、K-means中的k值如何选取1、手肘法2、轮廓系数法3、总结 四、代码实现五、其他问题的解答References 主要的KMeans算法的原理和应用,在学习典过程中,我们要带着以下…

K-近邻算法全面解析

1 K-近邻算法简介 K-近邻(K-Nearest Neighbor,KNN),采用的是测量不同特征值之间距离的方法进行分类。对当前待分类样本的分类,需要大量已知分类的样本的支持,因此KNN是一种有监督学习算法。 2 K-近邻算法的三要素 距离度量、K…

k-means clustering algorithm,K均值算法

k-means clustering algorithm K均值聚类算法:需要分成K类,K是需要自己指定的 举例: 指定K,需要分成K类。 此例中:K为2选取K个点作为聚类中心 ,一般的,K为已有的点。 此例子:中为…

K-means算法手动实现

1. K-means算法 k均值聚类算法(k-means clustering algorithm)是一种迭代求解的聚类分析算法,其步骤是,预将数据分为K组,则随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距…

k-means聚类算法原理与参数调优详解

https://www.toutiao.com/a6690435044869145101/ k-means算法原理 K-means中心思想:事先确定常数K,常数K意味着最终的聚类类别数,首先随机选定初始点为质心,并通过计算每一个样本与质心之间的相似度(这里为欧式距离),…

kmeans算法及其改进算法K-means++,ISODATA和Kernel K-means

首先需要明确的是上述四种算法都属于"硬聚类”算法,即数据集中每一个样本都是被100%确定得分到某一个类别中。与之相对的"软聚类”可以理解为每个样本是以一定的概率被分到某一个类别中。 先简要阐述下上述四种算法之间的关系,已经了解过经典…

【算法】一个简单的k均值(k-means)原理

基本思想 通过迭代寻找k个聚类的一种划分方案,使用这k个聚类的均值来代表相应各类样本时所得到的总体误差最小。 一旦给定了类别数目k,k均值就按照平方误差和最小的原则将所有样本划分到指定数目的类中。 k均值(k-means)有时也…

K-均值算法简介

前段时间把en.wikipedia.org里关于K-means clustering算法的条目翻译了一下,搬到了zh.wikipedia.org里的条目“K-平均算法”下。 后来组内讨论的时候又重新整理了一下要用的内容,放到博客上来吧。 因为打算写一篇K-均值算法下自学习距离度量(distance …

KMean算法精讲

本文目录 基本训练步骤关于KMeans的几个问题KMeans算法的目标函数是什么?KMeans算法是否一定会收敛?不同的初始化是否带来不⼀样的结果?K值如何进行选择? KMeansKMeans的优缺点个人有关KMeans的奇思妙想 KMeas算法是一种聚类算法&…

K-Means算法的并行和分布式写法

前段时间学习了并行与分布式技术,为了写了篇关于KMeans算法的并行和分布式的编程写法,上网找了挺久,没想到网上并没有很多资料,那今天就来说一下我是怎么写的吧。 首先来讲一下K-Means的思想原理吧! K-Means算法思想…

k-means算法、性能及优化

k-means算法、性能及优化 一、k-means算法简介 k-means是用来解决著名的聚类问题的最简单的非监督学习算法之一。 该过程遵循一个简易的方式,将一组数据划分为预先设定好的k个簇。其主要思想是为每个簇定义一个质心。设置这些质心需要一些技巧,因为不同的…

k均值聚类算法(K Means)及其实战案例

算法说明 K均值聚类算法其实就是根据距离来看属性,近朱者赤近墨者黑。其中K表示要聚类的数量,就是说样本要被划分成几个类别。而均值则是因为需要求得每个类别的中心点,比如一维样本的中心点一般就是求这些样本的算术平均数。 这里存在一个…

详解K-Means算法

一、引言 K-Means算法是机器学习中最简单、最常见的一种聚类算法。 1.什么是聚类? 通俗来讲,聚类就是将一堆没有标签的原始样本数据,按照某个标准让其中特征一致的样本自动聚成一堆儿,最后原始样本数据聚成了一堆儿一堆儿的。 …