聚类系列(一)——什么是聚类?

news2024/9/20 22:34:15

目前在做聚类方面的科研工作, 看了很多相关的论文, 也做了一些工作, 于是想出个聚类系列记录一下, 主要包括聚类的概念和相关定义、现有常用聚类算法、聚类相似性度量指标、聚类评价指标、 聚类的应用场景以及共享一些聚类的开源代码

下面正式进入该系列的第一个部分,什么是聚类?

文章目录

  • 前言
  • 什么是聚类
    • 示例问题1:
    • 示例问题2:
  • 聚类的研究内容和问题


前言

目前, 机器学习/深度学习研究的热火朝天,归根到底可以将其分为两大类: 有监督学习和无监督学习(当然也有半监督学习,弱监督学习等等)。

有监督学习和无监督学习的区别就是是否样本可以去训练和学习。当有足够的训练样本,有大量强大模型可以用于服务于不同的任务,比如用于手写数字识别的CNN及其变体、用于空气质量预测的LSTM及其变体。

但如果没有样本标签呢?对于分类任务来说, 如何对样本进行分类? 如何将样本划分为不同相似的子集?这就是聚类问题!

什么是聚类

聚类就是研究如何根据样本相似性和优化准则,将样本划分为不同的子集/类/簇等,使得簇内的样本的相似性最大,簇间的样本相似性最小。

这里的样本可以是不同领域的不同类型的数据,可以是真实物理世界中的点、线、面数据,也可以是进行抽象、虚拟的点、线面数据。举例来说: 包含经纬度的PM2.5站点,居民移动的轨迹点,车辆轨迹线数据,建筑物面数据,以及用户、西瓜等抽象点数据

聚类在多个领域都有着广泛应用,比如数据挖掘(聚类是数据挖掘的经典研究之一)、人类行为模式探测、图像处理与分析、生物科学等。

同样以经典数据集为例:鸢尾花(iris)分类问题

示例问题1:

iris数据集包含了不同类型的花的样本数据,但是不知道具体每个样本花所属的类型,每个样本数据有花萼长度、花萼宽度、花瓣长度和花瓣宽度等四个特征。现在需要根据样本特征将iris数据划分为不同的相似样本簇。

思路: 在利用聚类问题解决此问题的方法为: 根据花的特征计算不同花之间的相似性,然后利用聚类算法根据相似性计算结果将不同的样本点划分为不同的组(亦可成为簇, 子集等), 位于相同簇内的样本即被认为是具有相似属性的花。

示例问题2:

空间上存在不同的空间点数据, 如图1所示, 在位置点数据其他属性, 只知道其空间坐标的前提夏, 如果将图上的点划分为不同的组?

思路: 该问题是典型的空间聚类问题, 根据点数据的空间坐标计算不同点之间的距离作为度量点数据之间相似性的标准,然后根据相似性度量结果对不同的空间点数据划分为不同的簇, 其中簇内的样本点之间的距离最小(相似性最小), 簇间的样本距离最大(相似性最大)
在这里插入图片描述

聚类的研究内容和问题

通过上述介绍可知, 在聚类研究中, 不管研究的样本数据的类型是空间数据还是非空间(属性)数据, 聚类的核心内容是相同的, 包括两个部分:

  • 度量样本数据之间的相似性(距离)。
  • 基于相似性度量结果, 采用某种准则将样本划分为不同的簇。

而根据聚类的核心研究内容, 又具体需要研究以下内容:

  • 如何度量样本之间的相似性? 如何度量不同类型的样本之间的相似性?
  • 如何确定样本簇的个数?
  • 如何区别簇内数据和噪声数据?
  • 如何识别不同密度的簇?
  • 如何识别不同任意形状的簇?
  • 如何确定识别的簇结果的质量? 即如何度量聚类结果的有效性?
  • 如何识别具有弱连接的簇(颈问题和链问题)?
  • 如何减少参数设置对聚类结果的影响?
  • 如何减少人为的干预?

后续会针对上述问题, 以及目前典型的聚类算法进行详细介绍, 并给出部分实现代码

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

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

相关文章

MySQL数据库入门到大牛_基础_12_MySQL数据类型精讲

文章目录 1. MySQL中的数据类型2. 整数类型2.1 类型介绍2.2 可选属性2.2.1 M2.2.2 UNSIGNED2.2.3 ZEROFILL 2.3 适用场景2.4 如何选择? 3. 浮点类型3.1 类型介绍3.2 数据精度说明3.3 精度误差说明 4. 定点数类型4.1 类型介绍4.2 开发中经验 5. 位类型:BI…

visionOS空间计算实战开发教程Day 5 纹理和材质

在​​Day 4​​​中我们使用了​​ImmersiveSpace​​并在其中添加了一个立方体,但对这个立方体我们只配置了长宽高,并没有做进一步的操作。 本文中我们会通过纹理和材质对这个立方体的六个面分别进行不同的绘制。首先我们将​​ImmersiveView​​分拆…

拒绝“信息茧房”,不做“井底之蛙”

前言 在信息爆炸的时代,我们每天都会被各种各样的信息包围着。这些信息来自各种渠道,如社交媒体、新闻媒体、搜索引擎、推荐系统等等。在算法和选择下,社交平台、购物平台帮大家过滤掉不熟悉、不喜欢、不感兴趣的内容,只推荐想看…

文件的原理和应用

常识: 1 文件包括属性和内容 2 文件有打开和未打开文件, 3 本文先讨论谁打开的文件,以及如何管理已经打开的文件 一 回忆c接口 1 fopen 我们在test.c里面用一下fopen函数,不存在打开的文件会默认创建,那为什么默认新建在当前…

RabbitMQ 的网页界面操作说明

启动 上面给用户添加了角色和权限, 我们就可以登录了 先手动创建两个队列,然后再把这两个队列和交换机绑定,就可以发布消息 回到队列中看看有什么变化 队列中显示绑定了交换机 再看一下队列中发生的变化 可以看到队列中收到了信息

代码随想录二刷 | 链表 |环形链表II

代码随想录二刷 | 链表 |环形链表II 题目描述解题思路 & 代码实现判断链表是否有环如何找到环的入口 题目描述 142.环形链表II 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如…

千梦网创:创业一定要学会打造自己的榜样圈

一、状态 最近一直在学习刘克亚老师的书籍和课程。 克亚老师“国际自由族”的概念实际上就是实现“工作自由”。 财务自由只是一个奋斗目标,但“工作自由”是一种可实现的工作状态。 这种工作状态有一个特征就是全力打造一套能够无限趋近于“全自动”的赚钱系统。…

超详细 | 实验室linux服务器非root账号 | 安装pip | 安装conda

登录实验室公用服务器,个人账号下(非root)是空的,啥也没有,想安装下pip和conda。 转了一圈,好像没太有针对这个需求写具体博客的,但有挺多讲直接在root下安的(用的应该是个人虚拟机&…

代码随想录二刷 | 链表 |链表相交

代码随想录二刷 | 链表 |链表相交 题目描述解题思路 & 代码实现 题目描述 160.链表相交 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 题目数据 保…

透视未来:现代发电厂地区可视化与智慧能源的结合

随着全球能源消费的不断增长,电力需求也在不断上升。作为能源行业的重要组成部分,现代发电厂扮演着不可替代的角色。而现代发电厂的数据管理和监控系统,则是确保其安全、高效、稳定运行的重要手段。在这个背景下,现代发电厂地区可…

Python+Selenium安装及环境配置手把手教会你

前言 Selenium是一个用于web自动化测试的框架,在使用Ajax请求数据的页面中,会出现 sign ,token等密钥,如果考虑去破解可能花费的精力较多,所以考虑借助使用Selenium框架来实现数据爬取。 Selenium 简介 1. 1,组件✨ …

SMBGhost_RCE漏洞(CVE-2020-0796永恒之黑)

https://blog.csdn.net/qq_45372008/article/details/106980409 https://zhuanlan.zhihu.com/p/374949632 SMB 3.1.1协议处理某些请求的方式中存在远程执行代码漏洞,可能被攻击者利用远程执行任意代码。该漏洞的后果十分接近永恒之蓝系列,都利用Windows …

不看后悔系列 | 秒做BI报表,告别低效分析

根据经验来看,做企业数据分析,通常是由业务提出需求,交给IT去取数开发,当业务通过分析报表有了新的需求时,仍需交给IT去取数分析,这就导致业务的分析效率低。进入大数据时代,这样的低效数据分析…

【linux】安装telnet

Telnet Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令&#xf…

python练习题(markdown中的60道题)

1.Demo01 摄氏温度转化为华氏温度 celsius float(input(输入摄氏温度:)) fahrenheit (9/5)*celsius 32 print(%0.1f 摄氏温度转为华氏温度为 %0.1f % (celsius, fahrenheit))结果: 2.Demo02 计算圆柱体的体积 h, r map(float, input().split())# …

python命令行交互 引导用户输入一个数字

代码 以下代码将在命令行中,引导用户选择一个数字,并反馈用户输入的值 # -*- coding:UTF-8 -*- """ author: dyy contact: douyaoyuan126.com time: 2023/11/22 15:51 file: 引导用户输入一个数字.py desc: xxxxxx """#…

VMware Workstation系列:Windows10 优化VMware虚拟机运行速度总结(单台、多台-ESXI)

Windows10 优化VMware虚拟机运行速度总结 一. 单台或两台同时运行前言:优化方法环境: 1、清除多余快照2、清理磁盘。3、虚拟机全局设置5、设置“优先级”6、设置“设备”7、编辑虚拟机设置8、分配合适的内存和CPU 二. 多台并行背景:一. 下载1…

用css实现原生form中radio单选框和input输入框的hover样式以及聚焦focus的样式

一.问题描述:用css实现原生form中radio单选框和input的hover已经focus的样式 在实际的开发中,一般公司ui都会给效果图,比如单选按钮radio样式,input输入框hover的时候样式,以及focus的时候样式,等等&#…

有哪些好用的CFD软件?怎么选?

ANSYS Fluent和COMSOL Multiphysics以及OpenFOAM这3款CFD软件哪个好?cfd软件中哪款最实用?cfd软件有哪些?今天就给大家带来这几款CFD软件对比分析,一起来看看吧。 ANSYS Fluent ANSYS Fluent 是一种流行的计算流体动力学 (CFD) …