機器學習之聚類演算法

2021-08-14 01:20:26 字數 1688 閱讀 5337

聚類就是將乙個物件的集合(樣本集合)分割成幾個不想交的子集(每個子集所代表的語義需要使用者自己進行解釋),每個類內的物件之間是相似的,但與其他類的物件是不相似的. 

分割的類的數目可以是指定的(例如k-means),也可以是有演算法生成的(dbscan).

聚類是無監督學習的乙個有用工具。

1原型聚類:

原型聚類是指聚類結構能夠通過一組原型刻畫,即樣本空間中具有代表性的點。也就是說聚類是通過具有代表性的掉刻畫的。著名的原型聚類方法包括k-means聚類和高斯混合聚類

k-means 聚類

(動態聚類演算法)

演算法步驟:1、選擇k個初始聚類中心

2、按照距離最小原則對資料進行歸類

3、重新計算聚類中心

4、如果第 i+1 代的聚類中心和第 i 代的中心一致,演算法收斂

高斯混合聚類(軟聚類)

高斯混合模型(gaussian mixture model, gmm)

。這種聚類方法得到的是每個樣本點屬於各個類的概率,而不是判定它完全屬於乙個類,所以有時也會被稱為軟聚類。

k 為模型的個數;πk為第k

個高斯的權重;p

(x / k

)則為第

k個高斯概率密度,其均值為μk

,方差為σk

。對此概率密度的估計就是要求出πk

、μk和σk

各個變數。當求出p(x)

的表示式後,求和式的各項的結果就分別代表樣本

x屬於各個類的概率。

求各個引數使用em演算法。

2密度聚類

假設聚類的結構通過樣本的密度來確定。dbscan演算法是常用的密度聚類演算法。dbscan演算法通過一組鄰域引數(r ,minpts)描述樣本的緊密程度。

在dbscan演算法中將資料點分為一下三類:

dbscan的幾個概念:

(1)r-鄰域。對任意xi屬於資料集d,其r鄰域包含樣本集d中與xi的距離不大於r的樣本,即n(xi)=。

(2)核心物件。核心物件就是r-鄰域內至少包含minpts個樣本,即|n(xi)|>=minpts,

那麼xi為乙個核心物件。

(3)密度直達。如果xj位於xi的r-鄰域內,並且xi為核心物件,則稱

xj由xi密度直達

。(4)密度可達。對xi與xj,如果存在樣本序列p1,p2…pn,其中p1=xi,pn=xj且p(i+1)由pi密度直達,則稱xj由xi密度可達。

(5)密度相連。對xi與xj,如果存在xk使得xi與xj均由xk密度可達,則稱xi與xj密度相連。(以xk)

dbscan的演算法步驟:

(1)     先找出所有的核心物件來。

(2)     然後對所有的核心物件進行隨機遍歷,找出所有的密度可達點。(可達的概念還是挺重要的,其實就是核心點在中間當做橋梁,即乙個核心物件的鄰域內也包含其他的核心物件,這樣就可以串下去了)

(3)     當所有的核心物件點遍歷完之後,剩下的點就是雜訊點或者是低密度區域。

3 層次聚類(hierarchical clustering)

假設有n個待聚類的樣本,對於層次聚類來說,基本步驟就是:

1、(初始化)把每個樣本歸為一類,計算每兩個類之間的距離,也就是樣本與樣本之間的相似度;

2、尋找各個類之間最近的兩個類,把他們歸為一類(這樣類的總數就少了乙個);

3、重新計算新生成的這個類與各個舊類之間的相似度;

4、重複2和3直到所有樣本點都歸為一類,結束。

機器學習之聚類演算法 K Means

參考 聚類演算法可以分為 中心點方法 層次聚類方法 基於密度方法 基於網格 基於模型方法。其中最為經典的是k means演算法 k means屬於中心點方法 也有叫劃分方法 演算法經典簡單。演算法 人工選取k值,並選取k個點作為k個簇的質心 對所有樣本分別計算到k個簇的質心的距離 歐式或者曼哈頓 取...

機器學習演算法 之K means聚類

1.模型 k means演算法並沒有顯式的數學模型,演算法的目的是從資料集中得到k個中心點,每個中心點及其周圍的點形成乙個聚簇。k means是一種無監督的學習模型。k means的學習目標如下圖所示 2.策略 k mean演算法採用的損失函式是平方損失函式。每個簇的點距離中心的平方距離之和構成損失...

機器學習之K means聚類演算法

k均值演算法的計算過程非常直觀 1 從d中隨機取k個元素,作為k個簇的各自的中心。2 分別計算剩下的元素到k個簇中心的相異度,將這些元素分別劃歸到相異度最低的簇。3 根據聚類結果,重新計算k個簇各自的中心,計算方法是取簇中所有元素各自維度的算術平均數。4 將d中全部元素按照新的中心重新聚類。5 重複...