機器學習方法篇 21 密度聚類法

2021-08-15 09:01:38 字數 1644 閱讀 4448

別讓偶爾的關心打敗習慣的溫暖。

前面介紹了層次聚類法,在聚類效果上,層次聚類的最大問題是:有可能聚出鏈狀類。本節要講的密度聚類法可以克服這個缺點,其原理也更接近於直觀意義上的聚類。那麼,密度聚類的思想是什麼?又有哪些常用演算法?

密度聚類顧名思義,是一種基於樣本密度的聚類思想。直觀意義上理解,好比在一張地圖上做人口密度分布圖,密集區域通常會認為是城市所在地。

基於密度聚類主要的目標是尋找高密度區域,與基於距離聚類的不同之處在於,後者的結果通常表現為球狀簇,而前者可以形成任意形狀聚類。且只要引數設定合理,就不會出現鏈狀類,不受噪音和離群資料點影響。

根據引數r和n,dbscan將樣本分為以下三類:

· 核心點在鄰域r內包含點的數量不小於n的樣本點;

· 邊界點在鄰域r內包含點的數量小於n,但是該樣本點落在其他核心點的鄰域內;

· 噪音點既不是核心點也不是邊界點的樣本點。

如果只採用核心點計算聚類,dbscan可以看做k-means演算法的變種。因為加上了邊界點和噪音點的計算,dbscan演算法比一般的距離聚類法更為強大。

dbscan演算法流程如下:

1>劃分所有樣本資料點為核心點、邊界點或噪音點;

2>刪除所有噪音點;

3>將距離在r之內的核心點之間連邊,形成連通圖g;

4>計算連通g中的連通分量gcci,形成初步聚類;

5>把邊界點劃分到與之關聯的核心點所在的類。

以上過程中還涉及到兩個比較重要的概念,直接密度可達密度可達

直接密度可達如下圖所示,r=1,n=5,q是乙個核心點。從物件q出發到物件p就是直接密度可達的。但是,從p到q不是直接密度可達,因為p不是核心點。

密度可達如下圖所示,q直接密度可達p1,p1直接密度可達p,則稱q到p是密度可達。

會發現,最後形成的每個類中的任意資料點p,在其所屬類中至少存在乙個核心點q使其密度可達,我們稱之為p和q是密度相連的。

雖然密度聚類法優點很多,但是其時間複雜度也是相當之大,一般通過構建資料索引來降低其密度計算量。

以上便是密度聚類的講解,敬請期待下節內容。

機器學習方法篇 19 劃分聚類法

無法讓明天不一樣,可以避免和昨天一樣。前面介紹了什麼是聚類以及聚類的相似性度量方法,本節開始講解最常用的聚類方法,劃分聚類。那麼,劃分聚類的原理思想是什麼?又有哪些常用的演算法?劃分聚類顧名思義,基於劃分的聚類方法,就是每一次基於某種演算法規則將資料點劃分到不同的類別當中。既然是劃分,首先需要指定類...

機器學習 聚類 密度聚類演算法

一,介紹 密度聚類演算法有多種,我們這裡主要介紹一種著名的密度聚類演算法 dbscan。首先,我們通過下圖了解幾個概念 1 鄰域,與中心x距離不超過 距離,如上圖紅色虛線圈 2 核心物件,確定聚類的初始點,如上圖的x1 3 密度直達,在聚類核心物件鄰域內的點,如上圖x2由x1密度直達 4 密度可達,...

機器學習 密度聚類演算法 DBSCAN

1.密度聚類 基於密度的聚類演算法由於能夠發現任意形狀的聚類,識別資料集中的雜訊點,可伸縮性好等特點,在許多領域有著重要的應用。密度演算法概念 1 如果乙個資料點周圍足夠稠密,也就是以這個點為中心,給定半徑的鄰域內的資料點足夠多,密度大於密度閾值 使用者指定的引數minpts 則稱這個資料點為核心資...