聚类 之 密度聚类的 直觉 (DBSCAN算法)

采用不同方式表征样本分布的紧密程度,可设计出不同的密度聚类算法。

 

这里说的是DBSCAN算法。

关于密度聚类,有两个概念需要明白,  什么是核心对象,什么是簇?

或者说,核心对象和簇都长什么样子?

 

我们先说概念,然后再看图。

 

核心对象是什么呢?

在算法开始前,我们会人为的定义两个超参数,一个超参数定义距离?,另一个定义样本个数MinPts。

那么,这两个是干什么用的呢?

如果说某一个样本A,它满足:周围有 MinPts个样本,且这些样本离A的距离在以内,那么就说该样本是 核心对象。

    那么A就是核心对象。(这图 惭愧。。。。)

 

那么,什么是簇呢?

簇是核心对象概念的运用与展开,额,好,别打我,我说人话。

我们看图解释这个东西。

 

看到红框了没, 那就是一个 簇,

看到黑点了没,那就是核心对象,

看到像句号一样的白圈了没,那就是生活在核心对象范围内的存在(上上个图打勾的),

 

ok,很棒,三连成功, 我们开始说一下算法的执行过程吧,

 

算法是怎么生成这一个簇的呢?

1.首先有很多样本,遍历所有样本,找出所有的核心对象(对每个样本看?距离内的样本个数是否满足要求)

2.从所有的核心对象中任选一个,记该核心对象为A,  然后A在其邻域内(?距离的圆内)圈中所有的样本,

这些样本可能也会是核心对象,若是核心对象,则递归进行:把这个核心对象邻域(?距离)内的样本也圈起来。之后还有核心对象的话就继续下去。(这个就是利用队列层次遍历来实现了。)

此时,当2步骤结束时,就像上图一样,用红框框出了一个簇(聚簇一次成功),簇中有核心样本 和    普通的、在核心样本邻域内的样本。

另外啊,当这个回合结束时,需要在全集中扣除此次被选中的所有样本,这个很明显啊,这个样本归C1簇了,  就不能再给其他簇作为基样本了。

 

3.当然啦,聚类很少只聚一次的,所以算法还要继续下去。

此时,算法从剩余的核心对象中再找出一个,然后继续走2的步骤,聚出一个个簇,知道没有核心对象为止。

 

ok,算法结束啦,是不是很简单~~~

 

ok,看图,结束。

 

88~~~

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值