• 基于密度的划分、DBSCAN(机器学习)


    目录

    居于密度的划分

    DBSCAN算法



    居于密度的划分


    基于划分聚类和基于层次聚类的方法在聚类过程中根据距离来划分类簇,因此只能够用于挖掘球状簇。

    为了解决这一缺陷,基于密度聚类算法利用密度思想,将样本中的高密度区域(即样本点分布稠密的区域)划分为簇,将簇看作是样本空间中被稀疏区域(噪声)分隔开的稠密区域。这一算法的主要目的是过滤样本空间中的稀疏区域,获取稠密区域作为簇

    基于密度的聚类算法是根据密度而不是距离来计算样本相似度,所以基于密度的聚类算法能够用于挖掘任意形状的簇,并且能够有效过滤掉噪声样本对于聚类结果的影响

    常见的基于密度的聚类算法有DBSCANOPTICSDENCLUE。其中,OPTICS DBSCAN算法进行了改进,降低了对输入参数的敏感程度。DENCLUE算法综合了基于划分、基于层次的方法

    DBSCAN算法


    DBSCAN采用基于中心的密度定义,样本的密度通过核心对象在 ϵ 半径内的样本点个数(包括自身)来估计。

    概念:直接密度可达、密度可达、密度相连

    下图中,若 MinPts = 3,则 abc  和 xy都是核心对象,因为在各自的ε-邻域中,都至少包含3个对象。

    对象c是从对象b直接密度可达

    对象b是从对象a直接密度可达

    则对象c是从对象a密度可达


    对象y是从对象x密度可达

    对象z是从对象x密度可达

    则对象yz密度相连

    DBSCAN可以用于对任意形状的稠密数据集进行聚类,DBSCAN算法对输入顺序不敏感。
    DBSCAN 能够在聚类的过程中发现数据集中的噪声点,且算法本身对噪声不敏感。当数据集分布为非球型时,使用 DBSCAN 算法效果较好
    DBSCAN 算法要对数据集中的每个对象进行邻域检查,当数据集较大时, 聚类收敛时间长,需要较大的内存支持, I/O 消耗也很大
    此时可以采用 KD 树或球树对算法进行改进,快速搜索最近邻,帮助算法快速收敛。此外,当空间聚类的密度不均匀,聚类间距离相差很大时,聚类的质量较差
    DBSCAN 算法的聚类结果受到邻域参数 ( ε , MinPts ) 的影响较大,不同的输入参数对聚类结果有很大的影响,邻域参数也需要人工输入,调参时需要对两个参数联合调参,比较复杂

  • 相关阅读:
    深度学习-AlexNet论文精读
    C#性能优化-树形结构递归优化
    【算法|动态规划No.17】leetcode64. 最小路径和
    Jenkins 如何设置GitLab的钩子
    DJYOS技术特点:关键服务微秒级恢复
    代码随想录算法训练营Day37 |01背包登场,416. 分割等和子集
    SUSE zypper 添加源和离线下载rpm包
    想做大模型开发前,先来了解一下MoE
    C++学习——坚持(二)
    uniapp封装一个可移动的定位图标
  • 原文地址:https://blog.csdn.net/qq_50942093/article/details/127951090