k-means算法(k-均值聚类算法)是一种基本的已知聚类类别数的划分算法。它是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。它是使用欧氏距离度量的(简单理解就是两点间直线距离,欧氏距离只是将这个距离定义更加规范化,扩展到N维而已)。它可以处理大数据集,且高效。它的输入自然是数据集和类别数。聚类结果是划分为k类的k个数据集。根据聚类结果的表达方式又可以分为硬 k-means(HCM)算法、模糊k-means算法(FCM)和概率k-means算法(PCM)。

基本思想:

它是基于给定的聚类目标函数,算法采用迭代更新的方法,每一次迭代过程都是向目标函数减小的方向进行,最终聚类结果使得目标函数取得极小值,达到较好的分类效果。

原理:

原始的k-means算法首先随机选取k个点作为初始聚类中心,然后计算各个数据对 象到各聚类中心的距离,把数据对象归到离它最近的那个聚类中心所在的类; 调整后的新类计算新的聚类中心,如果相邻两次的聚类中心没有任何变化,说明 数据对象调整结束,聚类准则函数f已经收敛。在每次迭 代中都要考察每个样本的分类是否正确,若不正确,就要调整。在全部数据调整 完后,再修改聚类中心,进入下一次迭代。如果在一次迭代算法中,所有的数据 对象被正确分类,则不会有调整,聚类中心也不会有任何变化,这标志着f已 经收敛,算法结束。其实这跟普通的前馈神经网络使用逆向传播算法训练模型的原理类似,分析误差,修改模型直至达到要求的误差范围。

算法框架:

1)给定大小为n的数据集,令O=l,选取k个初始聚类中心 Zj(O),j=1,2,3,...,k,O代表不同迭代轮数的聚类中心

2)计算每个样本数据对象与聚合中心的距离D(xi,Zj(O)),i=1,2,3,…,并分类

3)令O=O+1,计算新的聚类中心

和误差平方和准则f(目标函数)值:

4)判断:若If(O+1)-f(O)I<theta(f收敛)或者对象无类别变化,则算法结束,否则,O=O+1,返回2)步;

流程图:

k-means聚类算法过程与原理相关推荐

  1. k means聚类算法_一文读懂K-means聚类算法

    1.引言 什么是聚类?我们通常说,机器学习任务可以分为两类,一类是监督学习,一类是无监督学习.监督学习:训练集有明确标签,监督学习就是寻找问题(又称输入.特征.自变量)与标签(又称输出.目标.因变量) ...

  2. k means聚类算法_K-Means 聚类算法 20210108

    说到聚类,应先理解聚类和分类的区别 聚类和分类最大的不同在于:分类的目标是事先已知的,而聚类则不一样,聚类事先不知道目标变量是什么,类别没有像分类那样被预先定义出来. K-Means 聚类算法有很多种 ...

  3. OpenCV官方文档 理解k - means聚类

    理解k - means聚类 目标 在这一章中,我们将了解k - means聚类的概念,它是如何工作等. 理论 我们将这个处理是常用的一个例子. t恤尺寸问题 考虑一个公司要发布一个新模型的t恤. 显然 ...

  4. k均值聚类算法原理和(TensorFlow)实现

    顾名思义,k均值聚类是一种对数据进行聚类的技术,即将数据分割成指定数量的几个类,揭示数据的内在性质及规律. 我们知道,在机器学习中,有三种不同的学习模式:监督学习.无监督学习和强化学习: 监督学习,也 ...

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

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

  6. 【模式识别】K均值聚类算法应用实验报告及MATLAB仿真

    一. 实验目的 1.掌握K均值聚类算法的原理和实现过程: 2.掌握K均值聚类算法的应用方法. 二. 实验内容 1.彩色图像分割 选择一幅图像,分别按三种颜色数进行彩色图像分割的结果(原图和分割图).步 ...

  7. k均值聚类算法优缺点_Grasshopper实现K均值聚类算法

    本文很长很长,有很多很多图,包含以下部分: 1.算法简介 2.如何分类平面点 3.如何分类空间点 4.如何分类多维数据 5.后记 提醒:以下内容包括:智障操作,无中生友,重复造轮子 等 1.算法简介 ...

  8. K-Means(K均值聚类算法)

    K-Means(K均值聚类算法) 1.前言 要学习聚类算法就要知道聚类学习算法是什么,为什么要学习聚类学习聚类学习算法,有什么用途,下面就简单的做一下介绍,并且详细的说明k-means均值聚类学习算法 ...

  9. K均值聚类算法的MATLAB实现

    K均值聚类算法的MATLAB实现 1.K-均值聚类法的概述 之前在参加数学建模的过程中用到过这种聚类方法,但是当时只是简单知道了在matlab中如何调用工具箱进行聚类,并不是特别清楚它的原理.最近因为 ...

  10. 计算机视觉面试考点(14)K均值聚类算法(K-Means)

    计算机视觉工程师在面试过程中主要考察三个内容:图像处理.机器学习.深度学习.然而,各类资料纷繁复杂,或是简单的知识点罗列,或是有着详细数学推导令人望而生畏的大部头.为了督促自己学习,也为了方便后人,决 ...

最新文章

  1. SharePoint2010 -- 管理配置文件同步
  2. web前端培训:CSS中单行文本溢出显示省略号的方法
  3. bad src image pointers
  4. 整理:深度学习 vs 机器学习 vs 模式识别
  5. mysql中的乐观锁_MySQL中悲观锁和乐观锁到底是什么?
  6. SilverLight明日起通过微软更新推送
  7. 嵌入式Linux系统编程学习之二十六多线程概述
  8. CTFShow“萌心区“WP题解
  9. android中的imagebutton,Android:以编程方式在ImageButton中设置图像的填充
  10. matlab2010 simulink,张德丰 (2010) MATLAB/Simulink建模与仿真实例精讲. 机械工业出版社, 北京....
  11. java netbean_java NetBean创建及各菜单项相对应的窗体及布局教程.pdf
  12. 分享国内常用的免费MD5在线解密网站,这5个网站很实用
  13. 腾讯2016实习招聘-安全岗笔试题答案详细解释
  14. 淘宝网店应该怎么样去做好宝贝SEO优化?
  15. Android基于红米系列手机读取本地图片路径失败的解决方案
  16. Mysql主主同步(主从同步)
  17. springboot 整合 camunda,访问 web 管理界面报错
  18. UIScrollView 禁止向左滑动
  19. {分享}《Matrix67:趣题:非常具有启发性的概率问题》
  20. java课程设计——家庭收入记账软件

热门文章

  1. T1089 三人行必有我师
  2. 计算机类的本科学校有哪些专业考研,计算机专业考研学校推荐有哪些
  3. View和ViewGroup
  4. CKEditor富文本编辑器使用
  5. java程序执行时间_java记录代码运行时间
  6. 第六届CCF计算机职业资格认证考试题解(C++)
  7. 山大中心校区计算机课在哪,山东大学有几个校区,哪个校区最好及各校区介绍...
  8. 结婚率下滑,离婚率攀升,用BI做分析后,结论扎心了
  9. 太极图正确画法_来氏太极图的画法及六行太极图的演示
  10. 鸿蒙开发必备书籍整理【收藏系列】