1、第 8章 聚类Chapter 8.4基于密度的聚类 相关概念 : -邻域:对象 o的 -邻域是以该对象为中心, 为半径的空间。 核心对象:用户指定一个参数 MinPts,指定稠密区域的密度阈值。如果一个对象的 -邻域至少包含 MinPts个对象,则称该对象为核心对象。 直接密度可达:对于指定的对象集合 D,有对象 p与 q,如果对象 p在对象 q的 -邻域内,并且 q是核心对象,则称对象 p是从对象 q关于 -和 MinPts直接密度可达的。 密度可达:假设有对象链 1,2,,且 1 = , = 。如果对于 (1 ),有 +1是从 关于 和 MinPts直接密度可达的,则称 p是从对象 q关于
2、 和 MinPts密度可达的 。DBSCAN:基于高密度连通区域的基于密度的聚类48.4 基于密度的聚类 相关概念 : 密度 相连:对于指定的对象集合 D,如果存在一个对象 o,使得对象 p和对象 q从 o关于 -和 MinPts密度可达,那么对象 p和对象 q是关于 和 MinPts密度相连的。 边界对象:对于对象 p,如果它的 -邻域内包含的对象少于 MinPts个,但落在某个核心对象的 -邻域内,则称对象 p为边界对象。 噪声对象:既不是核心对象,也不是边界对象的任何对象。DBSCAN:基于高密度连通区域的基于密度的聚类48.4 基于密度的聚类DBSCAN:基于高密度连通区域的基于密度的
3、聚类例:密度 可达与密度相连:给定圆的半径 ,令 MinPts =3,考虑下 图各点之间的关系。s ropqmn58.4 基于密度的聚类 DBSCAN( Density-Based Spatial Clustering of Application with Noise,具有噪声应用的基于密度的空间聚类) 算法 : 在 数据对象集中查找簇和噪声,这里的簇指的是对象集中的簇,即核心对象密度可达的所有对象的集合 。 算法 的基本思想:每个簇的内部点的密度比簇的外部点的密度要高得多。它定义簇为“密度相连”的最大对象集,不包含在任何簇中的对象被认为是“噪声” 。DBSCAN:基于高密度连通区域的基于密
4、度的聚类68.4 基于密度的聚类 DBSCAN算法的流程 :DBSCAN发现簇的过程如下:初始给定数据集 D中所有对象被标记为“ unvisited”随机选择一个未访问的对象 p,标记 p为“ visited”,并检查 p的 -邻域是否至少包含 MinPts个对象。如果不是,则 p被标记 为噪声 点。否则为 p创建一个新的簇 C,并且把 p的 -邻域中所有对象都放在候选集合 N中。迭代地把 N中不属于其他簇的对象添加到 C中。在此过程中, 对 于 N中标记为“ unvisited”的对象 p,把它标记为“ visited”,并且检查它的 -邻域,如果 p的 -邻域至少包含 MinPts个对象,
5、则 p的 -邻域中的对象都被添加到 N中。继续添加对象到 C,直到 C不能扩展,即直到 N为空。此时簇 C完成生成,输出即可。从剩下的对象中随机选择一个未访问过的对象,重复和,直到所有对象都被访问。DBSCAN:基于高密度连通区域的基于密度的聚类68.4 基于密度的聚类例 8.6 使用 DBSCAN算法进行聚类设有数据集 D,对象分布如图 8-24所示,设 =1, MinPts=4,利用 DBSCAN算法进行聚类。DBSCAN:基于高密度连通区域的基于密度的聚类68.4 基于密度的聚类124536897 121011图 8-24 对象分布解:对图 8-24中的对象以从上往下、从左往右的顺序进行
6、编号,以标识对象。标记所有点为 unvisited。随机选择点 6,标记为 visited,以它为圆心、半径为 1的邻域内包含 2个点,不满足不小于 MinPts的要求,因此它不是核心点,暂标记为噪声。如图 8-25所示。DBSCAN:基于高密度连通区域的基于密度的聚类68.4 基于密度的聚类124536897 121011图 8-25 点 6的 -邻域随机选择点 2,标记为 visited,以它为圆心、半径为 1的邻域内包含 3个点,不满足不小于 MinPts的要求,可知其不是核心点,暂标记为噪声。随机选择点 1,标记为 visited,以它为圆心、半径为 1的邻域内包含 3个点,不满足不小
7、于 MinPts的要求,可知其不是核心点,暂标记为噪声 。DBSCAN:基于高密度连通区域的基于密度的聚类68.4 基于密度的聚类 随机选择点 5,标记为 visited,以它为圆心、半径为 1的邻域内包含 5个点,大于 MinPts, 可知其为核心点。生成新簇 C1,将点 5放入 C1,即 C1=5。将点 5的半径为 1的邻域内的点放入候选集合 N中,即 N=2,4,6,7,其中点2和点 6为 visited,点 4和点 7为 unvisited。在 N中选择 unvisited的点 4,标记为 visited,以点 4为圆心、半径为 1的邻域内包含 4个点,等于 MinPts,可知点 4也
8、是核心点 , 因点 4不属于其他簇 , 将 点 4放入 C1,即 C1=4,5。将点 4的半径为 1的邻域内的点放入候选集合 N中,即 N=1,2,3,6,7,其中点 1、点 2和点 6为 visited,点 3和点 7为 unvisited。DBSCAN:基于高密度连通区域的基于密度的聚类68.4 基于密度的聚类在 N中选择 unvisited的点 3,标记为 visited,以点 3为圆心、半径为 1的邻域内包含2个点,不满足不小于 MinPts的要求,可知其不是核心点,因点 3不属于其他簇,将点 3放入 C1,即 C1=3,4,5, N=1,2,6,7,其中点 1、点 2和点 6为 vi
9、sited,点 7为 unvisited。在 N中选择 unvisited的点 7,标记为 visited,以点 7为圆心、半径为 1的邻域内包含3个点,不满足不小于 MinPts的要求,可知其不是核心点,因点 7不属于其他簇,将点 7放入 C1,即 C1=3,4,5,7, N=1,2,6,其中点 1、点 2和点 6为 visited。在 N中点 1、点 2和点 6虽为 visited,但它们不属于其他簇,将它们放入 C1,即C1=1,2,3,4,5,6,7, N=。这样可以得到一个簇 C1=1,2,3,4,5,6,7。如图 8-26所示。DBSCAN:基于高密度连通区域的基于密度的聚类68.
10、4 基于密度的聚类124536897 121011图 8-26 由点 5得到的簇 C1在其他 unvisited的点中随机选择点 8,标记为 visited,以它为圆心、半径为 1的邻域内包含 3个点,不满足不小于 MinPts的要求,可知其不是核心点,暂标记为噪声。随机选择 unvisited的点 10,标记为 visited,以它为圆心、半径为 1的邻域内有 5个点,大于 MinPts,可知其是核心点。生成新簇 C2,将点 10放入 C2,即 C2=10。将点 10的半径为 1的邻域内的点放入候选集合 N中,即N=8,9,11,12,其中点 8为 visited,点 9、点 11和点 12
11、为 unvisited。在 N中选择 unvisited的点 9,标记为 visited,以点 9为圆心、半径为 1的邻域内包含 2个点,不满足不小于 MinPts的要求,可知其不是核心点,因点 9不属于其他簇,将点 9放入 C2,即 C2=9,10, N=8,11,12,其中点 8为visited,点 11和点 12为 unvisited。DBSCAN:基于高密度连通区域的基于密度的聚类68.4 基于密度的聚类在 N中选择 unvisited的点 11,标记为 visited,以点 11为圆心、半径为 1的邻域内包含 2个点,不满足不小于 MinPts的要求,可知其不是核心点,因点 11不属
12、于其他簇,将点 11放入 C2,即 C2=9,10,11, N=8,12,其中点 8为visited,点 12为 unvisited。在 N中选择 unvisited的点 12,标记为 visited,以点 12为圆心、半径为 1的邻域内包含 2个点,不满足不小于 MinPts的要求,可知其不是核心点,因点 12不属于其他簇,将点 12放入 C2,即 C2=9,10,11,12, N=8,其中点 8为visited。在 N中点 8虽为 visited,但它不属于其他簇,将它放入 C2,即C2=8,9,10,11,12, N=。可得到新簇 C2=8,9,10,11,12。如图 8-27所示。DB
13、SCAN:基于高密度连通区域的基于密度的聚类68.4 基于密度的聚类124536897 121011图 8-27 由点 10得到的簇 C2至此,数据集 D中的所有点都为 visited,这样就将原数据集 D划分为两个簇 C1=1,2,3,4,5,6,7和C2=8,9,10,11,12,如图 8-28所示。DBSCAN:基于高密度连通区域的基于密度的聚类68.4 基于密度的聚类124536897 121011图 8-28 使用 DBSCAN算法得到的簇优点: 可以 对任意形状的稠密数据集进行 聚类 ; 可以 在聚类的同时发现异常点,对数据集中的异常点不 敏感 ; 聚类 结果没有偏倚 。缺点: 如果 样本集的密度不均匀、聚类间距差相差很大时,聚类质量 较差 ; 如果 样本集较大时,聚类收敛时间较 长 ; 调 参相对复杂,主要需要对距离阈值 ,邻域样本数阈值 MinPts联合调参,不同的参数组合对最后的聚类效果有较大影响。DBSCAN:基于高密度连通区域的基于密度的聚类68.4 基于密度的聚类THANKS FOR YOUR ATTENTION感谢指导!