Optics算法Optcs算法.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Optics算法Optcs算法

1??什么是OPTICS算法 在前面介绍的DBSCAN算法中,有两个初始参数E(邻域半径)和minPts(E邻域最小点数)需要用户手动设置输入,并且聚类的类簇结果对这两个参数的取值非常敏感,不同的取值将产生不同的聚类结果,其实这也是大多数其他需要初始化参数聚类算法的弊端。 为了克服DBSCAN算法这一缺点,提出了OPTICS算法(Ordering Points to identify the clustering structure)。OPTICS并不显示的产生结果类簇,而是为聚类分析生成一个增广的簇排序(比如,以可达距离为纵轴,样本点输出次序为横轴的坐标图),这个排序代表了各样本点基于密度的聚类结构。它包含的信息等价于从一个广泛的参数设置所获得的基于密度的聚类,换句话说,从这个排序中可以得到基于任何参数E和minPts的DBSCAN算法的聚类结果。????? 2??OPTICS两个概念 核心距离: 对象p的核心距离是指是p成为核心对象的最小E’。如果p不是核心对象,那么p的核心距离没有任何意义。 可达距离: 对象q到对象p的可达距离是指p的核心距离和p与q之间欧几里得距离之间的较大值。如果p不是核心对象,p和q之间的可达距离没有意义。 例如:假设邻域半径E=2, minPts=3,存在点A(2,3),B(2,4),C(1,4),D(1,3),E(2,2),F(3,2) 点A为核心对象,在A的E领域中有点{A,B,C,D,E,F},其中A的核心距离为E’=1,因为在点A的E’邻域中有点{A,B,D,E}3; 点F到核心对象点A的可达距离为,因为A到F的欧几里得距离,大于点A的核心距离1. 3?算法描述 OPTICS算法额外存储了每个对象的核心距离和可达距离。基于OPTICS产生的排序信息来提取类簇。 算法描述如下: 算法:OPTICS 输入:样本集D,?邻域半径E,?给定点在E领域内成为核心对象的最小领域点数MinPts 输出:具有可达距离信息的样本点输出排序 方法:1?创建两个队列,有序队列和结果队列。(有序队列用来存储核心对象及其该核心对象的直接可达对象,并按可达距离升序排列;结果队列用来存储样本点的输出次?序); ???????2?如果所有样本集D中所有点都处理完毕,则算法结束。否则,选择一个未处理(即不在结果队列中)且为核心对象的样本点,找到其所有直接密度可达样本点,如过该样本点不存在于结果队列中,则将其放???有序队列中,并按可达距离排序; ??????3?如果有序队列为空,则跳至步骤2,否则,从有序队列中取出第一个样本点(即可达距离最小的样本点)进行拓展,并将取出的样本点保存至结果队列中,如果它不存在结果队列当中的话。 3.1?判断该拓展点是否是核心对象,如果不是,回到步骤3,否则找到该拓展点所有的直接密度可达点; 3.2?判断该直接密度可达样本点是否已经存在结果队列,是则不处理,否则下一步; 3.2?如果有序队列中已经存在该直接密度可达点,如果此时新的可达距离小于旧的可达距离,则用新可达距离取代旧可达距离,有序队列重新排序; 3.3?如果有序队列中不存在该直接密度可达样本点,则插入该点,并对有序队列重新排序; ???????4?算法结束,输出结果队列中的有序样本点。大家或许会很疑惑,这里不也有输入参数E和MinPts吗?其实这里的E和MinPts只是起到算法辅助作用,也就是说E和MinPts的细微变化并不会影响到样本点的相对输出顺序,这对我们分析聚类结果是没有任何影响。 我们采用与先前DBSCAN相同的样本点集合, 对于样本点 a={2,3};b={2,4};c={1,4};d={1,3};e={2,2};f={3,2}; g={8,7};h={8,6};i={7,7};j={7,6};k={8,5}; l={100,2};//孤立点 m={8,20};n={8,19};o={7,18};p={7,17};q={8,21}; 并且使用相同的E=2?MinPts=4时,输出序列为 1-a:1.0 2-e:1.0 3-b:1.0 4-d:1.0 5-c:1.4142135623730951 6-f:1.4142135623730951 ------ 7-g:1.4142135623730951 8-j:1.4142135623730951 9-k:1.4142135623730951 10-i:1.4142135623730951 11-h:1.4142135623730951 ------ 12-n:2.0 13-q:2.0 14-o:2.0 15-m:2.0 如图,按照算法,分三个阶段输出了三波值 {a,e,b,d,c,f} ,{g,j,k,I,h},{n,q,o,m} 这和DBSCAN的类簇结果是一样的。不

文档评论(0)

zyongwxiaj8 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档