您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 述职报告 > DBSCAN聚类算法
DBSCAN聚类算法LIXIN目录•基于密度的聚类算法的介绍•DBSCAN算法的介绍•DBSCAN算法在生物学领域的应用基于密度聚类算法•开发原因:弥补层次聚类算法和划分式聚类算法往往只能发现凸型的聚类簇的缺陷。•核心思想:只要一个区域中的点的密度大过某个阈值,就把它加到与之相近的聚类中去。稠密样本点低密度区域(noise)基于密度聚类算法密度的定义•传统基于中心的密度定义为:数据集中特定点的密度通过该点Eps半径之内的点计数(包括本身)来估计。显然,密度依赖于半径。DBSCAN点分类•基于密度定义,我们将点分为:稠密区域内部的点(核心点)稠密区域边缘上的点(边界点)稀疏区域中的点(噪声或背景点).DBSCAN点分类•核心点(corepoint):在半径Eps内含有超过MinPts数目的点,则该点为核心点这些点都是在簇内的•边界点(borderpoint):在半径Eps内点的数量小于MinPts,但是在核心点的邻居•噪音点(noisepoint):任何不是核心点或边界点的点.MinPts:给定点在E领域内成为核心对象的最小领域点数DBSCAN:核心点、边界点和噪音点DBSCAN:核心点、边界点和噪音点OriginalPointsPointtypes:core,borderandnoiseEps=10,MinPts=4DBSCAN算法概念•Eps邻域:给定对象半径Eps内的邻域称为该对象的Eps邻域,我们用表示点p的Eps-半径内的点的集合,即:•核心对象:如果对象的Eps邻域至少包含最小数目MinPts的对象,则称该对象为核心对象。•边界点:边界点不是核心点,但落在某个核心点的邻域内。•噪音点:既不是核心点,也不是边界点的任何点)(pNEpsEps}q),distance(pDq|{q)(中,在数据集pNEpsDBSCAN算法概念•直接密度可达:给定一个对象集合D,如果p在q的Eps邻域内,而q是一个核心对象,则称对象p从对象q出发时是直接密度可达的(directlydensity-reachable)。•密度可达:如果存在一个对象链,对于,是从关于Eps和MinPts直接密度可达的,则对象p是从对象q关于Eps和MinPts密度可达的(density-reachable)密度相连:如果存在对象O∈D,使对象p和q都是从O关于Eps和MinPts密度可达的,那么对象p到q是关于Eps和MinPts密度相连的(density-connected)。ppqppppnn,,,,,121)1(niDpi1ipipDBSCAN算法概念示例•如图所示,Eps用一个相应的半径表示,设MinPts=3,请分析Q,M,P,S,O,R这5个样本点之间的关系。“直接密度可达”和“密度可达”概念示意描述解答•根据以上概念知道:由于有标记的各点M、P、O和R的Eps近邻均包含3个以上的点,因此它们都是核对象;M是从P“直接密度可达”;而Q则是从M“直接密度可达”;基于上述结果,Q是从P“密度可达”;但P从Q无法“密度可达”(非对称)。类似地,S和R从O是“密度可达”的;O、R和S均是“密度相连”的DBSCAN算法原理•DBSCAN通过检查数据集中每点的Eps邻域来搜索簇,如果点p的Eps邻域包含的点多于MinPts个,则创建一个以p为核心对象的簇。•然后,DBSCAN迭代地聚集从这些核心对象直接密度可达的对象,这个过程可能涉及一些密度可达簇的合并。•当没有新的点添加到任何簇时,该过程结束.DBSCAN算法伪代码•输入:数据集D,参数MinPts,Eps输出:簇集合(1)首先将数据集D中的所有对象标记为未处理状态(2)for数据集D中每个对象pdo(3)ifp已经归入某个簇或标记为噪声then(4)continue;(5)else(6)检查对象p的Eps邻域;(7)if包含的对象数小于MinPtsthen(8)标记对象p为边界点或噪声点;(9)else(10)标记对象p为核心点,并建立新簇C,并将p邻域内所有点加入C(11)for中所有尚未被处理的对象qdo(12)检查其Eps邻域,若包含至少MinPts个对象,则将中未归入任何一个簇的对象加入C;(13)endfor(14)endif(15)endif(16)endfor(p)NEps(p)NEps(p)NEps(q)NEps(q)NEps(q)NEpsDBSCAN运行效果好的时候•对噪音不敏感•可以处理不同形状和大小的数据ClustersOriginalPointsDBSCAN运行不好的效果OriginalPoints(MinPts=4,Eps=9.75)(MinPts=4,Eps=9.92)•密度变化的数据•高维数据DBSCAN算法的一些问题•时间复杂度DBSCAN的基本时间复杂度是O(N*找出Eps领域中的点所需要的时间),N是点的个数。最坏情况下时间复杂度是O(N2)在低维空间数据中,有一些数据结构如KD树,使得可以有效的检索特定点给定距离内的所有点,时间复杂度可以降低到O(NlogN)DBSCAN算法的一些问题•空间复杂度低维或高维数据中,其空间都是O(N),对于每个点它只需要维持少量数据,即簇标号和每个点的标识(核心点或边界点或噪音点)如何合适选取EPS和MinPts•对于在一个类中的所有点,它们的第k个最近邻大概距离是一样的•噪声点的第k个最近邻的距离比较远•所以,尝试根据每个点和它的第k个最近邻之间的距离来选取•然后:•Eps取什么?•MinPts取什么?DBSCAN算法的优缺点•优点•基于密度定义,相对抗噪音,能处理任意形状和大小的簇•缺点•当簇的密度变化太大时,会有麻烦•对于高维问题,密度定义是个比较麻烦的问题DBSCAN的应用DBSCAN的应用DBSCAN的应用6x6μmBoxEps:100nmMinPts:10DBSCAN的应用DBSCAN的应用DBSCAN的应用•198,247variablysizedclustersofsomaticmutationswithinexonproximaldomainsofthehumangenome•Eps=dp/ds(10~500bp)(dp:突变位置的平均距离ds:突变域的大小)•MinPts:P0.05二项式检验•Eps和MinPts不是一成不变的Thanks
本文标题:DBSCAN聚类算法
链接地址:https://www.777doc.com/doc-3262334 .html