sheng的学习笔记-AI-密度聚类

AI目录:sheng的学习笔记-AI目录-CSDN博客

需要学习的前置知识:聚类,可参考:sheng的学习笔记-AI-聚类(Clustering)-CSDN博客

什么是密度聚类

密度聚类亦称“基于密度的聚类”(density-based clustering),此类算法假设聚类结构能通过样本分布的紧密程度确定。通常情形下,密度聚类算法从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果

后续表达的距离函数dist(·,·)在默认情况下设为欧氏距离

DBSCAN 算法

DBSCAN是一种著名的密度聚类算法,它基于一组“邻域”(neighborhood)参数(ε,MinPts)来刻画样本分布的紧密程度,给定数据集D={x1,x2,…,xm},定义下面这几个概念

基础概念 

图9.8给出了上述概念的直观显示 

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

 算法定义

若x为核心对象,由x密度可达的所有样本组成的集合记为X={x'∈D|x‘由x密度可达},则不难证明X即为满足连接性与最大性的簇。

算法

于是,DBSCAN算法先任选数据集中的一个核心对象为“种子”(seed),再由此出发确定相应的聚类簇,算法描述如图9.9所示。在第1~7行中,算法先根据给定的邻域参数(ε,MinPts)找出所有核心对象;然后在第10~24行中,以任一核心对象为出发点,找出由其密度可达的样本生成聚类簇,直到所有核心对象均被访问过为止 

数据集如下

代码

 

过程解释

以表9.1的西瓜数据集4.0为例,

  1. 假定邻域参数(ε,MinPts)设置为ε=0.11,MinPts=5。
  2. DBSCAN算法先找出各样本的ε-邻域并确定核心对象集合:Ω={x3,x5,x6,x8,x9,x13,x14,x18,x19,x24,x25,x28,x29}。
  3. 从Ω中随机选取一个核心对象作为种子,找出由它密度可达的所有样本,这就构成了第一个聚类簇。
  4. 假定核心对象x8被选中作为种子,则DBSCAN生成的第一个聚类簇为C1={x6,x7,x8,x10,x12,x18,x19,x20,x23}。 
  5. DBSCAN将C1中包含的核心对象从Ω中去除:Ω=Ω\C1={x3,x5,x9,x13,x14,x24,x25,x28,x29}。
  6. 从更新后的集合Ω中随机选取一个核心对象作为种子来生成下一个聚类簇。
  7. 上述过程不断重复,直至Ω为空

示意图 

C2={x3,x4,x5,x9,x13,x14,x16,x17,x21};

C3={x1,x2,x22,x26,x29);

C4={x24,x25,x27,x28,x30)。 

参考文章:

11.聚类 - 三、密度聚类 - 《AI算法工程师手册》 - 书栈网 · BookStack

书:机器学习 周志华 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值