深度神经网络——什么是 K 均值聚类?

K 均值聚类

K 均值聚类是 无监督学习在所有无监督学习算法中,K 均值聚类可能是使用最广泛的,这要归功于它的强大功能和简单性。 K-means 聚类到底是如何工作的?

简而言之,K 均值聚类的工作原理是 创建参考点(质心) 对于所需的班级数量,然后 将数据点分配给类簇 基于最接近的参考点。 虽然这是 K 均值聚类的快速定义,但让我们花一些时间更深入地研究 K 均值聚类,并对其运行方式有一个更好的直观了解。

定义聚类

在研究用于执行 K 均值聚类的确切算法之前,先来看看什么定义聚类:

集群只是项目组,而集群只是将项目放入这些组中。 从数据科学的意义上来说, 聚类算法 目标是做两件事:

  • 确保集群中的所有数据点尽可能彼此相似。
  • 确保不同集群中的所有数据点尽可能彼此不同。

聚类算法根据某种相似性度量将项目分组在一起。 这通常是通过查找数据集中不同可能组的“质心”来完成的,尽管不完全如此。 有多种不同的聚类算法,但所有聚类算法的目标都是相同的,即确定数据集固有的组。

K均值聚类

K-Means 聚类是最古老和最常用的聚类算法之一,它的运行基于 向量量化。 选取空间中的一个点作为原点,然后从原点绘制到数据集中所有数据点的向量。

一般来说,K-means 聚类可以分为五个不同的步骤:

  • 将所有实例放入子集中,子集的数量等于 K。
  • 找到新创建的簇分区的平均点/质心。
  • 根据这些质心,将每个点分配给特定的簇。
  • 计算每个点到质心的距离,并将点分配给距质心距离最小的簇。
  • 将点分配给簇后,找到簇的新质心。

重复上述步骤直至训练过程完成。

在初始阶段,质心放置在数据点之间的某个位置。

或者,在放置质心之后,我们可以将 K 均值聚类视为在两个不同阶段之间来回交换:标记数据点和更新质心。

在第二步中,使用欧几里德距离等距离度量来计算给定点最接近哪个质心,然后将这些点分配给该质心的类。
在数据点标记阶段,每个数据点都被分配一个标签,将其放置在属于最近质心的簇中。 最近的质心通常使用平方欧几里得距离来确定,尽管可以根据输入聚类算法的数据类型使用其他距离度量,例如曼哈顿距离、余弦和杰卡德距离。

第三步,将质心移动到所有数据点的平均值。 然后重新分配班级。

在质心更新步骤中,通过查找当前包含在簇内的所有数据点之间的平均距离来计算质心。

如何选择正确的“K”值

考虑到 K 均值聚类是一种无监督算法,并且事先不知道类的数量,那么如何确定适当的类数/正确的 K 值?

一种选择正确 K 值的技术称为“肘部技术”。 肘部技术包括对一系列不同的 K 值运行 K 均值聚类算法,并使用准确度度量(通常是误差平方和)来确定哪些 K 值可提供最佳结果。 误差平方和是通过计算簇的质心与该簇中的数据点之间的平均距离来确定的。

术语“肘形技术”来自这样一个事实:当您针对不同的 K 值绘制 SSE 时,所得线图通常会具有“肘形”形状,其中 SSE 对于 K 的前几个值快速下降,但随后趋于平稳。 在这种情况下,位于弯头处的 K 值是 K 的最佳值,因为在该值之后收益会迅速递减。

小批量 K 均值聚类

随着数据集变大,计算时间也会增加。 在大规模数据集上运行时,基本 K 均值聚类可能需要很长时间才能完成,因此,对 K 均值聚类进行了调整,以降低算法的空间和时间成本。

小批量 K 均值聚类 是 K 均值聚类的变体 其中所考虑的数据集的大小是有上限的。 普通 K 均值聚类同时对整个数据集/批次进行操作,而小批量 K 均值聚类 将数据集分解为子集。 小批量是从整个数据集中随机采样的,对于每次新的迭代,都会选择一个新的随机样本并用于更新质心的位置。

在小批量 K 均值聚类中,聚类是通过小批量值和学习率的组合来更新的。 学习率随着迭代而降低,它是放置在特定簇中的数据点数量的倒数。 降低学习率的效果是,在经过多次迭代后,簇没有变化时,新数据的影响减少,达到收敛。

关于小批量 K 均值聚类有效性的研究结果表明,它可以成功地减少计算时间,同时稍微权衡聚类质量。

K-Means 聚类的应用

K 均值聚类可以安全地用于数据点可以分为不同组/类的任何情况。 以下是 K 均值聚类的一些常见用例示例。

K-means 聚类可应用于文档分类,根据主题、标签、单词用法、元数据和其他文档特征等特征对文档进行分组。 它还可用于根据帖子和评论等活动模式将用户分类为机器人或非机器人。 K 均值聚类还可用于根据监测健康状况时的关注程度、合并症、年龄、患者病史等特征将人们分组。

K 均值聚类还可以用于更多开放式任务,例如创建推荐系统。 Netflix 等系统的用户可以根据观看模式进行分组,并推荐相似的内容。 K 均值聚类可用于异常检测任务,突出显示潜在的欺诈或缺陷商品实例。

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

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

相关文章

Halcon 极坐标转换图像

一、概述 先看效果 将圆形的用极坐标转换成矩性然后再进行识别或者其他缺陷检测,最后在还圆到原图中 二、原理: halcon 圆环类缺陷检测的一种方法(极坐标变换法)_halcon缺口检测-CSDN博客 图像极坐标变换与反变换(…

吴恩达深度学习笔记:超 参 数 调 试 、 Batch 正 则 化 和 程 序 框 架(Hyperparameter tuning)3.4-3.5

目录 第二门课: 改善深层神经网络:超参数调试、正 则 化 以 及 优 化 (Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)第三周: 超 参 数 调 试 、 Batch 正 则 化 和 程 序 框 架(Hyperparameter …

Spark SQL【Java API】

前言 之前对 Spark SQL 的影响一直停留在 DSL 语法上面,感觉可以用 SQL 表达的,没有必要用 Java/Scala 去写,但是面试一段时间后,发现不少公司还是在用 SparkSQL 的,京东也在使用 Spark On Hive 而不是我以为的 Hive O…

ubuntu20.04 开机自动挂载外加硬盘

文章目录 一、问题描述二、操作1. 查找新添盘符2. 格式化硬盘文件系统3. 挂载硬盘4. 开机自动挂载5. 取消挂载6. 查看挂载的硬盘信息 一、问题描述 因电脑使用一段时间后自身硬盘不足,需外加硬盘使得电脑自动识别加载。 二、操作 1. 查找新添盘符 sudo blkid自己…

Linux基础命令详解

Linux基础命令详解 1. ls 解释:列出目录内容用法:ls [选项] [文件名]示例:ls -l(以长格式显示文件信息) 2. cd 解释:更改目录用法:cd [目录名]示例:cd /home(切换到/…

# 全面解剖 消息中间件 RocketMQ-(3)

全面解剖 消息中间件 RocketMQ-(3) 一、RocketMQ – mqadmin 命令介绍 1、mqadmin 管理工具 使用方式 进入 RocketMQ 安装位置,在 bin 目录下执行 ./mqadmin {command} {args} # 进入 RocketMQ 安装目录的 bin 目录下: cd /usr…

免费、开源、好用的 SQL 客户端合集

免费、开源、好用的 SQL 客户端合集 分类 编程技术 0、SQL Chat SQL Chat 是 2023 年 3 月推出的新型 SQL 客户端,它将数据库管理带入了基于聊天的新时代。 SQL Chat 由 ChatGPT 驱动,能够帮你编写和润色 SQL 语句,让数据库操作变得更加智…

微信小程序开发环境的搭建

一、注册微信小程序账号 二、安装微信开发者工具 1.下载微信开发者工具。 官网下载地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/downloads.html 2、选择稳定版Window64下载安装 3、下载完毕后,点击下一步安装 三、使用微信开发者工具…

SQLite查询优化

文章目录 1. 引言2. WHERE子句分析2.1. 索引项使用示例 3. BETWEEN优化4. OR优化4.1. 将OR连接的约束转换为IN运算符4.2. 分别评估OR约束并取结果的并集 5. LIKE优化6. 跳跃扫描优化7. 连接7.1. 手动控制连接顺序7.1.1. 使用 SQLITE_STAT 表手动控制查询计划 1. 引言 给定一个…

C# 特性(Attribute)超详细教程

文章目录 0.前篇1.特性概念2.特性的声明和使用2.1 特性定义语法2.2 特性目标 3.预定义特性3.1 AttributeUsage3.2 Conditional3.3 其它预定义特性 4.MyAttributeHelper(特性使用帮助类)5.特性应用5.1 添加说明信息并获取5.2 数据验证 0.前篇 学习本文前…

聊聊Python中的文件读写操作

Python 中的文件读写操作是数据处理和存储的基本操作之一。下面,我将详细解释如何在 Python 中进行文件的读写操作。 1. 打开文件 在 Python 中,使用 open() 函数来打开文件。这个函数需要至少一个参数,即文件名,并且返回一个文件…

数据结构和组成

数据结构组成 数据项:一个数据元素可以由若干数据项组成。 数据对象:有相同性质的数据元素的集合,是数据的子集。 数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。 逻辑结构 数据对象中数据元素之间的相互关系 eg: …

深入理解python列表遍历:两种方法详解与实例

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言 二、使用索引遍历列表 三、直接使用元素遍历列表 四、总结 一、引言 在编程过程…

创建python字典的两种方法:直观与函数式

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、直观创建法:直接定义键值对 二、函数式创建法:使用内置函数dict…

CSRF 攻击

概述 CSRF(Cross-site request forgery,跨站请求伪造)。 它是指攻击者利用了用户的身份信息,执行了用户非本意的操作。 它首先引导用户访问一个危险网站,当用户访问网站后,网站会发送请求到被攻击的站点,这次请求会携带用户的c…

拼多多携手中国农业大学,投建陕西佛坪山茱萸科技小院

5月16日下午,中国农业大学陕西佛坪山茱萸科技小院在佛坪县银厂沟村揭牌。佛坪县素有“中国山茱萸之乡”的美誉,是全国山茱萸三大基地之一,当地山茱萸是国家地理标志产品,山茱萸肉产量位居全国第二。 为充分发挥佛坪县得天独厚的山…

vscode快捷键mac快捷键

vscode快捷键 在 Visual Studio Code 中,可以使用「Ctrl D」快捷键来选中相同内容。还可以使用以下快捷键来操作: 向上/下选择相同内容 Alt ↑/↓ 选择所有相同内容 Ctrl Shift L mac中则是commandshiftL VSCode删除整行快捷键 CtrlShiftK mac中则…

局部放电试验变频电源

局部放电试验中的变频电源设备 局部放电试验变频电源是一种专为电力设备的局部放电检测设计的高性能电源系统。在电力设备的运行和维护过程中,局部放电测试用于探测潜在的绝缘缺陷,防止它们进一步恶化导致设备损坏。传统的局部放电试验通常使用交流电源&…

with关键字

在 Python 中,with 是一个关键字,用于引入一个上下文管理器(context manager)。上下文管理器是一种特殊的对象,它允许你以一种干净、结构化的方式执行一组特定的操作,通常包括设置和清理资源。 with 语句通…

jmeter之测试计划

一、测试计划作用 测试计划是jmeter的默认控件所有线程组都是测试计划的下级控件测试计划可以配置用户自定义的变量测试计划可以配置线程组的串行或并行 二、查看界面 名称:可以修改自定义的名称注释:解释测试计划是用来做什么的用户自定义的变量&…