【OpenCV-Python】教程:7-3 理解KMeans

news2025/1/16 3:30:01

OpenCV Python KMeans 的理解

【目标】

  • 理解KMeans聚类的基础概念
  • KMeans是如何工作的,

【理论】

Tshirt尺寸问题

有个公司,打算投放一批T-shirt到市场上售卖,但是不知道人们需要什么样的尺寸,而且工厂也不会制作所有的尺寸样衣,所以,他们需要想办法,用尽可能少的尺寸数量满足用户需求。

在这里插入图片描述

他们把人分为小、中、大三种,只生产这三种适合所有人的型号。这种将人分成三组的方法可以通过k-means聚类来实现,算法提供了满足所有人的最佳3个大小。如果没有,公司可以把人们分成更多的小组,可能是五组,以此类推。请看下图:

在这里插入图片描述

K-Means步骤

该算法就是一个迭代更新的过程,下面将一步一步的进行介绍。以下图数据为例(可以认定为T-shirt问题,下图的数据,我们将它们聚为2类):

在这里插入图片描述

1. 随机选择聚类中心 C 1 C1 C1 C 2 C2 C2

2. 计算距离并标记

分别计算每个点到两个质心的距离,看与哪个质心更近,如果与 C 1 C1 C1 近,则认为属于类别0 , 与 C 2 C2 C2 近,认为属于类别 1。 (此处 0,1 为 设定的类别号),本例中0表示红色,1表示蓝色;

在这里插入图片描述

3. 重新计算分配

分别计算所有红色点和蓝色点的平均值,新的平均值就是新的质心,也是新的 C 1 C1 C1 C 2 C2 C2

不停的进行步骤2 和步骤 3, 得到下图的结果。

在这里插入图片描述

迭代进行以上步骤后,直到两个质心都收敛到固定点(或者收敛到我们设定的值,例如最大迭代次数,达到的精度等)。简单的说,就是 C 1 ↔ R e d P o i n t s C1↔RedPoints C1RedPoints C 2 ↔ B l u e P o i n t s C2↔BluePoints C2BluePoints 距离和最小。

m i n i m i z e [ J = ∑ A l l R e d P o i n t s d i s t a n c e ( C 1 , R e d P o i n t ) + ∑ A l l B l u e P o i n t s d i s t a n c e ( C 2 , B l u e P o i n t ) ] minimize \lbrack J=\sum_{AllRedPoints}{distance(C1,RedPoint)} + \sum_{AllBluePoints}{distance(C2,BluePoint)} \rbrack minimize[J=AllRedPointsdistance(C1,RedPoint)+AllBluePointsdistance(C2,BluePoint)]

最终的效果如下:
在这里插入图片描述

这只是对KMeans的直观理解,若要理解更多的细节,请看专业的机器学习书籍。

【参考】

  1. Understanding K-Means Clustering
  2. Machine Learning Course, Video lectures by Prof. Andrew Ng (Some of the images are taken from this)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/109898.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

联想C2E摄像头的折腾

背景 老苏的巨峰摄像头坏了,一直也没在意,因为监控也不是什么刚需。朋友送的,比较古老,不像现在的家用监控摄像头,都有 app,而这台巨峰摄像头不光不支持 app,后台设置还只能用 IE,因…

OLSR路由协议学习

OLSR路由协议概述两种分组路由发现与维护算法步骤链路感知邻居侦听MPR选择拓扑建立路由表的建立与维护总结概述 优化链路状态路由(Optimized Link State Routing)协议,即 OLSR 路由协议是一种平面拓扑的先验式路由协议(主动式路由…

使用mosquitto部署MQTT服务

本次实验使用版本:mosquitto-1.6.7 查看版本命令:mosquitto -v 1安装 make && make install,安装mosquitto。 安装完毕后放开防火墙 查看防火墙某个端口是否开放 firewall-cmd --query-port1883/tcp 开放防火墙端口80 firewall-…

BHG Mall超级宠粉节攻略收藏,商业IP化出圈新玩法

购物中心作为人们生活的第三空间,除了满足物质需求外,是人们精神消费的最主要空间之一。中国连锁经营协会发布《中国购物中心对经济社会发展贡献力报告》,报告中显示,购物中心不断转变,发展成为城市能够识别时代精神符…

关于我转行嵌入式的那些事

文章目录**为什么想转行了?****一、工作环境问题****二、无休止的出差加班和混乱的作息时间****三、工作压力大****四、薪资上限低,行业前景差****为什么选择嵌入式****转行前的学习****一、单片机开发****二、Linux应用开发****三、Linux驱动开发和Andr…

高校GIS系统有何作用?

根据高校信息化管理平台的基本建设,全方位提高数据服务团体的管理服务质量。根据综合性平台全方位地服务项目出示,更为全方位地掌握老师学生的主题活动特性,并根据云计算技术对老师学生的个人行为数据信息开展发掘剖析,进而精确掌…

VSCode远程连接Linux服务器上的项目,并连接GitHub

一、Linux中创建ssh密钥 以centos为例,创建ssh密钥 ssh-keygen -t rsa -C "your_emailexample.com" 后面连续点击回车即可。 如此便会在 ~/.ssh 目录下生成身份验证所需的公钥和私钥两个文件. 上文中使用的 RSA 算法, 所以得到的文件默认应为 id_rsa…

基于FPGA的 TMDS 编码 及 HDMI 显示

目录 引言 TMDS 编码 原理简介 TMDS编码实现 HDMI差分数据串行 实现方法 源码 HDMI显示方法 思路 实现 工程结构 源代码分享 板级调试视频 引言 最近在开发板上倒腾了一下 TMDS 视频编码的原理以及实现。特在此做一个记录。文附 全部设计源码、MATLAB源码&#xf…

【IE】信息抽取任务简述

1 信息抽取任务 信息抽取(Information extraction,IE)任务指从非结构化或半结构化的文本中抽取出结构化信息。根据被抽取的对象,信息抽取可以分为以下4个任务: (1) 实体抽取(Entity…

单商户商城系统功能拆解51—应用中心—评价助手

单商户商城系统,也称为B2C自营电商模式单店商城系统。可以快速帮助个人、机构和企业搭建自己的私域交易线上商城。 单商户商城系统完美契合私域流量变现闭环交易使用。通常拥有丰富的营销玩法,例如拼团,秒杀,砍价,包邮…

用维度概念来定义初级、中级、高级程序员

网络上众说纷纭,大都站立在对某一技术的知识掌握量上来界定,或者有些人说着说着,发现无法自圆其说,然后就说这三种人就是一种叫法,你觉得你是高级你就高级了,从概念上讲,这三者之间必然有质的区…

Apache Karaf 存在远程代码执行漏洞

漏洞描述 Apache Karaf 是一个用于部署业务代码或应用程​​序的 modulith 运行时环境。 Apache Karaf 的受影响版本中由于 jaas.modules.src.main.java.porg.apache.karaf.jass.modules.jdbc.JDBCUtils#doCreateDatasourceuse 中的 lookup 方法没有对 jndiName 有效过滤从而…

疫情感染开始,大多居家办公

健康无价,有人卖掉了

docker 安装 mysql

一、下载安装MySQL镜像 sudo docker pull mysql:5.7 【注】docker pull mysql 如果不指定版本,默认安装最新版本。 sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。不想用sudo,使用命令su root&…

一款强大的免费开源的基于流量分析的扫描器结合不同场景的实际使用与漏-洞及木-马发现实践

一款强大的免费开源的基于流量分析的扫描器结合不同场景的实际使用与漏-洞及木-马发现实践。 关于安全领域内漏-洞的发现,技术手段非常多,工具也非常多,大致阶段可分为事前、事中、事后来处理。事前大多采用SDL、白盒扫描等;事中、事后有NIDS及漏-洞感知,甚至还有WAF来拦…

借力 StarRocks,“陆战之王“ 大润发如何在零售业数字化转型中抢占先机?

作者:大润发大数据团队 自 1998 年在上海开设第一家大型超市以来,大润发已在中国大陆地区成功开设近 500 家综合性大型超市,覆盖全国 29 个省市及自治区达 230 多个城市,年销售额过千亿。大润发优鲜、淘鲜达、饿了么、天猫超市线…

四、网络层(二)路由算法与路由选择协议

目录 2.1 静态路由与动态路由 2.2 层次路由与自治系统 2.3 距离-向量路由算法之路由信息协议(RIP) 2.3.1 RIP的基本特点 2.3.2 距离向量算法 2.4 链路状态路由算法之开放最短路径优先(OSPF)协议 2.4.1 OSPF协议的基本特点…

DELL Precison 7670 不能加载系统固态硬盘

xiaokcehui: 电脑无法开机 戴尔技术支持: 诸葛小戴检测到您这是台笔记本电脑,小戴会带着您做4个操作尝试帮您解决问题: 戴尔技术支持: [1/4] 请您参考小戴发给您的图片做一下重置RTC的操作 ✅RTC是集成电路,通常称为时钟芯片,如…

React基础知识(事件处理、受控组件与非受控组件、高阶函数、组件的生命周期)(三)

系列文章目录 第一章:React基础知识(React基本使用、JSX语法、React模块化与组件化)(一) 第二章:React基础知识(组件实例三大核心属性state、props、refs)(二&#xff0…

使用 Pygame Zero 构建一个捕捉游戏(详细步骤含源码)

Pygame zero 是一个用于教育的工具,适合任何开始学习使用 Python 创建游戏的人。那么让我们从制作一个小的捕捉游戏开始吧:) 您可以使用 pip 安装 pygame 零,如图所示 pip install pgzero你好 Pygamezero! 要开始使用 pygamezero,请将以下代码复制到文件catching_game.py…