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

news/2024/5/20 9:22:54 标签: 聚类, 数据挖掘, 机器学习

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

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

文章目录

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


前言

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

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

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

什么是聚类

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

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

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

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

示例问题1:

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

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

示例问题2:

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

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

聚类的研究内容和问题

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

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

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

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

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


http://www.niftyadmin.cn/n/5203954.html

相关文章

目标检测原理

一、什么是目标检测 目标检测的任务是找出图像中所有感兴趣的目标(物体),确定他们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状、姿态,再加上光照、遮挡等因素的干扰,目…

海外IP代理:数据中心代理IP是什么?好用吗?

数据中心代理是代理IP中最常见的类型,也被称为机房IP。这些代理服务器为用户分配不属于 ISP(互联网服务提供商)而来自第三方云服务提供商的 IP 地址。数据中心代理的最大优势——它们允许在访问网络时完全匿名。 如果你正在寻找海外代理IP&am…

html a标签资源下载

主要用作关卡编辑器生成配置下载,其中存储路径为浏览器默认下载路径 code /*** fileDownload* param content 文件内容,-str* param fileName 文件名,-file/level1.json*/downloadByBlob(content: string, fileName: string){document.creat…

java游戏制作-飞翔的鸟游戏

一.准备工作 首先创建一个新的Java项目命名为“飞翔的鸟”,并在src中创建一个包命名为“com.qiku.bird",在这个包内分别创建4个类命名为“Bird”、“BirdGame”、“Column”、“Ground”,并向需要的图片素材导入到包内。 二.代码呈现 …

【RocketMq系列-02】RocketMq的架构解析和高性能设计

RocketMq系列整体栏目 内容链接地址【一】RocketMq安装和基本概念https://zhenghuisheng.blog.csdn.net/article/details/134486709【二】RocketMq的架构解析和高性能设计/font>https://zhenghuisheng.blog.csdn.net/article/details/134559514 RocketMq的架构解析和高性能设…

shell脚本三

目录 一、循环语句 一、循环 二、for循环语句 1.列表循环 2.与c语言循环相似的for循环 3.使用for打印三角形以及乘法表 4.测试172.16.114.0网段存活的主机并将存活的主机IP地址写入文件中,未存活的主机放入另一文件中 三、while循环语句 四、until循环语句…

2

【任务 2】私有云服务运维[10 分] 【适用平台】私有云 【题目 1】OpenStack 开放镜像权限[0.5 分] 使 用 OpenStack 私 有 云 平 台 , 在 OpenStack 平台的 admin 项 目 中 使 用 cirros-0.3.4-x86_64-disk.img 镜像文件创建名为 glance-cirros 的镜像,通…

普冉PY32系列(十二) 基于PY32F002A的6+1通道遥控小车III - 驱动篇

目录 普冉PY32系列(一) PY32F0系列32位Cortex M0 MCU简介普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境普冉PY32系列(三) PY32F002A资源实测 - 这个型号不简单普冉PY32系列(四) PY32F002A/003/030的时钟设置普冉PY32系列(五) 使用JLink RTT代替串口输出日志普冉PY32…