1.DBSCAN是一种基于密度的聚类算法,它假设类别可以通过样本分布的紧密程度决定

2.引用领域概念来描述样本的紧密程度,数学符号记为(ϵ, MinPts)

3.算法核心思想是由密度可达关系导出的最大密度相连的样本集合为最终聚类的一个类别

4.DBSCAN是一种不稳定的算法,某些与核心对象均小于ϵ领域的样本采取先来后到方式确定类别

5.算法适用于非凸数据集,能够检测异常点;对密度不均匀、距离相差大的样本效果不佳

6.OPTICS算法是对DBSCAN算法的改进,它先对样本进行排序再生成簇

这一篇我们介绍基于密度的聚类算法——DBSCAN,全称是具有噪声的基于密度的聚类方法,英文是Density-Based Spatial Clustering of Applications with Noise。它的思想是假定类别可以通过样本分布的紧密程度决定,同一类别的样本,他们之间的紧密相连的,在该类别任意样本周围不远处一定有同类别的样本存在。

首先,我们要对密度进行介绍.

密度的定义

我们用一组邻域来描述样本集的紧密程度的,参数(ϵ, MinPts)用来描述邻域的样本分布紧密程度。其中,ϵ描述了某一样本的邻域距离阈值,MinPts描述了某一样本的距离为ϵ的邻域中样本个数的阈值。

这里有五个核心的定义,我们举个例子说明。假设样本集D=(x1,x2,...,xm),则DBSCAN具体的密度描述定义如下:

  • ϵ-邻域

对于xj∈D,其ϵ-邻域包含样本集D中与xj的距离不大于ϵ的子样本集:

这个子样本集的个数记为|Nϵ(xj)|

  • 核心对象

对于任一样本xj∈D,如果其ϵ-邻域对应的Nϵ(xj)至少包含MinPts个样本:

xj是核心对象 

  • 密度直达


如果xi位于xj的ϵ-邻域中,且xj是核心对象,则称xi由xj密度直达。注意反之不一定成立

  • 密度可达

对于xi和xj,如果存在样本样本序列p1,p2,...,pT,满足p1=xi,pT=xj, 且pt+1由pt密度直达,则称xj由xi密度可达

密度可达满足传递性,但不满足对称性。此时序列中的传递样本p1,p2,...,pT−1均为核心对象。

  • 密度相连

对于xi和xj,如果存在核心对象样本xk,使xi和xj均由xk密度可达,则称xi和xj密度相连。密度相连关系满足对称性。

举个例子,如果MinPts=3,对于下图,5个红色的点均为核心对象,蓝色的点由左上角红色的点密度直达,与其余红色的点密度可达,与绿色的点密度相连;而对于绿色的点,它由右下角红色的点密度直达,与其余红色的点密度可达,与蓝色点密度相连。

DBSCAN聚类思路

有了密度的概念,我们就能理解DBSCAN的聚类思想了,它的核心是由密度可达关系导出的最大密度相连的样本集合为最终聚类的一个类别(簇)

其算法流程为:

要强调一点的是,DBSCAN的算法不是完全稳定的算法。某些样本可能到两个核心对象的距离都小于ϵ,但是这两个核心对象由于不是密度直达,又不属于同一个聚类簇,这时候采取先来后到的方法确定样本的类别。

总结一下DBSCAN算法的优缺点,它的优点是可以适用非凸数据集,能够发现异常点;它的缺点体现在应对密度不均匀、样本距离相差很大的数据集效果不好;样本集规模较大时,聚类时间较长

最后拓展一下,OPTICS算法是对DBSCAN算法的改进。它不直接生成簇,而是对样本进行排序,从这个排序可以得到各种邻域半径和密度阈值时的聚类结果。

参考资料:

https://www.cnblogs.com/pinard/p/6208966.html

https://mp.weixin.qq.com/s/1SOQZ3fsiYtT4emt4jvMxQ

聚类算法(DBSCAN)相关推荐

  1. 密度聚类算法DBSCAN实战及可视化分析

    密度聚类算法DBSCAN实战及可视化分析 目录 密度聚类算法DBSCAN实战及可视化分析 DBSCAN实战及聚类效果可视化 构建分类算法获得预测推理能力 DBSCAN实战及聚类效果可视化 DBSCAN ...

  2. 【机器学习】聚类算法DBSCAN、K-means、Mean Shift对比分析及具体代码实现

    [机器学习]聚类算法DBSCAN.K-means.Mean Shift对比分析及具体代码实现 一.DBSCAN算法(具有噪声的基于密度的聚类方法) 1.算法原理 基于数据分布密度不同对数据进行聚类,把 ...

  3. python网管系统_IT外包网管服务,Python密度聚类算法-DBSCAN实践

    蓝盟 IT小贴士,来喽! 可以看出,a点附近的点密度大,红色的圆按照一定的规则在这里滚动,最终收纳a点附近的5点,标记为红色是同一个簇. 其他没有收纳的东西,按照相同的规则进行集群化. 从图像上来看, ...

  4. 唐宇迪学习笔记20:聚类算法——DBSCAN

    目录 一.DBSCAN聚类算法 (Density-Based Spatial Clustering of Applications with Noise) 二.DBSCAN工作流程 工作流程 参数选择 ...

  5. 【机器学习】聚类算法——DBSCAN算法(理论+图解)

  6. dbscan聚类算法_一种视频人群流的轨迹聚类方法

    tags: KLT光流法,K-means聚类算法,DBSCAN聚类算法 方法简介 运动轨迹是一种在视频场景中捕捉复杂时间动态的有效方法.因此,我们将人流分割问题转化为一个轨迹提取和聚类任务.该方法分为 ...

  7. dbscan算法中 参数的意义_常用聚类算法

    一.K-Means 算法步骤: (1) 首先我们选择一些类/组,并随机初始化它们各自的中心点.中心点是与每个数据点向量长度相同的位置.这需要我们提前预知类的数量(即中心点的数量). (2) 计算每个数 ...

  8. 【Python机器学习实战】聚类算法——层次聚类(HAC)和DBSCAN

    层次聚类和DBSCAN 1.层次聚类 下面这样的结构应该比较常见,这就是一种层次聚类的树结构,层次聚类是通过计算不同类别点的相似度创建一颗有层次的树结构,在这颗树中,树的底层是原始数据点,顶层是一个聚 ...

  9. 从DBSCAN算法谈谈聚类算法

    DBSCAN算法 前言 最近看了一篇关于电子商务防欺诈的相关论文,其中在构建信用卡的个人行为证书中用到了DBSCAN算法. 具体内容请参看论文: Credit card fraud detection ...

  10. 机器学习--最基础的最常用的聚类算法

    基于划分聚类算法(partition clustering) K-means:是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,即在迭代过程中选择的聚点不一定是聚类中的一个点,该算法只能处理数 ...

最新文章

  1. IIS异常:CS0016: 未能写入输出文件“c:\WINDOWS\Microsoft.NET\Framework\.。。”--“拒绝访问...
  2. 中国虚拟电厂运行状况及竞争力分析报告2022-2028年版
  3. 研究性论文的图注应该怎么写?
  4. Amazon:大数据分析技能,你满足几条?
  5. pta 是否完全二叉搜索树_二叉树:构造一棵搜索树
  6. label里面的文字换行_批量识别图中文字自动命名,让你1秒找到骚图!太强大了!...
  7. 工作任务:解决双主控丢配置的问题
  8. 全球首家!比亚迪宣布停止燃油汽车整车生产
  9. 2021数据分析岗疯狂内卷下,给应届校招生的建议:请避开大厂
  10. 苹果 Siri 被曝涉嫌泄露用户隐私;中国联通回应 5G 入网问题;PHP 7.4 beta 1 发布 | 极客头条...
  11. 问题六十二:怎么求一元十次方程在区间内的所有不相等的实根(2)——修正“区间端点零值”问题
  12. javaWeb中的分页处理思想
  13. mysql 编译安装详解_MySQL编译安装详解
  14. 安卓频谱仪audiotool中文_频谱分析仪 TEK2712
  15. lrc歌词编辑器 android,Lrc歌词编辑器(LRC速配歌词)
  16. 历久而新,我的新书《第二行代码》已出版!
  17. css文字加边框镂空文字_如何使用CSS创建镂空边框设计
  18. 如何看懂财务报表|介绍
  19. Stata软件做门槛回归模型(汉森个人主页上的代码)
  20. 如何实现无线网卡上外网+有线上内网=同时上网

热门文章

  1. FydeOS | ChromeOS配置Flutter开发环境
  2. 百度信誉认证体系初级实名认证即将取消,这意味着什么?
  3. 微信小程序开发总结与心得(二)
  4. 小编为你简单介绍基本ERP管理系统模块
  5. 3d人体智能测试软件,三维人体解剖软件(3dbody)
  6. 线束对插件厂商网站汇总
  7. javaw和java,java,javaw和javaws之间有什么区别?
  8. 使用PIL和OpenCV在PC上模拟动画OLED / LCD显示器
  9. 国外有哪些免费软件可以实现华为的多屏协同功能
  10. 苹果怎么改字体_截图里的文字要改,字体怎么做到一模一样?