机器学习——聚类问题

news2024/11/28 6:24:43

📕参考:西瓜书+ysu老师课件+博客(3)聚类算法之DBSCAN算法 - 知乎 (zhihu.com)


目录

1.聚类任务

 2.聚类算法的实现

2.1 划分式聚类方法

2.1.1 k均值算法

k均值算法基本原理:

k均值算法算法流程:

2.2 基于密度聚类方法

2.2.1 DBSCAN

 DBSCAN的基本概念

 DBSCAN算法定义

2.3 基于层次聚类方法

2.3.1 AGNES

AGNES算法流程


【涉及到的英文单词】

无监督学习  unsupervised learning

聚类  clustering

簇  cluster

簇标记 cluster  label

有效性指标  validity index

簇内相似度  intra-cluster similarity

簇间相似度  inter-cluster similarity

外部指标  external index

内部指标  internal index

基于原型的聚类  prototype-based clustering

基于密度的聚类  density-based clustering

噪声  noise

异常  anomaly

DBSCAN Density-Based Spatial Clustering of Applications with Noise

AGNES  Agglomerative Nesting


1.聚类任务

【聚类任务的引入】

  • 在“无监督学习” (unsupervised learning) 中,训练样本的标记信息是未知的。
  • 目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。
  • 此类任务中研究最多、应用最广的是“聚类”。

【什么是聚类】

 聚类,试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个“簇”。

通过这样的划分,每个簇可能对应一些潜在的概念(类别),如“浅色瓜”、“深色瓜”、“有籽瓜”、“无籽瓜”......

【注】这些概念对聚类算法而言,是未知的。聚类过程仅能自动形成簇结构,簇所对应的概念语义需由使用者来把握和命名。

接下来谈一下聚类算法的聚类指标——性能度量

聚类性能度量,亦称为聚类“有效性指标”(validity index)。

与监督学习中的性能度量作用类似,对聚类结果,我们需要通过某种性能度量来评估其好坏;另一方面,若明确了最终将要使用的性能度量,则可直接将其作为聚类过程的优化目标。

聚类是将样本集D划分为若干互不相交的子集,即样本簇。那么什么样的聚类结果比较好呢?

直观上,我们希望“物以类聚”,即同一簇的样本尽可能彼此相似,不同簇的样本尽可能不同。

也就是,聚类结果的“簇内相似度”(intra-cluster similarity)高,且“簇间相似度”(inter-cluster similarity)低,这样的聚类效果较好。

【聚类性能度量】:

外部指标(external index):将聚类结果与某个“参考模型” 进行比较

内部指标(internal index):直接考察聚类结果而不使用任何参考模型

【外部指标】:

 【内部指标】

补充,距离计算

 2.聚类算法的实现

【原型聚类】

“原型”是指样本空间中具有代表性的点。

 原型聚类,此类算法假设聚类结构能通过一组原型刻画,在现实聚类任务中极为常用。

2.1 划分式聚类方法

基于划分的聚类方法 :

给定一个数据集 D,其包含有 n 个数据对象,用一个划分方法来构建数据的 k 个划分,每一个划分表示一个类,且 k≤n。

2.1.1 k均值算法

k均值算法基本原理:

随机选取k个点作为初始的聚类中心点,根据每个样本到聚类中心点之间的距离,把样本归类到相距它距离最近的聚类中心代表的类中,再计算样本均值。

若相邻的两个聚类中心无变化,结束迭代;如若不然,不断重复进行该过程。

k均值算法算法流程:

1.选取质心

随机选择 k 个初始质心,其中 k 是用户指定的参数,即所期望的簇的个数。

2.分配数据点

对于样本中的数据对象,根据它们与聚类中心的距离,按距离最近的准则将它们划分到距离它们最近的聚类中心,形成一个簇。

3.更新聚类中心

根据指派到簇的点,将每个簇的质心更新为该簇所有点的平均值。

4.判断是否结束 

判断聚类中心的值是否发生变化,若改变,则重复执行上述步骤;若不变,则输出结果。

2.2 基于密度聚类方法

密度聚类,亦称“基于密度的聚类”(density-based clustering),此类算法假设聚类结构能通过样本分布的紧密程度确定。

通常情况下,密度聚类算法从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇,以获得最终的聚类结果。

基于密度聚类方法的代表算法是DBSCAN。

2.2.1 DBSCAN

DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法):基于一组“邻域”参数 (ϵ,MinPts) 来刻画样本分布的紧密程度。

 DBSCAN的基本概念

邻域:就是以x_j为圆心,\varepsilon为半径,画一个圆,在圆内的样本点,构成这个邻域

核心对象:如果x_j的邻域内的样本点的个数超过了MinPts(这是一个数值),那么这个x_j就是一个核b

密度直达:如果x_ix_j的邻域内,且x_j是核心对象,那么就称x_ix_j密度直达。但是反过来不一定成立,因为前提条件是x_j是核心对象,所以密度直达不满足对称性

密度可达:就是一系列密度直达的样本点传递,使x_i密度可达x_j(密度可达的前提是这些点密度直达,密度直达的前提是这些点是核心对象,所以密度可达的点都是核心对象,并且具不满足对称性)。

看图理解:

画图理解,,,,我的建议是直接看大佬的文

(3)聚类算法之DBSCAN算法 - 知乎 (zhihu.com)

MinPts=5的意思是,如果x_j的邻域内有≥5个样本点,那么x_j就是一个核心对象。

 DBSCAN算法定义

D中不属于任何簇的样本被认为是噪声 (noise)或异常(anomaly) 样本。

 那么,如何从数据集D 中找出满足以上性质的聚类簇呢?

DBSCAN算法先任选数据集中的一个核心对象为“种子”,再由此出发确定相应的聚类簇。

1.找核心对象

根据 (ϵ,MinPts) 对 n 个对象进行搜索,寻找所有的核心对象,构成核心对象集合。

2.成簇 

根据上述的核心对象寻找 D 中所有密度相连的样本,构成簇,若上述核心对象已被访问,则剔除出去。

3.重复 

重复上述过程,直至核心对象集合为空。

其它问题 

  • 异常点问题:一些异常样本点或者说少量游离于簇外的样本点,这些点不在任何一个核心对象在周围,在DBSCAN中,我们一般将这些样本点标记为噪音点。
  • 距离度量问题:即如何计算某样本和核心对象样本的距离。在DBSCAN中,一般采用最近邻思想,采用某一种距离度量来衡量样本距离,比如欧式距离、曼哈顿距离等。
  • 数据点优先级分配问题:例如某些样本可能到两个核心对象的距离都小于 ϵ ,但是这两个核心对象由于不是密度直达,又不属于同一个聚类簇,那么如果界定这个样本的类别呢?一般来说,此时 DBSCAN采用先来后到,先进行聚类的类别簇会标记这个样本为它的类别。也就是说DBSCAN的算法不是完全稳定的算法。

 这个是大佬的博客里的:(3)聚类算法之DBSCAN算法 - 知乎 (zhihu.com)

2.3 基于层次聚类方法

层次聚类试图在不同层次对数据集进行划分,从而形成树形的聚类结构。

数据集的划分可以采用“自底向上”的聚合策略,也可采用“自顶向下”的分拆策略。因此可分为聚合层次聚类与划分层次聚类。

  • 聚合层次聚类:采用自底向上的策略。开始时 , 每个样本对象自己就是一个类 , 称为原子聚类 , 然后根据这些样本之间的相似性 , 将这些样本对象 ( 原子聚类 ) 进行合并。
  • 划分层次聚类:采用自顶向下的策略,它首先将所有对象置于同一个簇中,然后逐渐细分为越来越小的簇,直到每个对象自成一簇,或者达到了某个终止条件。该种方法一般较少使用。

2.3.1 AGNES

AGNES是一种采用自底向上聚合策略的层次聚类算法。

它先将数据集中的每个样本看作一个初始聚类簇,然后在算法运行的每一步中找出距离最近的两个聚类簇进行合并,该过程不断重复,直至达到预设的聚类簇个数。

这里的关键是如何计算聚类簇之间的距离。

实际上,每个簇是一个样本集合,因此只需采用关于集合的某种距离即可。

AGNES算法流程

给定包含 n 个对象的数据集 D ,聚类簇距离度量函数 d,聚类簇数为 k。

1.计算所有样本间的距离

使用度量函数 d 计算所有样本间的距离。

2.更新聚类簇及样本间距离

将距离最近的两个聚类簇进行合并,计算合并后的聚类簇间的距离。

3.重复

重复上述过程,直至聚类簇数为设定的参数 k。

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

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

相关文章

语言与真实世界的关系(超级语言生成能力将促进世界深刻变化)

语言与真实世界之间存在着紧密且复杂的关系。在人类社会中,语言是认知、表达和交流现实世界的主要工具,它帮助我们构建并理解周围环境,并将我们的思维和经验概念化。 1. 符号与指代: 语言是一种符号系统,通过词汇、句…

SG3225EEN晶体振荡器规格书

SG3225EEN 晶振是EPSON/爱普生的一款额定频率25 MHz至500 MHz的石英晶体振荡器,6脚贴片,LV-PECL输出,3225封装常规有源晶振,具有小尺寸,轻薄型,高稳定性,低相位抖动,低电源电压&…

17.3.1.2 曝光

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 基本算法:先定义一个阈值,通常取得是128 原图像:颜色值color(R,G&#…

OpenTitan- 开源安全芯片横空出世

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

【前端web入门第六天】02 flex布局

文章目录 Flex布局1.Flex组成2.主轴与侧轴对齐方式2.1 主轴对齐方式(横轴)2.2 侧轴对齐方式 (纵轴)2.3 修改主轴方向 3.弹性伸缩比4.弹性换行与行对齐方式4.1 弹性换行4.2 行对齐方式 Flex布局 1.Flex组成 设置方式:给父元素设置display: flex,子元素可以自动挤压…

找负环(图论基础)

文章目录 负环spfa找负环方法一方法二实际效果 负环 环内路径上的权值和为负。 spfa找负环 两种基本的方法 统计每一个点的入队次数,如果一个点入队了n次,则说明存在负环统计当前每个点中的最短路中所包含的边数,如果当前某个点的最短路所…

【C++】---类和对象(上)入门

一、类的定义 1.那么众所周知,C语言是面向过程的,关注的是过程,分析出求解的步骤,通过函数的调用来逐步解决问题 2.而C是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间交…

【自然语言处理】:实验1布置,Word2VecTranE的实现

清华大学驭风计划 因为篇幅原因实验答案分开上传,答案链接http://t.csdnimg.cn/5cyMG 如果需要详细的实验报告或者代码可以私聊博主 有任何疑问或者问题,也欢迎私信博主,大家可以相互讨论交流哟~~ 实验1: Word2Vec&TranE的…

使用HTML、CSS和JavaScript构建响应式企业官网

使用HTML、CSS和JavaScript构建响应式企业官网,web网页设计与制作-htmlcssjs实现企业官网展示。 页面效果展示 pc端和移动端 动态演示 文件目录 assets文件夹:静态资源目录,主要存放css、fonts、images、js等静态资源文件; fa…

Unity如何修改预制体(预制件)?

文章目录 19 复制复制复制,预制体与变体 19 复制复制复制,预制体与变体 【预制件】 预制件作用:方便复用 【预制件】的制作 直接拖拽,从层级面板 -> 项目面板。层级面板中当前图标会变蓝,子物体名字变蓝色。预制件…

《PCI Express体系结构导读》随记 —— 第II篇 第13章 PCI总线与虚拟化技术(5)

接前一篇文章:《PCI Express体系结构导读》随记 —— 第II篇 第13章 PCI总线与虚拟化技术(4) 13.1 IOMMU 13.1.3 AMD处理器的IOMMU AMD处理器的IOMMU技术与Intel的VT-d技术类似,其完成的主要功能也类似。AMD率先提出了IOMMU的概念…

(11)Hive调优——explain执行计划

一、explain查询计划概述 explain将Hive SQL 语句的实现步骤、依赖关系进行解析,帮助用户理解一条HQL 语句在底层是如何实现数据的查询及处理,通过分析执行计划来达到Hive 调优,数据倾斜排查等目的。 官网指路: https://cwiki.ap…

【网站项目】228高校教师电子名片系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

Vi 和 Vim 编辑器

Vi 和 Vim 编辑器 vi 和 vim 的基本介绍 Linux 系统会内置 vi 文本编辑器 Vim 具有程序编辑的能力,可以看做是 Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。 代码补完、编译及错误跳转等方便编程的功能特别丰富&…

智慧供应链控制塔大数据解决方案

一、供应链控制塔的概念定义 (1) Gartner 的定义: “控制塔是一个物理或虚拟仪表板,提供准确的、及时的、完整的物流事件和数据,从组织和服务的内部和跨组织运作供应链,以协调所有相关活动。”、“供应链控制塔…提供供应链端到端整体可见性和近实时信息和决策的概念……

基于PSO优化的LSTM多输入分类(Matlab)粒子群优化长短期神经网络分类

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、部分代码展示: 四、完整代码数据分享下载: 一、程序及算法内容介绍: 基本内容: 本代码基于Matal…

数据库第二次实验

目录 1 实验内容 2 SQL代码及运行截图 2.1 创建表并插入数据 2.1.1 创建表 2.1.2 插入数据 2.1.3 运行截图 2.2 修改表 2.2.1 SQL代码 2.2.2 运行截图 2.3 删除操作 2.3.1 SQL代码 2.3.2 运行截图 2.4 数据库的备份 2.5 数据库的恢复 1 实验内容 实验目的&#…

暴力枚举刷题1

题目来源:统计方形(数据加强版) - 洛谷 参考书籍:《深入浅出程序设计竞赛(基础篇)》 解题思路:这道理适合用暴力枚举求解。我把书上提到的四种枚举方法分享给大家。 解题1:减少枚…

【AI绘画】硬核解读Stable Diffusion(完整版) 小白必收藏!!!

手把手教你入门绘图超强的AI绘画,用户只需要输入一段图片的文字描述,即可生成精美的绘画。给大家带来了全新保姆级教程资料包 (文末可获取) 2022年可谓是AIGC(AI Generated Content)元年,上半年…

C# CAD SelectionFilter下TypedValue数组

SelectionFilter是用于过滤AutoCAD实体的类,在AutoCAD中,可以使用它来选择具有特定属性的实体。构造SelectionFilter对象时,需要传入一个TypedValue数组,它用于定义选择规则。 在TypedValue数组中,每个元素表示一个选…