理解k - means聚类

目标

在这一章中,我们将了解k - means聚类的概念,它是如何工作等。

理论

我们将这个处理是常用的一个例子。

t恤尺寸问题

考虑一个公司要发布一个新模型的t恤。 显然他们将不得不制造模型满足人们各种尺寸的大小不同。 所以公司的数据甚至€™身高和体重,并把它们放到图,如下:

公司无法为所有的尺寸制作衣服。 相反,他们把人分为小,中和大,只生产这3个模型来适合所有的人的只存。 这种分组方式将把人分为分成三组,而我们可以通过k - means聚类算法提供最好的3个尺寸,这将满足所有的人的需求。 不过如果数据显示三个尺寸并不合适,那么聚类算法也可以进行更多更合适的分类,列如五类。 检查下图:

它是如何工作的呢?

这个算法是一个迭代的过程。 我们将解释它一步一步的帮助下图片。

考虑一组数据如下(你可以认为这是T恤问题)。 我们需要集群数据分成两组。

步骤:1——算法随机选择两个重心,(有时,任意两个数据作为重心)。

一步:2——它质心计算每个点的距离。 如果一个测试数据更加接近,那么数据标签贴上 €˜0。 如果它是更接近1,然后贴上 1€˜€™ (如果有更多的重心,贴上€˜2€™,一个€˜3€™等)。

在我们的例子中,我们将颜色€˜0 a€™贴上了红色,和一个€˜1€™与蓝色的标签。 以上操作后我们得到下面的图像。

一步:3——接下来,我们计算所有蓝色的平均分开点,红点,这将是我们新的重心。 这是转移到新计算质心。 (记住,显示的图片是不正确的值,而不是真实的身材尺寸,该数据仅供演示)。

再一次,执行步骤2新重心和标签数据€˜0 和 €˜1€™。

所以我们得到结果如下:

现在- 2步- 3步是迭代直到重心都是聚合不动点。(也可能停止根据我们提供的标准,如最大迭代数,或达到一个特定的准确性等等)。 这些点是测试数据及其对应的质心之间的距离之和最小。 或者只是,之间的距离之和是最低的。

最终结果几乎看起来像下图:

这是一个直观的理解k - means聚类。 更多细节和数学解释,请阅读任何标准机器学习教科书或检查的额外资源的链接。 它只是一个顶层的k - means聚类。 有很多修改算法,如何选择初始质心,如何加快迭代过程等。

额外的资源

  1. 机器学习课程视频讲座,教授Andrew Ng(一些图片取自这)

OpenCV官方文档 理解k - means聚类相关推荐

  1. python opencv 官方文档里LaTeX公式不能正常显示怎么办?

    在查看opencv官方文档时,发现里面出现个看不懂的东西 比如这一句: \f[\begin{array}{l} | \texttt{dstsize.width} *2-src.cols| \leq 2 ...

  2. OpenTsdb官方文档-----理解指标和时间序列

      OpenTSDB是一个时间序列数据库.时间序列是一段时间内某个特定指标量的一系列数值数据点.每个时间序列由一个指标量加上一个或多个与此指标量相关联的标签组成(我们会稍微介绍一下标签).指标量是您希 ...

  3. QNX-Screen官方文档理解(Configuring Screen)

    用配置文件graphics.conf 配置库,驱动和屏幕参数 khronos khronos部分指定了与khronos相关的库和参数(例如,EGL和WFD库).这个部分由begin khronos和e ...

  4. OpenCV 官方文档

    此博客为个人笔记本,内容没有侵权,仅供自己查阅. OpenCV: OpenCV-Python Tutorials

  5. jira使用教程 一(从官方文档理解)

    JIRA官方说明 JIRA使用教程 blog QA: jira 如何关联到Gerrit Reviews JIRA Concepts - Issues Aim JIRA tracks issues, w ...

  6. OpenCV官方文档

    博客链接:https://blog.csdn.net/chaihuimin/article/details/70579049

  7. opencv python 官方文档里的“sa”关键字是什么意思?(see also)

    在阅读opencv官方文档的时候,有时候会遇见"sa"这个关键字,这是什么意思呢? command sa starts "See also" paragraph ...

  8. Tomcat官方文档关于数据源配置的内容

    虽然有网上有网友自己总结的文章,但说明得总是不够清晰,还是参考官方文档理解得比较透彻: http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html h ...

  9. OpenCV的k - means聚类 -对图片进行颜色量化

    OpenCV的k - means聚类 目标 学习使用cv2.kmeans()数据聚类函数OpenCV 理解参数 输入参数 样品:它应该的np.float32数据类型,每个特性应该被放在一个单独的列. ...

最新文章

  1. 安卓虚拟机启动后报错: 类似 SDK Manager] Error: Error parsing .....devices.xml 解决方案
  2. 表的插入、更新、删除、合并操作_2_插入含自增列的记录
  3. 盘点:最值得托付终身的星座
  4. SQL Server的数据导入MySQL数据库方法简介
  5. JDK1.8 中 ConcurrentHashMap源码分析(二)元素添加是线程安全的
  6. anaconda pycharm_搭建 Python 高效开发环境: Pycharm + Anaconda
  7. 设计模式——工厂方法
  8. mfsmatelogger安装脚本
  9. C++/CX:类的继承
  10. mql 查询多结果_详解Oracle分页查询概念、缘由及如何实现
  11. 前端vue项目下载zip压缩包及附加
  12. IIC和SPI的异同
  13. php聊天室发送表情,聊天室之表情发送
  14. 水利水电安全员考试问答练习题库(4)
  15. CodeChef 补题
  16. html5旋转的向日葵动画js特效
  17. 刷脸支付不需要掏手机扫码很是方便
  18. 布置主卧室的八大风水要点
  19. 025-2018-1011 re模块
  20. MMR(最大边界相关算法)

热门文章

  1. idea + maven + profile + tomcat 调试 javaee 和js
  2. JavaScript原型链的理解
  3. socket编程方法,概念
  4. 《淘宝店铺装修与促销设计宝典》一6.1 设计全面的店铺客服区
  5. 《《python基础》》
  6. zabbix安装使用及监控案例(从头到尾)
  7. linux 学习教程
  8. Mybatis 使用的 9 种设计模式,真是太有用了~
  9. 写给对 ”游戏开发” 感兴趣的朋友们
  10. 从一个故障说说Java的三个BlockingQueue