聚類是無監督學習的一種,目的是為了對一組沒有標籤的資料,按照特定的特徵,把它們分成不同的類,換句話說,就是把這一組無標籤的的資料中,特徵相近的那些資料聚合成乙個類,聚合成的乙個類叫做乙個簇。
按照資料分布的特點,採用的聚類方法可能會有所不同,常見的聚類演算法包含以下幾種:
基於原型的聚類:對於聚類結果的每乙個簇,我們都可以找到乙個典型的資料來代表這個簇,換句話說,該資料的特徵是這個簇中資料特徵最標準的體現,那麼這個標準資料就叫做這個簇的原型。以普通資料與原型資料之間的距離為標準,可以把所有資料聚合到不同的簇中。
層次聚類:顧名思義,就是在不同層次上對資料進行聚類,如:有一組資料,我們可以先把他們聚成四個簇a、b、c、d,然後通過衡量這四個簇之間的相似度,進一步把這四個簇兩兩聚合(如a和c聚合,b和d聚合),最後得到兩個簇。
基於密度的聚類:把資料中分布密度相同的資料聚合成一類,也就是以資料分布的密度作為聚類的標準。
k-均值聚類(k-means聚類)
k-均值聚類是原型聚類的一種,它以一簇資料的均值作為原型(也叫做聚類中心),通過迭代地進行 求取原型→劃分與原型相近的資料點 的操作來完成聚類目的。k-均值演算法的偽**如下(來自:周志華-《機器學習》):
這裡先隨機確定了k個原型點,表示要將資料集d聚合成k個簇,然後對於資料集中的其他資料點i,各自找出離自己最近的那個原型點j,那麼表示資料點i屬於原型點j所代表的那個簇,對所有的資料點都進行一次上述操作之後,我們就得到了k個簇。當然,由於k個原型點是我們隨機選取的,並不是真正能夠代表乙個簇的原型資料點,所以這樣的聚類結果並不是準確的,我們對於
得到的每個簇,以各簇的均值作為新的原型點,再次進行聚類,之後重複進行「求各簇均值→以各簇均值為新原型點聚類」,直至原型點不再變化,表示我們得到了真正的原型點,同時用的得到了最終的聚類結果。
agnes演算法
agnes演算法是層次聚類演算法的一種,他先將資料集中每個樣本看作乙個初始聚類簇,然後在演算法的每一步找出距離最近的兩個聚類簇進行合併,重複進行上述過程,直至達到預設的聚類簇個數。
如上所說,agnes演算法的每一步都需要計算聚類簇之間的距離以找出距離最近的兩個聚類簇,關於兩個聚類簇之間的距離,有三種可選的計算方法:計算兩個簇中最遠的兩個點的距離作為兩個簇的距離、計算兩個簇中最近的兩個點的距離作為兩個簇的距離、計算兩個簇中所有點兩兩之間的平均距離作為兩個簇之間的距離。三種計算簇距離的公式如下圖(來自 :周志華-《機器學習》):
dbscan演算法
給定資料集d=:
基於上面個兩個概念,乙個樣本的密度描述為:該樣本的ε-鄰域內樣本的個數,minpts對應的就是樣本的閾值,如果乙個樣本的ε-鄰域內樣本個數不少於minpts,則該樣本稱為核心物件,核心物件指的應該是乙個簇中非邊界點的那些點。
如上圖:
1-7行首先將資料集中所有的核心物件找出來放在乙個集合裡,
9行建立乙個集合用來儲存未訪問的那些資料,
10-24行為兩層迴圈,
在外迴圈前半部分,隨機選取乙個未訪問過的核心物件,然後由內迴圈從該物件開始,展開廣度優先搜尋:
17行 將未訪問資料集合中 核心物件ε-鄰域內樣本 放到訪問佇列中來(18行),下一次會對這些鄰域內的樣本進行訪問,並(可能)將它們鄰域中的樣本新增到訪問佇列尾部,以此類推。
由於內迴圈會判斷當前訪問的點是否是核心物件,是的話就把它鄰域中的物件加到訪問佇列中來,不是的話就保留該點自己在訪問佇列中即可,而前面又說核心物件是那些非簇邊界的點,所以訪問佇列中不是核心物件的點就是簇的邊界點,所以內迴圈的判斷語句限制了當訪問到邊界點的時候,不再進行擴充套件(鄰域中的點不加到訪問對像中來)。所以,內迴圈結束後,所有訪問過的物件組成乙個簇。
19行將每次訪問過的物件從未訪問過的物件集合裡刪除,最後剛開始未訪問的資料集去掉內迴圈之後未訪問的資料集就是乙個簇的資料(22行),23行將前面剛得到的那個簇中的核心物件從總核心物件集合中刪除,然後繼續下一次外迴圈,又得到乙個簇,直至所有核心物件都被訪問過,演算法結束。
後續待更新... ...
pang-ning tan, michal steinbach, vipin kumar-《資料探勘導論》(中文版)
聚類演算法學習
聚類是一種非監督學習方法 在乙個典型的監督學習中,我們有乙個有標籤的訓練集,我們的目標是找到能夠區分正 樣本和負樣本的決策邊界,在這裡的監督學習中,我們有一系列標籤,我們需要據此擬合一 個假設函式。與此不同的是,在非監督學習中,我們的資料沒有附帶任何標籤,我們拿到的 資料就是這樣的 在這裡我們有一系...
聚類演算法學習筆記
a 距離和相似度測量 這裡用的是基於先驗知識的個體分類準則。資料物件一般是用一組多維特指向量描述的,該特徵可以是定量的或者是定性的,是連續的或二值的 不連續的 是名詞性的或順序性的,這些性質決定了其相似度的度量法則。定義在資料組x上的不相似函式或距離函式必須滿足以下條件 1 對稱性2 正則性d xi...
AP聚類演算法學習
最近看一篇 發現了這個聚類演算法,在網上找了點資料,怕自己忘了,在這裡將資料整理一下。宣告 下面這段文字 首先簡要介紹一下ap演算法,跟其他聚類演算法的不同之處是,ap在開始時,將所有節點都看成潛在的聚類中心,然後通過節點之間的通訊,去找出最合適的聚類中心,並將其他節點劃分到這些中心下去,所以我們可...