`
liyonghui160com
  • 浏览: 775588 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

K-Means聚类算法理解

阅读更多

 

        k-means 算法接受参数 k ;然后将事先输入的n个数据对象划分为 k个聚类(即下面c个类别)以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。

 

  K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。

 

  假设要把样本集分为c个类别,算法描述如下:

 

  (1)适当选择c个类的初始中心;

 

  (2)在第N次迭代中,对任意一个样本,求其到c个中心的距离,将该样本归到距离最短的中心所在的类;

 

  (3)利用均值等方法更新该类的中心值,C点

 

  (4)对于所有的c个聚类中心,如果利用(2)(3)的迭代法更新后,值保持不变,则迭代结束,否则继续迭代。

 

  该算法的最大优势在于简洁和快速。算法的关键在于初始中心的选择和距离公式。

 

        这个是本人认为最简单最明了的理解了,k的选取很重要,确定分组聚类的准确性。相信一看就懂。在实际工作还没怎么用到大笑

 

        k点的选择还有很多的方法,大家可以参考:http://blog.csdn.net/qll125596718/article/details/8243404

分享到:
评论

相关推荐

    详解Java实现的k-means聚类算法

    Java实现的k-means聚类算法详解 k-means聚类算法是一种常用的无监督学习算法,用于对数据进行聚类分析。该算法的主要思想是将相似的数据点聚类到一起,形成不同的簇。Java语言是实现k-means聚类算法的不二之选。 ...

    基于K-means聚类算法的图像分割及其MATLAB实现

    基于K-means聚类算法的图像分割 算法的基本原理:  基于K-means聚类算法的图像分割以图像中的像素为数据点,按照指定的簇数进行聚类,然后将每个像素点以其对应的聚类中心替代,重构该图像。 算法步骤: ①随机选取...

    k-means聚类学习算法matlab源码

    K-means聚类算法,作为一种简单而有效的无监督机器学习方法,被广泛应用于数据挖掘和图像处理领域,尤其是在计算机视觉中,它能够对图像进行自动分类,识别特征,帮助理解复杂的数据结构。MATLAB作为强大的科学计算...

    基于K-means聚类算法的图像分割(MATLAB实现).rar_ASV聚类_K-Means图像分割_k means_rest

    《基于K-means聚类算法的图像分割在MATLAB中的实现》 图像分割是计算机视觉领域中的基础任务,它旨在将图像划分为多个区域或对象,每个区域具有相似的特征。K-means聚类算法是一种广泛应用的数据分析方法,它通过...

    基于 K-means 聚类算法的图像区域分割.zip

    基于 K-means 聚类算法的图像区域分割,首先从数据样本种选取K个点作为初始聚类中心,其次计算各个样本到聚类的距离,把样本归到离它最近的那个聚类中心所在的累,计算新形成的每个聚类的数据对象的平均值来得到新的...

    K-MEANS聚类算法的实现

    K-MEANS聚类算法的实现 K-MEANS聚类算法是一种常用的无监督机器学习算法,主要用于对数据进行聚类分析。该算法的主要思想是将相似的...通过对K-MEANS聚类算法的理解和实现,可以更好地掌握机器学习的基本概念和技术。

    基于k-means聚类算法实现三维数据分类含Matlab源码

    k-means聚类算法是其中最简单且广泛使用的算法之一,尤其适用于处理大规模数据集。本篇文章将深入探讨如何在Matlab环境下实现k-means算法对三维数据进行分类,并结合提供的源代码进行解析。 首先,k-means算法的...

    基于 K-means 聚类算法的图像区域分割

    标题“基于 K-means 聚类算法的图像区域分割”揭示了这是一个关于利用K-means算法处理图像处理问题的项目。K-means聚类是一种常见的无监督学习方法,用于将数据集划分为K个互不重叠的类别,每个类别由其内部数据点的...

    基于k-means聚类方法和DTW算法结合起来分析时间序列类型的用户用电数据源码+项目说明.zip

    基于DTW距离的时间序列聚类算法,与传统的k-means算法相比,能够处理非线性对齐的时间序列,因此适用于更广泛的应用领域。 实验 主要步骤: 手工挑选训练集,减少过于离散的样本 进行数据预处理,包括处理样本中无...

    基于改进的K-means聚类的多区域物流中心选址算法

    针对当前多区域物流中心选址需建立配送中心个数不定、位置、覆盖范围不明的问题,本文提出了一种改进的k-means聚类算法,以城市经济引力模型为基础,将城市运输距离与居民消费能力的指标相结合,重新定义对象之间...

    K-means聚类算法.pptx

    K-means聚类算法是一种广泛应用的无监督学习方法,主要用于数据的分组或分类,尤其在数据挖掘和机器学习领域。它的目标是将数据集划分为k个互不重叠的簇,使得同一簇内的数据点间的相似度尽可能高,而不同簇之间的...

    蜂群算法与k-means聚类结合优化算法.rar

    **k-means聚类算法** k-means是一种基于距离的中心型聚类算法,用于将数据集划分为k个不相交的类别。算法的基本步骤包括: 1. 初始化:选择k个初始质心。 2. 分配:将每个数据点分配到最近的质心对应的类别。 3. ...

    一种分布式的K-means聚类算法.pdf

    分布式K-means聚类算法是大数据分析中处理大规模数据集的一个重要工具。随着数据量的日益增长,传统的集中式K-means算法在面对海量数据时,由于计算资源和内存限制,常常效率低下,甚至无法有效执行。为了解决这一...

    论文研究-基于k-means聚类算法的研究 .pdf

    基于k-means聚类算法的研究涉及了数据挖掘领域中的关键算法,该研究由黄韬、刘胜辉、谭艳娜三位研究人员共同完成,其研究机构分别为哈尔滨理工大学计算机科学与技术学院、软件学院和哈尔滨工程大学计算机科学与技术...

    K-Means聚类算法C#实现

    K-Means聚类算法是一种广泛应用的无监督学习方法,主要用于...理解以上知识点,结合提供的C#代码,你将能够理解和应用K-Means聚类算法于实际项目中。在实际操作中,务必注意数据预处理、合理选择k值以及评估模型性能。

    K-means聚类算法的C++实现

    K-means聚类算法是一种广泛应用的数据挖掘方法,用于无监督学习中的分类问题。它通过将数据集中的对象分配到预定义数量的类别中,使得同一类内的对象相似度较高,而不同类之间的对象相似度较低。C++实现K-means算法...

    k-means聚类 动画演示

    在k-means聚类中,有几个关键概念需要理解: 1. **类别中心(Centroids)**:这是每个类别代表的点,通常初始时是随机选择的。k-means算法会不断更新这些中心,以便更好地反映类别内的数据分布。 2. **分配过程...

    实验 Spark ML Bisecting k-means聚类算法使用

    Spark ML 中的 Bisecting k-means 聚类算法是 Spark ML 库中的一种常用的聚类算法,它可以将数据聚类成多个簇,以便更好地理解数据的分布和模式。下面是 Bisecting k-means 聚类算法的知识点总结: 一、 Bisecting...

Global site tag (gtag.js) - Google Analytics