1. 程式人生 > >層次聚類方法(Hierarchical Clustering)

層次聚類方法(Hierarchical Clustering)

層次聚類方法(Hierarchical Clustering

層次聚類就是通過對資料集按照某種方法進行層次分解,直到滿足某種條件為止。按照分類原理的不同,可以分為凝聚和分裂兩種方法。

層次聚類方法對給定的資料集進行層次的分解,直到某種條件滿足為止。具體又可分為凝聚的,分裂的兩種方案。 1凝聚的層次聚類是一種自底向上的策略,首先將每個物件作為一個簇,然後合併這些原子簇為越來越大的簇,直到所有的物件都在一個簇中,或者某個終結條件被滿足,絕大多數層次聚類方法屬於這一類,它們只是在簇間相似度的定義上有所不同。 2分裂的層次聚類與凝聚的層次聚類相反,採用自頂向下的策略,它首先將所有物件置於同一個簇中,然後逐漸細分為越來越小的簇,直到每個物件自成一簇,或者達到了某個終止條件。 層次凝聚的代表是AGNES演算法,層次分裂的代表是DIANA演算法。

聚類原理
編輯

給定要聚類的N的物件以及N*N的距離矩陣(或者是相似性矩陣), 層次式聚類方法的基本步驟(參看S.C. Johnson in 1967)如下:
  1. 將每個物件歸為一類, 共得到N類, 每類僅包含一個物件. 類與類之間的距離就是它們所包含的物件之間的距離.
  2. 找到最接近的兩個類併合併成一類, 於是總的類數少了一個.
  3. 重新計算新的類與所有舊類之間的距離.
  4. 重複第2步和第3步, 直到最後合併成一個類為止(此類包含了N個物件).
  5. 聚類分類編輯

    根據聚類原理步驟3的不同, 可將層次式聚類方法分為幾類: single-linkage, complete-linkage 以及average-linkage 聚類方法等.

    SL層次聚類

    SL聚類,即single-linkage聚類法(也稱connectedness 或minimum 方法): 類間距離等於兩類物件之間的最小距離,若用相似度衡量,則是各類中的任一物件與另一類中任一物件的最大相似度。

    CL層次聚類

    CL層次聚類,即complete-linkage聚類法(也稱diameter 或maximum 方法): 組間距離等於兩組物件之間的最大距離。

    AL層次聚類

    AL層次聚類,即average-linkage聚類法組間距離等於兩組物件之間的平均距離。 average-link 聚類的一個變種是R. D'Andrade (1978) 的UCLUS方法, 它使用的是median距離, 在受異常資料物件的影響方面, 它要比平均距離表現更佳一些. 這種層次聚類稱為“凝聚"法,由於它迭代合併所有分類。也有一種“劃分”層次聚類法,與“凝聚”相反,它先將所有物件放在同一類中,並不斷劃分成更小的類,劃分法一般很少使用。