層次聚類演算法(一)

2021-07-27 11:34:23 字數 1077 閱讀 6246

層次聚類(hierarchical clustering)試圖在不同層次上對資料集進行劃分,從而形成樹形的聚類結構,資料集的劃分可採用「自底向上」的聚合策略,也可以採用「自頂向下」的分拆策略。即層次聚類可以是凝聚的也可以是**的。

凝聚的層次聚類方法使用自底向上的策略。即剛開始每個點都認為是乙個簇,然後在迭代過程中,不斷的合併直到滿足某種條件。在合併步驟中,它找出最相近的簇(「最相近」的衡量標準可以子集設定),並且合併他們,形成乙個簇。

**的層次聚類方法使用自頂向下的策略,即把所有的物件都放到乙個簇中開始。不斷向下劃分,知道滿足某種設定的條件。

不管是凝聚的還是**的方法,乙個核心問題就是度量兩個簇之間的距離。

度量方式主要有一下幾種:

層次聚類演算法也是基於距離來衡量相似性的,不過距離衡量的是簇的相似性,層次聚類也是旨在發現球形簇。

當使用最小距離來度量兩個簇之間的距離時,有時被稱為最近鄰聚類演算法當最近的兩個簇之間的距離超過設定的閾值之後,迭代就會終止,則其成為單連線演算法。(最小距離由兩個簇中的最近的兩個樣本決定)

當使用最大距離來度量兩個簇之間的距離時,有時被稱為最遠鄰聚類演算法。如果最近的兩個簇之間的最遠距離大於某個設定的閾值,迭代終止,稱為全連線演算法。(最大距離由連個簇中最大的連個樣本決定)

最小/最大距離代表了簇間距離距離度量的兩個極端,對離群點以及雜訊點過分敏感,使用均值距離/平均距離是一種折中的辦法,可以克服離群點等的影響。均值距離計算簡單,但是平均距離既能處理數值資料也可以處理分類資料。

**或者是凝聚的層次聚類演算法,形式都是一樣的,在這裡我們以自底向上的凝聚的聚類演算法為例,簡單闡述一下層次聚類的基本思想:

所謂從下而上地合併cluster,具體而言,就是每次找到距離最短的兩個cluster,然後進行合併成乙個大的cluster,直到全部合併為乙個cluster。整個過程就是建立乙個樹結構,類似於下圖。看懂了自底向上的凝聚的聚類結構形式,那麼自頂向下的形式也就懂了。

聚類演算法 層次聚類演算法

層次聚類演算法 hierarchical clustering method 又稱為系統聚類法 分級聚類法。層次聚類演算法又分為兩種形式 凝聚層次聚類 首先將每個物件作為乙個簇,然後合併這些原子簇為越來越大的簇,直到某個終結條件被滿足。層次聚類 首先將所有物件置於乙個簇中,然後逐漸細分為越來越小的簇...

層次聚類演算法(二)

上篇博文簡單的講述了層次聚類的基本概念,接下來就是具體的講述凝聚的聚類演算法agnes演算法與 的聚類演算法diana聚類演算法。agnes演算法 演算法描述 輸入 包含n個物件的資料庫,終止條件簇的數目k 輸出 k個簇 1 將每個物件當成乙個初始簇 2 repeat 3 根據兩個簇中最近的資料點找...

層次聚類演算法(三)

上邊博文學習了一下agnes演算法與diana演算法,針對伸縮性差一級不能撤銷先前步驟所做的工作,學習一下birch聚類演算法。birch演算法 balanced iterative reducing and clustering using hierarchies.利用層次結構的平衡迭代規約和聚類...