1. 程式人生 > >(3)聚類演算法之DBSCAN演算法

(3)聚類演算法之DBSCAN演算法

文章目錄

1.引言

       DBSCAN(Density-Based Spatial Clustering of Applications with Noise)

是一基於密度的聚類演算法,DBSCAN將簇定義為密度相連的點的最大集合,能夠把具有足夠高密度的區域劃分為簇,並可在噪聲的空間資料庫中發現任意形狀的聚類。

2.DBSCAN相關定義

       DBSCAN是基於一組鄰域來描述樣本集的緊密程度的,引數 ( ϵ , M i

n P t s ) (ϵ, MinPts) 用來描述鄰域的樣本分佈緊密程度。其中, ϵ ϵ
描述了某一資料點的鄰域距離閾值(半徑) M i n P t s MinPts 描述了資料點半徑為 ϵ ϵ 的鄰域中資料點個數的最小個數。下面是與密度聚類相關的定義(假設我的樣本集是 D = ( x 1 , x 2 , . . . , x m ) D=(x_1,x_2,...,x_m) ):

  • ϵ ϵ -鄰域:對於 x j D x_j∈D ,其 ϵ ϵ -鄰域包含樣本集 D D 中與 x j x_j 的距離不大於 ϵ ϵ 的子樣本集。即 N ϵ ( x j ) = { x i D d i s t a n c e ( x i , x j ) ϵ } N_ϵ(x_j)=\{x_i∈D|distance(x_i,x_j)≤ϵ\} , 這個子樣本集的個數記為 N ϵ ( x j ) |N_ϵ(x_j)| ϵ ϵ -鄰域是一個集合
  • 核心物件:對於任一樣本 x j D x_j∈D ,如果其 ϵ ϵ -鄰域對應的 N ϵ ( x j ) N_ϵ(x_j) 至少包含 M i n P t s MinPts 個樣本,即如果 N ϵ ( x j ) M i n P t s |N_ϵ(x_j)|≥MinPts ,則 x j x_j 是核心物件。
  • 密度直達:如果 x i x_i 位於 x j x_j ϵ ϵ -鄰域中,且 x j x_j 是核心物件,則稱 x i x_i x j x_j 密度直達。反之不一定成立,即此時不能說 x j x_j x i x_i 密度直達, 除非且 x i x_i 也是核心物件,即密度直達不滿足對稱性
  • 密度可達:對於 x i x_i x j x_j ,如果存在樣本樣本序列 p 1 , p 2 , . . . , p T p_1,p_2,...,p_T ,滿足 p 1 = x i , p T = x j p1=x_i,p_T=x_j , 且 p t + 1 p_{t+1} p t p_t 密度直達,則稱 x j x_j x i x_i 密度可達。也就是說,密度可達滿足傳遞性。此時序列中的傳遞樣本** p 1 , p 2 , . . . , p T 1 p_1,p_2,...,p_{T−1} 均為核心物件**,因為只有核心物件才能使其他樣本密度直達。密度可達也不滿足對稱性,這個可以由密度直達的不對稱性得出。
  • 密度相連:對於 x i x_i x j x_j ,如果存在核心物件樣本 x k x_k ,使** x i x_i x j x_j