DBSCAN密度聚类算法

概率统计基础
DBSCAN密度聚类算法
这里写图片描述

输入:样本集D=(x1,x2,…,xm),邻域参数(ϵ,MinPts), 样本距离度量方式

    输出: 簇划分C. 

    1)初始化核心对象集合Ω=∅ , 初始化聚类簇数k=0,初始化未访问样本集合Γ = D, 簇划分C = ∅

    2) 对于j=1,2,…m, 按下面的步骤找出所有的核心对象:

      a) 通过距离度量方式,找到样本xj的ϵ-邻域子样本集Nϵ(xj)

      b) 如果子样本集样本个数满足|Nϵ(xj)|≥MinPts, 将样本xj加入核心对象样本集合:Ω=Ω∪{xj}

    3)如果核心对象集合Ω=∅,则算法结束,否则转入步骤4.

    4)在核心对象集合Ω中,随机选择一个核心对象o,初始化当前簇核心对象队列Ωcur={o}, 初始化类别序号k=k+1,初始化当前簇样本集合Ck={o}, 更新未访问样本集合Γ=Γ−{o}

    5)如果当前簇核心对象队列Ωcur=∅,则当前聚类簇Ck生成完毕, 更新簇划分C={C1,C2,…,Ck}, 更新核心对象集合Ω=Ω−Ck, 转入步骤3。

    6)在当前簇核心对象队列Ωcur中取出一个核心对象o′,通过邻域距离阈值ϵ找出所有的ϵ-邻域子样本集Nϵ(o′),令Δ=Nϵ(o′)∩Γ, 更新当前簇样本集合Ck=Ck∪Δ, 更新未访问样本集合Γ=Γ−Δ,更新Ωcur=Ωcur∪(Nϵ(o′)∩Ω),转入步骤5.

    输出结果为: 簇划分C={C1,C2,…,Ck}

核函数:DBSCAN密度聚类算法_第1张图片
是映射关系的内积,映射函数本身仅仅是一种映射关系,并没有增加维度的特性,不过可以利用核函数的特性,构造可以增加维度的核函数,这通常是我们希望的
DBSCAN密度聚类算法_第2张图片
二维映射到三维,区分就更容易了,这是聚类、分类常用核函数的原因。为什么PCA这样一个降维算法也用核函数呢?

左图为原数据,右图为映射到三维的数据,可以看出:同样是降到1维,先通过Kernel映射到(Kernel是映射的内积,不要弄乱了)三维,再投影到1维,就容易分离开,这就是Kernel在PCA降维中的应用,本质还是对原有数据增加维度
DBSCAN密度聚类算法_第3张图片

核密度估计方法
DENCLUE算法简介

  1. 将数据点扫描映射到超立方体中,超立方体边长2 σ σ 。只有包含数据点的超立方被关注,含有数据点的超立方体的数量为 Cp ‖ C p ‖ Cp ‖ C p ‖ 的值取决于 σ σ 而不依赖于数据空间的维度。超立方体的编号依赖于一个给定点的初始位置,该超立方集合可以映射成为一个一维数据存储在搜索树中
    DBSCAN密度聚类算法_第4张图片
  2. 要衡量数据对象对周围空间的影响,首先需要知道数据对象与给定位置的距离。选择不同位置观察一个数据对象,两者之间的距离直接影响了该对象影响函数的取值,影响函数反映了数据对象对周围空间的作用程度。

你可能感兴趣的:(每日示踪)