主要思想是尋找被低密度區與分離的高密度區域,基於的假設為:
1)類簇中心點的密度大於周圍鄰居點的密度;
2)類簇中心點與更高密度點之間的距離相對較大
因此有兩個需要計算的量:區域性密度pi和高區域性密度點距離(與高密度點之間的距離) δi
pi理解:其中dc表示截斷距離,這個公式的意義就是找到與第i個資料點之間的距離小於截斷距離的資料點的個數(某個點的距離到該點的距離小於dc 則密度加一),並將其作為第i個資料點真的密度。
δi理解:在比物件i區域性密度高的所有物件中,到物件i最近的距離。對於區域性密度最大點,δi實際上是該點和其他所有點距離值的最大值。
那些有比較大的區域性密度pi和很大的高區域性密度δi會被認為是簇的中心,但高區域性密度δi很大但區域性密度pi較小的會被認為是異常點。確定簇中心之後,其他的點按照距離已知簇的中心最近進行分類,也可以按照密度可達的方法進行分類。
演算法聚類整個過程例項:在乙個二維空間對資料聚類
1.首先計算每個點的區域性密度pi
2.然後對於每個點i計算在區域性密度比i高的所有物件中,到物件i最近的距離δi。
3.對於每個點,繪製出區域性密度pi與高區域性密度點距離δi的關係散點圖
4.區域性密度和高區域性密度距離都很大的作為簇中心。
5.將其他的點分配給距離更近的有和更高的區域性密度的簇。
可以看到 1和10的pi和δi都比較大可以做簇的中心,而26、27、28三個點 δi比較大但pi比較小,所以是異常點。
注意點:肉眼觀察確定聚類中心,沒有定量分析,包含主觀因素。作者給出了乙個確定聚類中心個數的提醒,將兩個值綜合考慮的量
顯然該值越大,則越有可能是聚類中心。因此只需對其降序排列,然後從前到後取若干個資料點作為聚類中心了。
在乙個下標為i,縱座標為ri的途中可以發現從非聚類中心到聚類中心有乙個明顯的跳躍,可以用肉眼或者是數值檢測判斷出來。
其中dc的選擇取決於肉感資料集的經驗值,1%-2%。
參考:
密度峰值聚類演算法 心得總結
這是離開公司前做的最後乙個演算法,之前做的一些演算法,由於老大的指點,少走了很多彎路,密度峰值聚類這個是純粹自己做的,走了很多彎路,在這裡和大家分享借鑑一下,共勉!一 簡單介紹及原理 顧名思義,這是一種基於密度的聚類演算法,以高密度區域作為判斷依據,這種非引數的方法,和傳統方法比,適用於處理任何形狀...
一種基於密度峰值的聚類演算法
2014年science刊發了一篇標題為clustering by fast search and find of density peaks的文章,文章中介紹了一種基於密度峰值的聚類演算法。傳統的聚類演算法k means,通常不適用於非球形的簇。這裡所謂的球形簇是根據k means演算法基本原理得...
基於密度的聚類
基於密度的聚類 定義 1.對於空間中的乙個物件,如果它在給定半徑e的鄰域中的物件個數大於密度閥值minpts,則該物件被稱為核心物件,否則稱為邊界物件。2.如果p是乙個核心物件,q屬於p的鄰域,那麼稱p直接密度可達q。3.如果存在一條鏈,滿足p1 p,pi q,pi直接密度可達pi 1,則稱p密度可...