一種基於密度峰值的聚類演算法

2021-09-01 23:37:27 字數 2119 閱讀 8379

2023年science刊發了一篇標題為clustering by fast search and find of density peaks的文章,文章中介紹了一種基於密度峰值的聚類演算法。

傳統的聚類演算法k-means,通常不適用於非球形的簇。這裡所謂的球形簇是根據k-means演算法基本原理得到的。為了解釋這個所謂的球形簇,在這裡簡單的回憶一下k-means演算法。k-means演算法的基本原理就是距離近的應該被分到乙個類別。因此我們可以說,k-means其實是基於距離的聚類演算法。在演算法開始之前,我們需要指定聚類的類別個數k的值,指定完k值之後需要初始化聚類的中心點,然後計算要聚類點與中心點的聚類,取離其最近的中心點為該點所屬類別的中心點,直到所有的點都分完類。然後,對於每個類,用每個類所有點的均值作為新的中心點,繼續聚類演算法,直到迭代到了指定的輪數,或者所有類別的中心點固定了。從k-means演算法的執行過程,我們可以看到,如果同類點的分布不是球狀,k-means演算法便無能為力。

而本文提出的基於密度峰值的演算法則可以解決k-means的不適用於非球狀簇分類的問題。同時,本文提出的方法不需要指定類別的數量。

基於密度峰值聚類演算法的基本思想與基於密度演算法dbscan的基本思想類似,都是通過某個點周圍的點來判斷某個點是不是屬於某個類。而不同於基於密度演算法dbscan的通過密度直達、密度可達、密度相連三種基本關係判斷兩個點是否屬於同類的思想,基於密度峰值聚類演算法的思想要簡單的多。對於每個類的中心點,基於密度峰值聚類演算法認為,中心點周圍的點相比較該類的其他點都要多,同時,本類的中心點應該距離其他類中心點要足夠遠。

1. 區域性密度

在這裡插入描述

2. 距離

δ i=

min(d_), &s.t. \ \rho_j>\rho_i\\ max(d_),&s.t.\ \rho_j\leq\rho_i \end\right.

δi​={m

in(d

ij​)

,max

(dij

​),​

s.t.

ρj​>ρi

​s.t

.ρj​

≤ρi​

​這裡面需要解釋:當點的密度不是最大的時候,說明該點並不是中心點,於是將距離設定為它與離它最近點的距離,當點的密度是最大的時候,說明該點是中心點,於是將該點所對應的距離設為它與離它最遠的點的距離。至於為什麼這麼設定,可以看乙個簡單的應用。

3.演算法的實施過程

對於a圖中的點分別計算每個點的區域性密度和距離,繪製成圖b。在圖b中我們可以看到點1和點10具有最大的區域性密度和最大的距離,因此將點1和點10認定為簇的中心點。那麼上面的問題就解決了,之所以如此設定是為了讓簇的中心點顯得更加「與眾不同」,也就是說當兩個點都具有相同的區域性密度的時候,我們選擇具有較大距離的點作為我們的中心點。

這種演算法有個明顯的特點,就是我們不需要迭代就可以將資料劃分為合適的簇,而且,不像k-means演算法,我們不需要實現指定k的值和中心點,相比較k-means演算法開始之前的經驗成分會少一點。這裡為什麼一定要強調演算法開始之前的經驗成分,因為基於密度峰值演算法的選取中心點的時候同樣帶有一定的主觀色彩。這也是這個演算法的致命缺點。

4.關於演算法的一點點改進

文中,作者引入乙個度量中心點的引數γi=

ρiδi

\gamma_i=\rho_i\delta_i

γi​=ρi

​δi​

,作者認為如果乙個點具有較大的γ

\gamma

γ值,那麼這個點便有較大的可能是中心點。

上面的b圖將所有點的γ

\gamma

γ值做了排序並繪製到座標系中。可以看到中心點與非中心的γ

\gamma

γ值有明顯的分界。因此γ

\gamma

γ值可以作為中心點和非中心點的分類依據

聚類演算法(四) 基於密度峰值的聚類演算法

主要思想是尋找被低密度區與分離的高密度區域,基於的假設為 1 類簇中心點的密度大於周圍鄰居點的密度 2 類簇中心點與更高密度點之間的距離相對較大 因此有兩個需要計算的量 區域性密度pi和高區域性密度點距離 與高密度點之間的距離 i pi理解 其中dc表示截斷距離,這個公式的意義就是找到與第i個資料點...

密度峰值聚類演算法 心得總結

這是離開公司前做的最後乙個演算法,之前做的一些演算法,由於老大的指點,少走了很多彎路,密度峰值聚類這個是純粹自己做的,走了很多彎路,在這裡和大家分享借鑑一下,共勉!一 簡單介紹及原理 顧名思義,這是一種基於密度的聚類演算法,以高密度區域作為判斷依據,這種非引數的方法,和傳統方法比,適用於處理任何形狀...

DBSCAN基於密度的聚類演算法

1.密度 密度指的是在某距離內含有物件的最小數目。2.核心物件 如果乙個物件的eps鄰域內至少包含minpt個物件,則稱該物件是核心物件。3.直接密度可達 給定乙個物件集合d,如果p在q的eps鄰域內,並且q是乙個核心物件,則p是從q直接密度可達的。如下圖所示 eps可以想象為乙個超球體的半徑,mi...