北京网站设计价格,网站开发技术知识,百度推广图片尺寸要求,一级a做片性视频网站文章目录 DBSCAN简介DBSCAN算法流程运行机制举个实例 DBSCAN算法特点DBSCAN参数选取技巧 ϵ \epsilon ϵ的选取#xff1a;找突变点MinPts的选取 DBSCAN简介
DBSCAN#xff08;Density-Based Spatial Clustering of Applications with Noise#xff0c;具有噪声的基于密度的… 文章目录 DBSCAN简介DBSCAN算法流程运行机制举个实例 DBSCAN算法特点DBSCAN参数选取技巧 ϵ \epsilon ϵ的选取找突变点MinPts的选取 DBSCAN简介
DBSCANDensity-Based Spatial Clustering of Applications with Noise具有噪声的基于密度的聚类方法是一种典型的无监督聚类算法。和K-means相比不需要指定簇的个数可以应用于各种非凸形状的数据能够有效分离异常点因此也常用于异常检测。
DBSCAN算法流程
DBSCAN通过检查数据集中的点的邻域来形成簇。其核心思想是密度可达性即如果一个点在某个密度阈值内有足够多的邻居它就会与这些邻居形成一个簇。具体地DBSCAN依赖于两个主要参数 ϵ \epsilon ϵ定义一个点的邻域的半径。MinPts一个点在其邻域内必须包含的最少点数包括点本身以便被视为一个核心点
运行机制
DBSCAN算法的运行步骤如下
标记所有点为未访问。随机选择一个未访问的点P并将其标记为已访问。检查P的ε邻域 如果P的 ϵ \epsilon ϵ邻域内的点数大于或等于MinPts则P被视为核心点并以P为中心创建一个新簇。然后递归地将P的所有邻居也加入该簇。如果P的 ϵ \epsilon ϵ邻域内的点数小于MinPts则P被标记为噪声点后续可能会被归入其他簇。 重复步骤2和3直到所有点都被访问过。 举个实例
现设 ϵ 1 \epsilon 1 ϵ1 M i n P t s 3 MinPts 3 MinPts3即半径为1的情况下需要有3个点在领域内才算是核心点。
任意选择一个点A其半径圈内有3个符合条件的点所以A是核心点并标记为已访问的状态在A的半径范围内任意选择一个点继续进行半径圈扫描即重复1的操作经过n轮迭代之后到达了B点B点为圆心的范围内只有一个符合条件的点虽然它和其他红色的点都是分到一个类里但它是属于边界点而非核心点再经过m轮迭代之后红色点和黄色点都遍历完成后我们只剩下N点没有访问过了此时选择N点它的半径圈内并没有任何点它将被我们标记为异常点/噪声点
这时候我们提出几个点的名称定义
核心点若点P的 ϵ \epsilon ϵ半径内至少包含 M i n P t s MinPts MinPts个样本包括样本P)那么点P称核心点边界点若点P在某个核心点P的半径范围内但其半径范围内没有 M i n P t s MinPts MinPts个样本包括样本P)则称为边界点噪声点若点P既不属于核心点也不属于边界点则称该点位噪声点
根据点的分布情况我们还可以给出几个概念
密度直达一个点P1处在点P2的领域内且P2为核心点则称P1由P2密度直达密度可达一个点P1处在点P2的领域内且P1和P2均为核心点则称P1的领域点由P2密度可达密度相连如果P1和P2都不是核心点且P1和P2都在一个簇内则称P1和P2密度相连
DBSCAN算法特点
优点
可以对任意形状的数据进行聚类不需要指定分类的数量对异常点不敏感可以找出独立的点聚类结果稳定即算法选择哪个点都可以最终聚类的结果一定是一致的
缺点
样本数量较多时时间消耗会变多此时可以对搜索最近邻时建立的KD树或者球树进行规模限制来改进如果样本集的密度不均匀、聚类间距差相差很大时聚类质量较差这时用DBSCAN聚类一般不适合
DBSCAN参数选取技巧 ϵ \epsilon ϵ的选取找突变点
给定一组点集P(P1、P2…Pn)计算P1到其他所有点的距离从小到大排序例如P1到其他点的距离为
0.10.110.120.30.35
那么由此可看出从0.12之后就是比较大的距离变动因此可以选0.12作为距离阈值。当然实际的选取需要结合多个点集的距离结果
MinPts的选取
视业务情况而定但一般从小的开始选取但不要小过2如果MinPts1的情况那么就找不到异常点了