第八章(2) 聚類 凝聚層次聚類

2021-08-29 18:52:43 字數 1065 閱讀 1886

有兩種產生層次聚類的方法:

凝聚的:從點作為個體簇開始,每一步合併兩個最接近的簇,這需要定義簇的鄰近性概念

**的:從包含所有點的某個簇開始,每一步**乙個簇,直到剩下單點簇,需要確定每一步**哪個簇,如何**

基本凝聚:

定義簇之間的鄰近性:簇的鄰近性通常用特定的簇型別定義;凝聚層次聚類源於基於圖的聚類,有下面3種:

min(單鏈):簇的鄰近度為不同簇的兩個最近的點之間的鄰近度

max(全鏈):簇的鄰近度為不同簇的兩個最遠的點之間的鄰近度

組平均:簇的鄰近度為不同簇的所有點對的鄰近度的平均值

而取基於原型的聚類,簇用質心代替,則不同簇的鄰近度的定義為簇質心之間的鄰近度;而ward方法通過合併兩個簇導致的sse增加來度量兩個簇之間的鄰近度(當然ward方法的合併後的質心也是保證了目前簇的sse最小)

特殊技術:

全鏈:也是最短的鏈先加,點被完全連線則為簇;對雜訊和離群點不敏感,可能使大的簇破裂,偏好球形

組平均:簇間的所有點對的組合的鄰近度的平均

ward方法:簇的鄰近度的定義為兩個簇合併時導致的平方誤差的增量(最小)

質心方法:計算簇的質心之間的距離來計算簇的鄰近度(合併的兩個簇可能比前一步合併的簇對更相似,而其他方法被合併簇之間的距離隨層次聚類進展單調增加)

簇鄰近度的lance-williams公式:以上的任意簇鄰近度可以看作該公式中兩個簇之間鄰近度的不同引數的一種選擇

層次聚類的問題:

缺乏全域性目標函式:在每一步區域性的確定哪些簇應當合併

處理不同大小簇的能力:如何處理待合併的簇對的相對大小:

加權:平等的對待所有簇,則賦予不同大小簇中的點不同的權值

非加權:考慮每個簇的點數,所有簇中的點有相同的權值;通常,非加權更可取

合併決策是最終的:合併的決策做出後不能撤銷;改進方法是:

移動樹的分支以改善全域性目標函式

劃分聚類技術來建立小簇,然後對這些小簇層次聚類

層次聚類的優缺點:實際上使用這種演算法是因為基本應用需要層次結構,且聚類質量較高;缺點是開銷大,合併不能撤銷則對雜訊和高維資料造成影響;可以先用劃分聚類(k均值)來先部分聚類,這樣問題可以解決

Python聚類演算法之凝聚層次聚類例項分析

凝聚層次聚類 所謂凝聚的,指的是該演算法初始時,將每個點作為乙個簇,每一步合併兩個最接近的簇。另外即使到最後,對於噪音點或是離群點也往往還是各佔一簇的,除非過度合併。對於這裡的 最接近 有下面三種定義。我在實現是使用了min,該方法在合併時,只要依次取當前最近的點對,如果這個點對當前不在乙個簇中,將...

初識聚類演算法 K均值 凝聚層次聚類和DBSCAN

聚類分析就僅根據在資料中發現的描述物件及其關係的資訊,將資料物件分組 簇 其目標是,組內的物件相互之間是相似的,而不同組中的物件是不同的。組內相似性越大,組間差別越大,聚類就越好。先介紹下聚類的不同型別,通常有以下幾種 1 層次的與劃分的 如果允許簇具有子簇,則我們得到乙個層次聚類。層次聚類是巢狀簇...

初識聚類演算法 K均值 凝聚層次聚類和DBSCAN

聚類分析就僅根據在資料中發現的描述物件及其關係的資訊,將資料物件分組 簇 其目標是,組內的物件相互之間是相似的,而不同組中的物件是不同的。組內相似性越大,組 間差別越大,聚類就越好。先介紹下聚類的不同型別,通常有以下幾種 1 層次的與劃分的 如果允許簇具有子簇,則我們得到乙個層次聚類。層次聚類是巢狀...