基于密度的聚类和基于网格的两大聚类算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
密度相连性是一个对称的关系。
p
q
o
8
DBSCAN: 算法
算法:DBSCAN 输入:D-数据对象集合 ;Eps-邻域或称为半径 ; MinPts-密度阈值 输出:基于密度的簇的集合 方法: Step1 读取D中任意一个未分类的对象p; Step2 检索出与p的距离不大于Eps的所有对象Neps(p); Step3 如果 |Neps(p)|< MinPts (即p为非核心对象),则将p标记为噪 声,并执行Step1;
21
STING:统计信息网格

STING是一种基于网格的多分辨率聚类技术,它将 空间区域划分为矩形单元。 针对不同级别的分辨率,通常存在多个级别的 矩形单元, 这些单元形成了一个层次结构:高层的每个单 元被划分为多个低一层的单元。 关于每个网格单元属性的统计信息(例如平均 值、最大值和最小值)被预先计算和存储。这 些统计信息用于回答查询。
22
STING:统计信息网格
网格中常用参数 count-网格中对象数目 mean-网格中所有值的平均值 stdev-网格中属性值的标准偏差 min-网格中属性值的最小值 max-网格中属性值的最大值 distribution-网格中属性值符合的分布类型。如正 态分布、均匀分布、指数分布或者none(分布类 型未知)
30
STING:统计信息网格——应用

STING 能够用来帮助各种不同的空间查询。这最常见的请求查询是区域查询。 例如查询满足一定条件的区域。查找加利福尼亚州地区的房屋以得到房屋所 在区域相关方面数据。查询的对象是房屋,价格是其中的一个属性。区域须 满足约束条件:哪些区域面积至少是A,单元地区至少有c栋房屋,至少d%的房 屋其价格在a到b之间的臵信度为1-t.且m<n,.
15
DENCLUE—基于密度分布函数的聚类

DENCLUE是一种基于一组密度分布函数的聚类算法。该算法的原理是:
每个数据点的影响可以用一个数学函数来形式化地模拟,它描述了一个数据
点在邻域内的影响,被称为影响函数。
数据空间的整体密度(全局密度函数)可以被模拟为所有数据点的影响函数的
总和;
聚类可以通过确定密度吸引点(density attractor)来得到,这里的密度吸引点
DBSCAN:基于高密度连通区域聚类 OPTICS:通过点排序识别聚类结构
DENCLUE:基于密度分布函数的聚类
2
DBSCAN

基于密度的簇是密度相连的点的集合 主要思想
寻找被低密度区域分离的高密度区域 只要临近区域的密度(单位大小上对象或数据点的数
目)超过某个阈值,就继续聚类

13
OPTICS:通过点排序识别聚类结构

数据集的排序可以用图形描述,有助于可视化和理解数据集 中聚类结构,例如下图是一个简单的二维数据集的可达图。 其中三个高斯“凸起”反映数据集中比较稠密的部分。
14
OPTICS:通过点排序识别聚类结构

Step 1:有序种子队列初始为空.结果队列初始为空 ; Step 2:如果所有点处理完毕.算法结束;否则选择一个未处理对象( 即不在结果队列中)放人有序种子队列: Step 3:如果有序种子队列为空,返回Step 2,否则选择种子队列中的 第一个对象P进行扩张: Step 3.1:如果P不是核心节点.转Step 4;否则,对P 的E邻域内任一 未扩张的邻居q 进行如下处理 Step 3.1.1:如果q已在有序种子队列中且从P到 q的可达距离小于旧值 ,则更新q的可达距离,并调整q到相应位置以保证队列的有序性; Step 3.1.2:如果q不在有序种f队列中,则根据P 到q的可达距离将其插 入有序队列; Step 4:从有序种子队列中删除P.并将P写入结果队列中,返回Step 3
18
基于密度的聚类方法

主要特征:
发现任意形状的聚类 处理噪声(孤立点数据) 一次扫描 需要密度参数作为终止条件
19
基于网格的聚类


聚类分析的算法有很多,其中一大类的传统算法 是基于距离的,这种基于距离的缺点在于只能发 现球状的簇、处理大数据集和高维数据集时不够 有效,另一方面它能发现的聚类个数常常依赖于 用户参数的指定,这对用户来说经常是很困难的。 基于网格(dding-based)指将对象空间量化为有限 数目的单元,形成一个网格结构,所有聚类都在 这个网格结构上进行。
20
基于网格的聚类


基本思想是将每个属性的可能值分割成许多相邻 的区间,创建网格单元的集合(对于的讨论我们 假设属性值是序数的、区间的或者连续的)。 每个对象落入一个网格单元,网格单元对应的属 性区间包含该对象的值。

优点பைடு நூலகம்它的处理速度很快,其处理时间独立于数 据对象的数目,只与量化空间中每一维的单元数 目有关。
q关于Eps和MinPts 密度可达的。
密度可达性是直接密度可达性的传递闭包,这种关系是非
对称的。 只有核心对象之间是相互可达的。 q p1
p
7
DBSCAN

密度相连的(Density-connected)
如果对象集合D中存在一个对象o,使得对象p和q是从o
关于Eps 和 MinPts密度可达的,那么对象p和q是关于 Eps 和 MinPts 密度相连的。
簇中。
16
DENCLUE—基于密度分布函数的聚类
17
DENCLUE—基于密度分布函数的聚类
算法步骤:
(1)对数据点占据的空间推导密度函数; (2)通过沿密度增长最大的方向(即梯度方向)移动,识别密度函数的局 部最大点(这是局部吸引点),将每个点关联到一个密度吸引点; (3)定义与特定的密度吸引点相关联的点构成的簇; (4)丢弃与非平凡密度吸引点相关联的簇(密度吸引点 x’称为非平凡密 度吸引点,如果f*(x’)<η (其中f*是密度函数,η 是指定的阀值); (5)若两个密度吸引点之间存在密度大于或等于η 的路径,则合并他们 所代表的簇。对所有的密度吸引点重复此过程,直到不再改变时 算法中止。
3
DBSCAN

两个参数:
Eps:
邻域的最大半径
MinPts:
一个核心对象以 Eps为半径的邻域内的最小
顶点数
p q
MinPts = 5
Eps = 1 cm
4
DBSCAN

密度 = 制定半径 (Eps)内点的个数 如果一个对象的 Eps 邻域至少包含最小数目 MinPts 个对象,则称该对象为核心对象(Core point) 如果一个对象是非核心对象, 但它的邻域中有核 心对象,则称该对象为边界点( Border point ) 除核心对象和边界点之外的点是噪声点( Noise point )
dist
26
STING:统计信息网格
27
STING: 统计信息网格


当数据加载到数据库时。最底层的单元参数直接 由数据计算,若分布类型事先知道,可以用户直 接指定,而较高层的分布类型可以基于它对应的 低层单元多数的分布类型,用一个阈值过滤过程 的合取来计算,若低层分布彼此不同,则高层分 布设臵为none。 高层单元的统计参数可以很容易的从低层单元的 参数计算得到。
9
DBSCAN
Original Points
Clusters
特点: •抗噪声
• 能处理任意形状聚类
10
OPTICS:通过点排序识别聚类结构

对于真实的,高维的数据集合而言,参数的设臵 通常是依靠经验,难以确定。

绝大多数算法对参数值是非常敏感的:设臵的细 微不同可能导致差别很大的聚类结果。
OPTICS算法通过对象排序识别聚类结构。


OPTICS没有显式地产生一个数据集合簇,它为自 动和交互的聚类分析计算一个簇排序。
这个次序代表了数据的基于密度的聚类结构。较 稠密中的对象在簇排序中相互靠近。
11

OPTICS

簇排序选择这样的对象:即关于最小的E值,它是密度可 达的,以便较高密度(较低E值)的簇先完成。


对象p的核心距离:使p成为核心对象的最小Ɛ’。如果p不 是核心对象,那么p的核心距离没有任何意义。 可达距离:对象q到对象p的可达距离是指p的核心距离和p 与q之间欧几里得距离之间的较大值。如果p不是核心对象, p和q之间的可达距离没有意义。
12
OPTICS:通过点排序识别聚类结构
算法思路 首先检查数据对象集合D中任一个对象的E—邻域。设定其 可达距离为“未定义”,并确定其核心距离,然后将对象及其 核心距离和可达距离写入文件。 如果P是核心对象,则将对象P的E—邻域内的对象N (P)插 入到一个种子队列中,包含在种子队列中的对象p’按到其直 接密度可达的最近的核心对象q的可达距离排序。 种子队列中具有最小可达距离的对象被首先挑选出来,确 定该对象的E一邻域和核心距离, 然后将其该对象及其核心距离和可达距离写入文件中,如 果当前对象是核心对象,则更多的用于扩展的后选对象被插入 到种子队列中。 这个处理一直重复到再没有一个新的对象被加入到当前的 种子队列 中。
28
STING:统计信息网格
统计处理思想: 使用自顶向下的方法回答空间数据的查询 从一个预先选择的层次开始-通常包含少量的单 元,为当前层的每个单元计算臵信区间 不相关的单元不再考虑 当检查完当前层,接着检查下一个低层次 重复这个过程直到达到底层
29
STING:统计信息网格
算法步骤: 1 从一个层次开始 2 对于这一层次的每个单元格,我们计算查询相关的属性值 3 从计算的属性值及其约束条件中,我们将每一个单元格标 注成相关或者不相关 4 如果这一层是底层,则转到步骤6,否则就行步骤5 5 我们由层次结构转到下一层依照步骤2进行计算 6 查询结果满足,转到步骤8,否则转到步骤7 7 恢复数据到相关的单元格进一步处理以得到满意结果,转 到步骤8 8 停止
23
STING:统计信息网格
STING聚类的层次结构
24
STING:统计信息网格
level i level i+1 level i+2 a cell of (i-1)th level corresponds to 4 cells of (i)th level
25
STING:统计信息网格
假设当前层的属性x的统计信息记为n,m,s,min,max,dist,而ni,mi,si,mini,maxi是相 对于当前层来说,对应于更低一层的统计参数。那么n,m,s,min,max,dist 可以用以下方法计算:
数据挖掘 Data Mining
第十章 聚类
肖婷 11209050
1
基于密度的聚类方法


划分和层次方法旨在发现球状簇。他们很难发现 任意形状的簇。 改进思想,将簇看作数据空间中由低密度区域分 隔开的高密度对象区域。这是基于密度的聚类方 法的主要策略。 基于密度的聚类方法可以用来过滤噪声孤立点数 据,发现任意形状的簇。
是全局密度函数的局部最大值。

一个点 x 是被一个密度吸引点 x*密度吸引的,如果存在一组点 x0,x1,
…,xk,使得x0=x,xk=x*,对 0<i<k,xi-1 的梯度是在 xi的方向上,也就
是说xi-1在xi的方向上变化最快。

使用一个步进式爬山过程,把待分析的数据分配到密度吸引点 x*所代表的
Step4 否则(即p为核心对象),给 Neps(p)中的所有对象打上一个新的类标签 newid,然后将这些对象压入堆栈的Seeds中; Step5 让CurrentObject = Seeds.top;然后检索属于Neps(CurrentObject) 的 所有对象;如果| Neps(CurrentObject) |>MinPts,则剔除已经打上标记的 对象,将余下的未分类对象打上类标签newid,然后压入堆栈; Step6 Seeds.pop,判断Seeds是否为空,是,则执行Step1 ,否则执行Step5。


5
DBSCAN
6
DBSCAN

密度可达的(Density-reachable)
对于对象p和核心对象q(关于E和MinPts),我们称p是从q(关
于E和MinPts)直接密度可达,若对象p在对象q的E邻域内。
如果存在一个对象链
p1, …, pn, p1 = q, pn = p ,pi+1
是从pi关于Eps和MinPts 直接密度可达的,则对象p是从对象
相关文档
最新文档