Clustering by fast search and find of density peaks

原文連接 https://zhangmingemma.github....git

聚類算法介紹

  聚類是將數據對象的集合分紅類似的對象類的過程。使得同一個簇(或類)中的對象之間具備較高的類似性,而不一樣簇中的對象具備較高的相異性。按照聚類的尺度,聚類方法可被分爲如下三種:基於距離的聚類算法、基於密度的聚類方法、基於互連性的聚類算法。其中基於距離的聚類算法是用各式各樣的距離來衡量數據對象之間的類似度。基於密度的聚類算法主要是依據合適的密度函數等。基於互連性的聚類算法一般基於圖或超圖模型,將高度連通的對象聚爲一類。 github

本文介紹的是Alex Rodriguez和Alessandro Laio在Science上發表的《Clustering by fast search and find of density peaks》所提出的一種新型的基於密度的聚類算法。算法

算法思想

該算法的假設類簇的中心由一些局部密度比較低的點圍繞, 而且這些點距離其餘有高局部密度的點的距離都比較大.首先定義兩個值:局部密度ρi以及到高局部密度點的距離δi,這兩個值僅僅取決於兩點之間的距離dij,且該距離知足三角不等式
圖片描述less

其中dc是一個截斷距離, 是一個超參數.因此ρi至關於距離點i的距離小於dc的點的個數.因爲該算法只對ρi的相對值敏感,
因此對dc的選擇比較魯棒, δi用於描述點i到其餘較高密度點之間的最小距離:
圖片描述函數

對於密度最大的點, 設置δi=maxj(dij).只有那些密度是局部或者全局最大的點纔會遠大於正常的相鄰點間距.所以聚類中心被視爲是δi值異常最大的點。優化

聚類過程

那些有着比較大的局部密度ρi和很大的δi的點被認爲是類簇的中心. 局部密度較小可是δi較大的點是異常點.在肯定了類簇中心以後, 全部其餘點屬於距離其最近的類簇中心所表明的類簇.具體的聚類過程能夠從圖1中看到,A圖標識二維空間內的28個點,能夠看到1和10兩個點的密度最大,所以1和10被定義爲聚類中心。右圖是以ρi和爲橫座標, 以δi爲縱座標, 這種圖稱做決策圖。其中9和10兩個點ρi值類似,但δi值卻差別很大,所以9被歸爲點1的類簇,而10被歸爲另外一類簇。因此,只有較高δi值和相對較高ρi值的點纔會被視爲聚類中心。26, 27, 28三個點的δi也比較大, 可是ρi較小, 因此是異常點.
圖片描述spa

聚類中心肯定以後,剩餘點被分配給與其具備較高密度的最近鄰居相同的類簇。與其餘迭代優化的聚類算法不一樣,類簇分配在單個步驟中執行。在聚類分析中, 一般須要肯定每一個點劃分給某個類簇的可靠性. 在該算法中, 能夠首先爲每一個類簇定義一個邊界區域(border region), 亦即劃分給該類簇可是距離其餘類簇的點的距離小於dc的點. 而後爲每一個類簇找到其邊界區域的局部密度最大的點, 令其局部密度爲 . 該類簇中全部局部密度大於 的點被認爲是類簇核心的一部分(亦即將該點劃分給該類簇的可靠性很大), 其他的點被認爲是該類簇的光暈, 亦便可以認爲是噪音
圖片描述對象

圖A表示點分佈,其中包含非球形點集和雙峯點集。B和C分別表示4000和1000個點按照A中模式的分佈,其中點根據其被分配的不一樣類簇着色,黑色的點屬於類簇光暈。D和E是對應的決策圖,而F表示的是不一樣點量下不正確聚類點的比率,偏差線表明平均值的標準差blog

聚類結果

圖3是分別利用點集和Olivetti臉部圖片集的聚類結果
圖片描述進程

算法特色

算法具備如下特色:

A. 該算法是一種基於密度的聚類算法,核心思想是認爲類簇的中心由一些局部密度比較低的點圍繞, 而且這些點距離其餘有高局部密度的點的距離都比較大。

B. 該算法將非聚類中心點的聚類過程分離成一個單獨的進程。使得聚類中心的選擇和非聚類點的歸類分離開來,增大了聚類精度。

C. 該算法適用於圖片、非球形點集的聚類。

相關文章
相關標籤/搜索