1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DBSCAN聚类算法 信息管理学院 胡晓康 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)聚类算法是一个比较有代表性的基于密度的聚类算法,它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类。 一、简介 Ε邻域:给定对象半径为Ε内的区域称为该对象的Ε邻域; 核心对象:如果给定对象Ε领域内的样本点数大于等于MinPts,则称该对象为核心对象。 直接密度可达:对于样本集合D,如果样本点q在p的Ε领域内,并且p为核心对象,那么对象q从对象p直接密度可达。 密度可达:对于样本集合D,给定一串样本点p1,p2….pn,p= p1,q= pn,假如对象pi从pi-1直接密度可达,那么对象q从对象p密度可达。 密度相连:存在样本集合D中的一点o,如果对象o到对象p和对象q都是密度可达的,那么p和q密度相联。 簇:密度相连的点的最大集合。 二、DBSCAN算法概念 假设半径Ε=3,MinPts=3,点p的E领域中有点{m,p,p1,p2,o}, 点m的E领域中有点{m,q,p,m1,m2},点q的E领域中有点{q,m},点o的E领域中有点{o,p,s},点s的E领域中有点{o,s,s1}. 三、DBSCAN算法概念示例 (1)那么核心对象有p,m,o,s(q不是核心对象,因为它对应的E领域中点数量等于2,小于MinPts=3); (2)点m从点p直接密度可达,因为m在p的E领域内,并且p为核心对象; (3)点q从点p密度可达,因为点q从点m直接密度可达,并且点m从点p直接密度可达; (4)点q到点s密度相连,因为点q从点p密度可达,并且s从点p密度可达。 注意: (1)密度可达是直接密度可达的传递闭包,并且这种关系是非对称的。 (2)只有核心对象之间相互密度可达。 (3)密度相连是对称关系 如果一个点,在距它Eps的范围内有不少于MinPts个点,则该点就是核心点。核心和它Eps范围内的邻居形成一个簇。在一个簇内如果出现多个点都是核心点,则以这些核心点为中心的簇要合并。 总之,DBSCAN目的是找到密度相连对象的最大集合。 DBSCAN算法基于一个事实:一个聚类可以由其中的任何核心对象唯一确定。等价可以表述为:任一满足核心对象条件的数据对象p,数据库D中所有从p密度可达的数据对象o所组成的集合构成了一个完整的聚类C,且p属于C。 算法的具体聚类过程如下: ??? 扫描整个数据集,找到任意一个核心点,对该核心点进行扩充。扩充的方法是寻找从该核心点出发的所有密度相连的数据点,遍历该核心点的邻域内的所有核心点(因为边界点是无法扩充的),寻找与这些数据点密度相连的点,直到没有可以扩充的数据点为止。最后聚类成的簇的边界节点都是非核心数据点。之后就是重新扫描数据集(不包括之前寻找到的簇中的任何数据点),寻找没有被聚类的核心点,再重复上面的步骤,对该核心点进行扩充直到数据集中没有新的核心点为止。数据集中没有包含在任何簇中的数据点就构成异常点。 算法描述: 算法: DBSCAN 输入: E——半径 MinPts——给定点在E邻域内成为核心对 象的最小邻域点数。 D——数据集。 输出: 目标类簇集合 方法: Repeat 1) 判断输入点是否为核心对象 2) 找出核心对象的E邻域中的所有直接密度可达点。 Until 所有输入点都判断完毕 Repeat 针对所有核心对象的E邻域内所有直接密度可达点找到最大密度相连对象集合,中间涉及到一些密度可达对象的合并。 Until 所有核心对象的E领域都遍历完毕 优点: 1. 与K-means方法相比,DBSCAN不需要事先知道要形成的簇类的数量。 2. 与K-means方法相比,DBSCAN可以发现任意形状的簇类。 3. 同时,DBSCAN能够识别出噪声点。 缺点: 1. DBScan不能很好反映高维数据。 2. DBScan不能很好反映密度变化的数据。 圆圈代表?r?邻域,红色点为核心点,从点A出发,B、C均是密度可达的,B、C则是密度相连的,且B、C为边界点,而N为噪声点 ? 以上图为例,假设?minPts?为3,r?为图中圆圈的半径,算法从A开始,经计算其为核心点,则将点A及其邻域内的所有点(共4个)归为类Q,接着尝试扩展类Q。查询可知类Q内所有的点均为核心点(红点),故皆具有扩展能力,点C也被划入类Q。在递归拓展的过程中,查询得知C不是核心点,类Q不能从点C处扩充,称C为边界点。边界点被定义为属于某一个

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档