聚类分析(六)基于密度的聚类算法 — OPTICS

OPTICS算法是一种改进的DBSCAN,旨在解决其对初始参数敏感的问题。它生成样本点的增广簇排序,表示基于密度的聚类结构。核心距离和可达距离是OPTICS中的关键概念,它们用于确定样本点的聚类关系。通过分析排序,可以得到不同参数设置下的DBSCAN聚类结果。算法实现包括存储每个对象的核心和可达距离,并按可达距离排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是 OPTICS 算法

在前面介绍的 DBSCAN 算法中,有两个初始参数 E (邻域半径)和 minPts(E 邻域最小点数 ) 需要用户手动设置输入,并且聚类的类簇结果对这两个参数的取值非常敏感,不同的取值将产生不同的聚类结果,其实这也是大多数其他需要初始化参数聚类算法的弊端。

为了克服 DBSCAN 算法这一缺点,提出了 OPTICS 算法( Ordering Points to identify the clustering structure )。 OPTICS 并 不显示的产生结果类簇,而是为聚类分析生成一个增广的簇排序(比如,以可达距离为纵轴,样本点输出次序为横轴的坐标图),这个排序代表了各样本点基于密度 的聚类结构。它包含的信息等价于从一个广泛的参数设置所获得的基于密度的聚类,换句话说,从这个排序中可以得到基于任何参数 EminPtsDBSCAN 算法的聚类结果。      

2  OPTICS 两个概念

核心距离

对象 p 的核心距离是指是 p 成为核心对象的最小 E’ 。如果 p 不是核心对象,那么 p 的核心距离没有任何意义。

可达距离

对象 q 到对象 p 的可达距离是指 p 的核心距离和 pq 之间欧几里得距离之间的较大值。如果 p 不是核心对象, pq 之间的可达距离没有意义。

例如:假设邻域半径 E=2, minPts=3 ,存在点 A(2,3),B(2,4),C(1,4),D(1,3),E(2,2),F(3,2)

A 为核心对象,在 AE 领域中有点 {A,B,C,D,E,F} ,其中 A 的核心距离为 E’=1 ,因为在点 AE’ 邻域中有点 {A,B,D,E}>3;

F 到核心对象点 A 的可达距离为 ,因为 AF 的欧几里得距离 ,大于点 A 的核心距离 1.

3 算法描述

OPTICS 算法额外存储了每个对象的核心距离和可达距离。基于 OPTICS 产生的排序信息来提取类簇。

算法描述如下:

算法: OPTICS

输入:样本集 D, 邻域 半径 E, 给定点在 E 领域内成为核心对象的最小领域点数 MinPts

输出:具有可达距离信息的样本点输出排序

方法: 1 创建两个队列,有序队列和结果队列。(有序队列用来存储核心对象及其该核心对

         象的直接可达对象,并按可达距离升序排列;结果队列用来存储样本点的输出次

         序);

        2 如果所有样本集 D 中所有点都处理完毕,则算法结束。否则,选择一个未处理(即

不在结果队列中)且为核心对象的样本点,找到其所有直接密度可达样本点,如

过该样本点不存在于结果队列中,则将其放入有序队列中,并按可达距离排序;

      3 如果有序队列为空,则跳至步骤 2 ,否则,从有序队列中取出第一个样本点(即可

达距离最小的样本点)进行拓展,并将取出的样本点保存至结果队列中,如果它不

存在结果队列当中的话。

  3.1 判断该拓展点是否是核心对象,如果不是,回到步骤 3 ,否则找到该拓展点所

有的直接密度可达点;

3.2 判断该直接密度可达样本点是否已经存在结果队列,是则不处理,否则下一

步;

3.2 如果有序队列中已经存在该直接密度可达点,如果此时新的可达距离小于旧

的可达距离,则用新可达距离取代旧可达距离,有序队列重新排序;

3.3 如果有序队列中不存在该直接密度可达样本点,则插入该点,并对有序队列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值