什麼是凝聚層次聚類?


凝聚層次聚類是一種自下而上的聚類方法,其中簇包含子簇,子簇依次包含子簇,依此類推。它從將每個物件放置到其自己的簇開始,然後將這些原子簇合併成越來越大的簇,直到某些物件在一個簇中或直到滿足某個特定的終止條件。有幾種層次聚類方法被用於此目的。它們的區別僅在於它們對簇間相似性的描述。

例如,一種稱為 AGNES(凝聚巢狀)的方法使用單鏈接技術,其工作原理如下。假設有一組物件放置在一個矩形中。最初,每個物件都放置到它自己的簇中。然後,根據某個原則逐步合併簇,該原則涉及合併簇間最近物件之間歐氏距離最小的簇。

層次聚類通常使用樹狀圖以圖形方式顯示,樹狀圖顯示了簇-子簇關聯以及簇合並(凝聚檢視)或分裂(分裂檢視)的順序。

基本的凝聚層次聚類演算法。

  • 計算鄰近矩陣,如果需要。

  • 重複

  • 合併最近的兩個簇。

  • 更新鄰近矩陣以反映新簇與原始簇之間的鄰近性。

  • 直到只剩下一個簇。

簇鄰近性通常根據特定型別的簇來定義。例如,幾種凝聚層次聚類技術,包括 MIN、MAX 和組平均,源於簇的基於圖的檢視。

MIN 將簇鄰近性定義為屬於多個簇的兩個最近點之間的鄰近性,或者使用圖方法,即多個節點子集中兩個節點之間的最短邊。

或者,MAX 將多個簇中最遠的兩個點之間的鄰近性作為簇鄰近性,或者使用圖方法,即不同節點子集中兩個節點之間的最長邊。

提出的凝聚層次聚類演算法需要一個鄰近矩陣。這需要儲存 $\mathrm{\frac{1}{2}m^2}$ 個鄰近性(假設鄰近矩陣是對稱的),其中 m 是資料點的數量。跟蹤簇所需的儲存空間與簇的數量成正比,即 m-1,不包括單例簇。因此,總空間複雜度為 $\mathrm{O(m^2)}$。

關於計算複雜度,基本凝聚層次聚類演算法的分析也很簡單。計算鄰近矩陣需要 $\mathrm{O(m^2)}$ 的時間。在此步驟之後,有 m-1 次迭代包含步驟 3 和 4,因為一開始有 m 個簇,並且在每次迭代期間合併兩個簇。

更新於: 2022年2月14日

3K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.