机器学习---聚类(原型聚类、密度聚类、层次聚类)

news2024/11/17 7:46:13

1. 原型聚类

原型聚类也称为“基于原型的聚类” (prototype-based clustering),此类算法假设聚类结构能通过一

组原型刻画。算法过程:通常情况下,算法先对原型进行初始化,再对原型进行迭代更新求解。著

名的原型聚类算法:k均值算法、学习向量量化算法、高斯混合聚类算法。

给定数据集k均值算法针对聚类所得簇划分

小化平方误差:

其中,是簇的均值向量。值在一定程度上刻画了簇内样本围绕簇均值向量的紧密程度,值越

小,则簇内样本相似度越高。

1.1 K均值

K均值算法:算法流程(迭代优化):初始化每个簇的均值向量,repeat:(更新)簇划分;计算

每个簇的均值向量,until:当前均值向量均未更新。

算法伪代码:

k均值算法实例: 

接下来以表9-1的西瓜数据集4.0为例,来演示k均值算法的学习过程。将编号为i的样本称为     

假定聚类簇数k =3,算法开始时,随机选择3个样本作为初始均值向量,即

 

考察样本它与当前均值向量的距离分别为0.3690.506

0.166,因此将被划入簇中。类似的,对数据集中的所有样本考察一遍后,可得当前簇划分

于是,可以从分别求得新的均值向量:

不断重复上述过程,如下图所示。

聚类结果:

1.2 学习向量量化

学习向量量化(Learning Vector Quantization, LVQ):

与一般聚类算法不同的是,LVQ假设数据样本带有类别标记,学习过程中利用样本的这些监督信息

来辅助聚类。给定样本集,LVQ的目标是学得一组n维

原型向量,每个原型向量代表一个聚类簇。常用于发现类别的“子类”结构。 

聚类效果:

1.3 高斯混合聚类 

k均值、LVQ用原型向量来刻画聚类结构不同,高斯混合聚类 (Mixture-of-Gaussian)采用概率

模型来表达聚类原型:

多元高斯分布的定义:

对n维样本空间中的随机向量x,若x服从高斯分布,其概率密度函数为

其中是n维均值向量, 的协方差矩阵。也可将概率密度函数记作

高斯混合分布的定义:

该分布由K个混合分布组成,每个分布对应一个高斯分布。其中,  

是第高斯混合成分的参数。而为相应的“混合系数”,且

假设样本的生成过程由高斯混合分布给出:首先,根据a1,a2,···,ak定义的先验分布选择高斯

混合成分,其中ai为选择第i个混合成分的概率;然后,根据被选择的混合成分的概率密度函数进行

采样,从而生成相应的样本。

模型求解:最大化(对数)似然

 令,令

聚类结果:

2. 密度聚类

密度聚类也称为“基于密度的聚类” (density-based clustering)。此类算法假设聚类结构能通过样本

分布的紧密程度来确定。通常情况下,密度聚类算法从样本密度的角度来考察样本之间的可连接

性,并基于可连接样本不断扩展聚类簇来获得最终的聚类结果。接下来介绍DBSCAN这一密度聚

类算法。

DBSCAN算法:基于一组“邻域”参数来刻画样本分布的紧密程度。

基本概念:

邻域:对样本,其邻域包含样本集D中与的距离不大于的样本;

核心对象:若样本邻域至少包含MinPts个样本,则该样本点为一个核心对象;

密度直达:若样本位于样本邻域中,且是一个核心对象,则称样本密度直

达;

密度可达:对样本,若存在样本序列,其中,且

密度直达,则该两样本密度可达;      

密度相连:对样本,若存在样本    使得两样本均由密度可达,则称该两样本密度相

连。

一个例子:令MinPts=3,则虚线显示出邻域。x1是核心对象。x2由x1密度直达。x3由x1密度可

达。x3与x4密度相连。

对“簇”的定义:由密度可达关系导出的最大密度相连样本集合。

对“簇”的形式化描述:给定领域参数,簇是满足以下性质的非空样本子集:连接性:

xi与xj密度相连,最大性:,xi与xj密度可达

BBSAN算法伪代码:

聚类效果:

3. 层次聚类 

层次聚类在不同层次对数据集进行划分,从而形成树形的聚类结构。数据集划分既可采用“自底向

上”的聚合策略,也可采用“自顶向下”的分拆策略。

AGNES算法(自底向上的层次聚类算法):首先,将样本中的每一个样本看做一个初始聚类簇,

然后在算法运行的每一步中找出距离最近的两个聚类簇进行合并,该过程不断重复,直到达到预设

的聚类簇的个数。

两个聚类簇的距离,可以有3种度量方式。

最小距离:

最大距离:

平均距离:

AGNES算法树状图:

AGNES算法伪代码: 

AGNES算法聚类效果: 

 

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

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

相关文章

SQL进阶理论篇(十四):CBO优化器是如何计算代价的?

文章目录 简介能调整的代价模型的参数有哪些?mysql.server_costmysql.engine_cost 如何修改这些代价参数?代价模型具体是如何计算的参考文献 简介 大部分RDBMS都支持基于代价的优化器CBO,但其实CBO仍然存在缺陷(比如参数配置的不…

OpenAI 疑似正在进行 GPT-4.5 灰度测试!

‍ 大家好,我是二狗。 今天,有网友爆料OpenAI疑似正在进行GPT-4.5灰度测试! 当网友询问ChatGPT API调用查询模型的确切名称是什么时? ChatGPT的回答竟然是 gpt-4.5-turbo。 也有网友测试之后发现仍然是GPT-4模型。 这是有网友指…

解决腾讯云CentOS 6硬盘空间不足问题:从快照到数据迁移

引言: 随着数据的不断增加,服务器硬盘空间不足变成了许多运维人员必须面对的问题。此主机运行了httpd(apache服务),提供对外web访问服务,web资源挂载在**/data/wwwroot目录下,http日志存放在/data/wwwlogs目录下&…

【MATLAB源码-第101期】基于matlab的蝙蝠优化算BA)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 蝙蝠算法(BA)是一种基于群体智能的优化算法,灵感来源于蝙蝠捕食时的回声定位行为。这种算法模拟蝙蝠使用回声定位来探测猎物、避开障碍物的能力。在蝙蝠算法中,每只虚拟蝙蝠代表…

【Hadoop精讲】HDFS详解

目录 理论知识点 角色功能 元数据持久化 安全模式 SecondaryNameNode(SNN) 副本放置策略 HDFS写流程 HDFS读流程 HA高可用 CPA原则 Paxos算法 HA解决方案 HDFS-Fedration解决方案(联邦机制) 理论知识点 角色功能 元数据持久化 另一台机器就…

SpringCloud微服务 【实用篇】| Docker镜像、容器、数据卷操作

目录 一:Docker基本操作 1. 镜像操作 镜像相关命令 2. 容器操作 容器相关命令 3. 数据卷(容器数据管理) 数据卷 操作数据卷 挂载数据卷 挂载的方式区别 前些天突然发现了一个巨牛的人工智能学习网站,通俗易懂&#xff0…

MySQL面试经典50题

本文使用的MySQL版本为5.7.21,需要的数据表创建如下: 1.学生表student(SId,Sname,Sage,Ssex) --SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 create table Student(SId varchar(10),Sname varchar(10),Sage datetime,Ssex varchar(10))…

jdk 线程池与 tomcat 线程池对比

一、线程池的作用 1. 提高性能:线程的创建需要开辟虚拟机栈、本地方法栈、程序计数器等线程私有空间,同时也会一比一的创建一个内核线程,在线程销毁时需要回收这些系统资源。频繁地创建和销毁线程会大大浪费系统资源,这时候就需要…

2023_Spark_实验三十:测试Flume到Kafka

实验目的:测试Flume采集数据发送到Kafka 实验方法:通过centos7集群测试,将flume采集的数据放到kafka中 实验步骤: 一、 kafka可视化工具介绍 Kafka Tool是一个用于管理和使用Apache Kafka集群的GUI应用程序。 Kafka Tool提供了…

《点云处理》 点云去噪

前言 通常从传感器(3D相机、雷达)中获取到的点云存在噪点(杂点、离群点、孤岛点等各种叫法)。噪点产生的原因有不同,可能是扫描到了不想要扫描的物体,可能是待测工件表面反光形成的,也可能是相…

原子学习笔记2——输入设备应用编程

一、输入类设备介绍 1、输入设备 常见的输入设备有鼠标、键盘、触摸屏、遥控器、电脑画图板等,用户通过输入设备与系统进行交互。 2、input子系统 常见的输入设备有鼠标、键盘、触摸屏、遥控器、电脑画图板等,用户通过输入设备与系统进行交互。 基于…

docker 在线安装redis

1、远程仓库拉取redis镜像, docker pull redis,默认拉取最新版本 2、在本地宿主机文件夹下创建相关目录文件,供容器卷使用,创建 /usr/local/data/redisdocker/data 文件夹,准备一个纯净版 redis.conf 配置文件 &#x…

【Linux】ip命令使用

ip命令 用于管理与配置网络接口和路由表。 ip命令的安装 ip 命令来自 iproute2 软件包,在 CentOS 7 中默认已安装。 yum install -y iproute 语法 ip [ OPTIONS ] OBJECT { COMMAND | help }ip [ -force ] -batch filename选项及作用 执行令 : ip …

el-form与el-upload结合上传带附件的表单数据(后端篇)

1.写在之前 本文采用Spring Boot MinIO MySQLMybatis Plus技术栈,参考ruoyi-vue-pro项目。 前端实现请看本篇文章el-form与el-upload结合上传带附件的表单数据(前端篇)-CSDN博客。 2.需求描述 在OA办公系统中,流程表单申请人…

【SQL】根据年月,查询月份中每一天的数据量

传入YYYY-MM-01&#xff0c;查询这个月中每一天的数据量&#xff0c;没有数据的天数用0表示 WITH RECURSIVE DateRange AS (SELECT :startDate AS DateUNION ALLSELECT DATE_ADD(Date, INTERVAL 1 DAY) FROM DateRangeWHERE Date < LAST_DAY(:startDate) ) SELECTdr.Date,CO…

从 MySQL 到 DolphinDB,Debezium + Kafka 数据同步实战

Debezium 是一个开源的分布式平台&#xff0c;用于实时捕获和发布数据库更改事件。它可以将关系型数据库&#xff08;如 MySQL、PostgreSQL、Oracle 等&#xff09;的变更事件转化为可观察的流数据&#xff0c;以供其他应用程序实时消费和处理。本文中我们将采用 Debezium 与 K…

单总线cpu设计(包含定长指令周期和变长指令周期和现代时序设计)

来都来了点个赞收藏一下再走呗~~~&#x1f339;&#x1f339;&#x1f339;&#x1f339;&#x1f339; 一、定长指令周期cpu设计 第1关&#xff1a;MIPS指令译码器设计 此实验就是只需要知道mips知道操作码op对应的值是什么就可以了&#xff0c;下面给出实验中用到的mips指令…

大型语言模型:RoBERTa — 一种稳健优化的 BERT 方法

slavahead 一、介绍 BERT模型的出现BERT模型带来了NLP的重大进展。 BERT 的架构源自 Transformer&#xff0c;它在各种下游任务上取得了最先进的结果&#xff1a;语言建模、下一句预测、问答、NER标记等。 尽管 BERT 性能出色&#xff0c;研究人员仍在继续尝试其配置&#xff0…

JNDI注入Log4jFastJson白盒审计不回显处理

目录 0x00 前言 0x01 Maven 仓库及配置 0x02 JNDI 注入简介 0x03 Java-第三方组件-Log4J&JNDI 0x04 Java-第三方组件-FastJson&反射 0x05 白盒审计 - FastJson 0x06 白盒审计 - Log4j 0x07 不回显的处理方法 0x00 前言 希望和各位大佬一起学习&#xff0c;如果…

RK3399平台开发系列讲解(内核入门篇)网络协议的分层

🚀返回专栏总目录 文章目录 一、应用层二、传输层三、网络层四、数据链路层(Data Link Layer)五、物理层沉淀、分享、成长,让自己和他人都能有所收获!😄 📢对于多数的应用和用户而言,使用互联网的一个基本要求就是数据可以无损地到达。用户通过应用进行网络通信࿰