机器学习 - 聚类 DBSCAN算法(基于密度的空间聚类算法) (学习笔记)

Density-based methods可以解决不规则形状的聚类,同时也对噪声处理比较好。可以解决高维度

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)基本原理

算法概述:

基于区域点密度筛选有效数据(core points)
基于有效数据向周边扩张,直到没有新点加入
特点:过滤噪音数据;不需要人为选择类别数量;数据密度不同时影响结果 (need to fiddle)

其核心思想是在数据空间中找到分散开的密集区域,简单来说就是画圈,其中要定义两个参数,一个是圈的最大半径,一个是一个圈里面最少应该容纳多少个点。但是对这两个参数的设置非常敏感。

执行步骤:

1.定义两个参数,一个是圈的最大半径,一个是圈内最少容纳多少个点(如4个),这样的点叫做core points,其余的点叫non core points。

2.随机选取一个core point,然后画圈向周围进行扩张,目标是把周围的core point加入到第一组聚类内。最后再把圈内的non core points全部加入,注意non core points不会向周围进行扩张。第一组聚类完成。

3.随机再选择未被分类的一个core point,继续重复以上步骤执行。

4.最后剩余没被分入任何类的non core points,则为噪声点(outliers)。

机器学习 - 聚类 DBSCAN算法(基于密度的空间聚类算法) (学习笔记)_第1张图片

机器学习 - 聚类 DBSCAN算法(基于密度的空间聚类算法) (学习笔记)_第2张图片

机器学习 - 聚类 DBSCAN算法(基于密度的空间聚类算法) (学习笔记)_第3张图片

最后得到2个cluster,注意只有core points才像四周发散找同类,noo-core points黑色的点不再向四周发散找同类 。

改变其参数设置结果如下:

机器学习 - 聚类 DBSCAN算法(基于密度的空间聚类算法) (学习笔记)_第4张图片

所以衍生出OPTICS(Ordering Points To Identify Clustering Structure)。是DBSCAN的扩展。通过优先对高密度(high density)进行搜索,然后根据高密度的特点设置参数,改善了DBSCAN的不足。

你可能感兴趣的:(机器学习,学习笔记,机器学习,聚类)