当前位置: 首页 > news >正文

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

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

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

文章目录

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


前言

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

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

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

什么是聚类

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

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

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

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

示例问题1:

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

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

示例问题2:

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

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

聚类的研究内容和问题

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

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

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

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

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

相关文章:

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

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

Android DatePicker(日期选择器)、TimePicker(时间选择器)、CalendarView(日历视图)- 简单应用

示意图&#xff1a; layout布局文件&#xff1a;xml <?xml version"1.0" encoding"utf-8"?> <ScrollView xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.com/apk/res-auto"…...

linux环境搭建mysql5.7总结

以下安装方式&#xff0c;在阿里云与腾讯云服务器上都测试可用。 一、进入到opt目录下&#xff0c;执行&#xff1a; [rootmaster opt]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz解压&#xff1a; [rootmaster opt]#…...

SQL Server Count()函数

SQL Server Count()函数 SQL Server COUNT() 是一个聚合函数&#xff0c;它返回在集合中找到的项目数。 COUNT() 函数语法&#xff1a; COUNT([ALL | DISTINCT ] expression)ALL 指示COUNT() 函数应用于所有值。ALL是默认值。返回非NULL值的数量&#xff08;包括重复值&…...

架构探索之路-第一站-clickhouse | 京东云技术团队

一、前言 架构, 软件开发中最熟悉不过的名词, 遍布在我们的日常开发工作中, 大到项目整体, 小到功能组件, 想要实现高性能、高扩展、高可用的目标都需要优秀架构理念辅助. 所以本人尝试编写架构系列文章, 去剖析市面上那些经典优秀的开源项目, 学习优秀的架构理念来积累架构设…...

易航网址引导系统 v1.9 源码:去除弹窗功能的易航网址引导页管理系统

易航自主开发了一款极其优雅的易航网址引导页管理系统&#xff0c;后台采用全新的光年 v5 模板开发。该系统完全开源&#xff0c;摒弃了后门风险&#xff0c;可以管理无数个引导页主题。数据管理采用易航原创的JsonDb数据包&#xff0c;无需复杂的安装解压过程即可使用。目前系…...

创新无界:通义灵码在测试过程中展现的独特魅力

通义灵码基于通义大模型&#xff0c;提供代码智能生成、研发智能问答能力。本文就来介绍下通义灵码在测试过程中的应用。 操作手册&#xff1a; 通义灵码, 阿里云提供的一款基于通义大模型的智能编码辅助工具_云效-阿里云帮助中心 1. 什么是通义灵码 是阿里云出品的一款基于通…...

crmchat安装搭建教程文档 bug问题调试

一、安装PHP插件&#xff1a;fileinfo、redis、swoole4。 二、删除PHP对应版本中的 proc_open禁用函数。 一、设置网站运行目录public&#xff0c; 二、设置PHP版本选择纯静态。 三、可选项如有需求则开启SSL,配置SSL证书&#xff0c;开启强制https域名。 四、添加反向代理。 …...

Golang http 请求如何设置代理

ENV golang 1.17 使用代理 需要在创建 http client 的时候设置&#xff0c;使 http 库能够捕获环境变量 示例 func newClient(cert tls.Certificate) (*http.Client, error) {config : &tls.Config{Certificates: []tls.Certificate{cert},}config.BuildNameToCertific…...

电子眼与无人机在城市安防中的协同应用研究

随着城市化进程的快速推进&#xff0c;城市安全问题成为了人们关注的焦点。传统的安防手段已经无法满足现代城市复杂多变的安全需求。因此&#xff0c;结合电子眼与无人机技术&#xff0c;实现二者之间的协同应用&#xff0c;成为提升城市安防能力的重要途径。 一、电子眼与无人…...

LVS+keepalived——高可用集群

lvskeepalived&#xff1a;高可用集群 keepalived为lvs应运而生的高可用服务。lvs的调度器无法做高可用&#xff0c;于是keepalived这个软件。实现的是调度器的高可用。但是&#xff1a;keepalived不是专门为lvs集群服务的&#xff0c;也可以做其他代理服务器的高可用。 lvs的…...

使用 AWS boto3 库从 s3 桶中批量下载数据

文章目录 一、Boto3 快速安装二、账户配置三、代码示例3.1 下载单个文件3.2 下载文件夹内全部文件 官方文档 一、Boto3 快速安装 安装 Boto3 之前&#xff0c;先安装 Python 3.8 或更高版本&#xff1b;对 Python 3.6 及更早版本的支持已弃用。 通过 pip 安装最新的 Boto3 版…...

js ::after简单实战

::after的作用是在元素后面再加个XXX样式 工作中遇到了一个表格&#xff0c;鼠标指到单元格要有个整行编辑态的效果&#xff0c;下面写个简单的demo 有人可能会说了&#xff0c;直接修改某个单元格的hover样式不就行了嘛&#xff0c;问题是如果鼠标指到单元格和单元格直接的…...

数据结构与算法实验(黑龙江大学)

实验一 顺序存储的线性表&#xff08;2 学时&#xff09; 一、实验目的 1 、掌握线性表的逻辑结构特征。 2、熟练掌握线性表的顺序存储结构的描述方法。 3 、熟练掌握顺序表上各种基本操作的实现。 二、实验内容 1 、设线性表的数据元素都为整数&#xff0c;存放在顺序表…...

如何使用rclone将腾讯云COS桶中的数据同步到华为云OBS

在多云策略与数据迁移趋势下&#xff0c;企业往往需要将数据在不同云服务提供商之间进行迁移。本文介绍如何使用rclone工具同步腾讯云COS&#xff08;Cloud Object Storage&#xff09;桶中的数据到华为云OBS&#xff08;Object Storage Service&#xff09;。先决条件是您已经…...

gitlab

Gitlab 安装git yum安装 [rootgit ~]# yum -y install git编译安装 Git官网 #安装依赖关系 [rootgit ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel autoconf gcc perl-ExtUtils-MakeMaker # 编译安装 [rootgit ~]# tar -zxf git-2.0…...

3.计算机网络

1.重点概念 MSL&#xff08;Maximum segment lifetime&#xff09;&#xff1a;TCP 报⽂最⼤⽣存时间。它是任何 TCP 报⽂在⽹络上存在的 最⻓时间&#xff0c;超过这个时间报⽂将被丢弃。实际应⽤中常⽤的设置是 30 秒&#xff0c;1 分钟和 2 分钟。 TTL&#xff08;Time to …...

Doris表的动态分区

动态分区是在Doris 0.12版本中引入的新功能。旨在对表级别的分区实现生命周期管理(TTL),减少用户的使用负担。 目前实现了动态添加分区及动态删除分区的功能。动态分区只支持Range分区。 1 原理 在某些使用场景下,用户会将表按照天进行分区划分,每天定时执行例行任务,这时…...

docker小技能:部署mysql

文章目录 引言I Docker安装MySQL1.1 安装mysql1.2 配置容器自动重启参数1.3 查看版本II 配置MySQL2.1 设置为开机自启动2.2 执行MySQL安全性操作并设置密码2.3 配置文件2.4 创建数据库用户dmsTest,并授予远程连接权限。2.5 用户相关命令III 用户权限3.1 权限层级3.2 权限分类3.…...

“AI在未来”公益计划,亚马逊云科技将教育资源带到更多中西部学校

亚马逊云科技宣布携手中国光华科技基金会启动“AI在未来”公益计划2023至2024学年项目&#xff0c;预计本学年内在内蒙古、江西、湖南和广西四个省份开展该项目&#xff0c;并完成三年内为中西部地区一百所学校的一万名学生提供免费人工智能教育资源及实践机会的目标。 此外&am…...

3步解锁Windows原生HEIC预览:告别格式转换的终极方案

3步解锁Windows原生HEIC预览&#xff1a;告别格式转换的终极方案 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC/HEIF files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails 你是否曾经在Wi…...

Arduino新手避坑指南:用Tinkercad在线仿真搞定RGB灯实验,免硬件零成本入门

Arduino新手避坑指南&#xff1a;用Tinkercad在线仿真搞定RGB灯实验 第一次接触Arduino时&#xff0c;最让人头疼的不是代码逻辑&#xff0c;而是那些闪烁的LED灯、烧焦的电阻和永远找不到的杜邦线。如果你也曾在面包板前手足无措&#xff0c;或是担心短路损坏昂贵的开发板&…...

如何解锁MacBook Touch Bar在Windows下的完整功能:终极跨系统驱动方案

如何解锁MacBook Touch Bar在Windows下的完整功能&#xff1a;终极跨系统驱动方案 【免费下载链接】DFRDisplayKm Windows infrastructure support for Apple DFR (Touch Bar) 项目地址: https://gitcode.com/gh_mirrors/df/DFRDisplayKm MacBook Touch Bar Windows驱动…...

开源免费的WPS AI 软件 察元AI文档助手:链路 052:wpsCapabilityRouter 中决策用 chatCompletion

链路 052&#xff1a;wpsCapabilityRouter 中决策用 chatCompletion 总体链路图 下图在全系列各篇保持一致&#xff0c;仅通过高亮样式标示本篇所覆盖的环节&#xff1b;箭头表示主成功路径&#xff0c;点线为异常或可选路径。阅读任意一篇时都应能回到本图定位&#xff0c;避…...

WeChatMsg:如何永久保存微信聊天记录并深度分析你的社交足迹?

WeChatMsg&#xff1a;如何永久保存微信聊天记录并深度分析你的社交足迹&#xff1f; 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub…...

保姆级教程:在Linux上动手调试PCIe热插拔(基于pciehp驱动源码)

深入Linux PCIe热插拔&#xff1a;从源码到实战的调试指南 1. 环境准备与工具链搭建 调试PCIe热插拔功能需要特定的硬件和软件环境。首先确保你的系统满足以下条件&#xff1a; 硬件要求&#xff1a; 支持PCIe热插拔的主板&#xff08;通常服务器级硬件支持更完善&#xff09…...

基于大语言模型与提示词工程构建交互式人生模拟游戏

1. 项目概述&#xff1a;当AI成为你的“人生导演”如果你玩过《模拟人生》或者看过《楚门的世界》&#xff0c;大概能理解那种被设定好的、却又充满无限可能的人生体验。现在&#xff0c;把这个“导演”换成GPT-4&#xff0c;一个能理解你、能即兴创作、还能根据你的选择实时生…...

从硬件分压到软件查表:手把手教你为你的Arduino/STM32项目添加精准电量显示功能

从硬件分压到软件查表&#xff1a;手把手教你为Arduino/STM32项目添加精准电量显示 在创客项目中&#xff0c;电池供电设备的电量显示一直是个既基础又关键的痛点。想象你正在调试一台自制的便携气象站&#xff0c;突然断电导致数据丢失&#xff1b;或是遥控车在关键时刻电量耗…...

不只是关窗口:深入理解Linux polkit与xrdp的权限博弈,一劳永逸配置你的远程桌面

深入解析Linux远程桌面权限机制&#xff1a;从xrdp认证弹窗到polkit安全架构 当你通过xrdp连接到Linux桌面时&#xff0c;那个反复弹出的"Authentication Required"窗口是否让你感到困扰&#xff1f;这不仅仅是简单的权限提示&#xff0c;而是Linux桌面环境中复杂的权…...

Stable Diffusion时序场景生成技术解析与应用

1. 项目概述&#xff1a;时序场景生成的技术突破去年在做一个影视概念设计项目时&#xff0c;我遇到了一个棘手问题&#xff1a;如何快速生成一组具有时间连贯性的场景概念图。传统方法需要手动绘制关键帧&#xff0c;再让画师补全中间画面&#xff0c;整个过程耗时耗力。直到发…...