第 9 章 群集分析:額外的議題與演算法 © 2008 台灣培生教育出版 (Pearson Education Taiwan)
對群集分析有重大影響的資料特性 高維度 大小 稀疏性 雜訊與離群值 屬性和資料集類型 尺度 資料空間與數學特性
分群演算法的一般特性 順序相依 非決定性 延展性 參數選擇 將分群問題轉換至另一個領域 視分群為一個最佳化問題
階層式分群 建立巢狀群集 凝聚式分群演算法藉由每一點為一個單一群集開始 ,接著多次合併兩個最接近的群集,直到剩下包含 所有群集之單一群集為止,以產生階層式分群 MIN (單一鏈結):易受雜訊和離群值的影響 MAX/群平均:無法處理好非球狀的群集 CURE 演算法試圖要處理所有的問題 通常使用鄰近矩陣
CURE:使用凝聚式階層方法 使用多個代表點來表示一個群集 代表點的數量是一個參數,一旦選擇代表點後,這些點會 根據因素而收縮至中心點,通常越遠離中心點則會收縮得 更多 兩個群集之間的距離是任何兩個代表點之間的最小距離( 這兩個代表點收縮至它們的代表中心點之後)
CURE 將代表點收縮至中心點有助於減少離群值的影響 CURE 可以處理大量資料集、離群值,以及非球 形與非一致大小之群集
實驗結果:CURE 圖片取自CURE, Guha, Rastogi, Shim.
實驗結果: CURE (中心點) (單一鏈結) 圖片取自 CURE, Guha, Rastogi, Shim.
CURE 無法處理具有不同密度的群集 CURE 原始點
以圖形為基礎之分群法 圖形為基礎之分群使用鄰近圖形 以圖形為基礎之分群,將尋找群集的工作對應至將 鄰近圖形分割成連結的元素 由建立鄰近矩陣開始 將每一個點視為圖形中的一個節點 連接兩節點的邊會有一權重,表示兩點的鄰近值 最初的臨近圖形是完全連結的 MIN (單一鏈結) 和 MAX (完全鏈結) 是來自群集的圖形 觀點 以圖形為基礎之分群,將尋找群集的工作對應至將 鄰近圖形分割成連結的元素
以圖形為基礎之分群法:稀疏化 大幅減少需要被處理的資料量 稀疏化可淘汰鄰近矩陣中超過 99% 的項目 需要被處理並用在分群中的資料量會大幅減少 可處理的問題大小會增加
以圖形為基礎之分群法:稀疏化 分群會運作得更好 使用圖形分割演算法 當切斷很多距離較遠的物件之連結時,稀疏化技術保留 物件與最近鄰居之鏈結, 這個技術遵守最近鄰居原則( nearest neighbor principle),而物件與最近鄰居會屬 於相同類別(群集),並減少雜訊與離群值的影響,加 強群集之間的差異 使用圖形分割演算法 針對分群流程,鄰近圖形的稀疏化可使用圖形分割演算 法,例如Opossum 和Chameleon 使用圖形分割
使用稀疏化的分群流程
凝聚式階層分群技術是藉由合併兩個最相似的群集 來執行 目前合併機制的限制 凝聚式階層分群技術是藉由合併兩個最相似的群集 來執行 MIN 或 CURE: 根據群集的緊密程度( closeness )來合併兩個群集 群平均: 根據兩個群集之間連結的強度來合併兩個群集
目前合併機制的限制 (a) (b) (c) (d) 根據緊密程度 (a) 和 (b)會被合併 (c) 和 (d) 會被合併
Chameleon:具有動態塑模的階層分群 使用有效的圖形分割演算法,以結合資料初始分割和一個 新的階層分群方法 使用動態塑模來評估群集的相似度 使用緊密程度和相互連結性的概念 若結果群集和兩個原始群集相近,兩個群集應該被合併 使用自我相似度概念來判斷群集是否要被合併 Chameleon 針對空間資料(spatial data)特別有效
Chameleon演算法 Chameleon由三個主要的步驟所構成 稀疏化:產生k-最近鄰圖形 圖形分割:從包含的所有圖形(群集)開始,然後將最 大的子圖形(群集)分為二,直到群集的資料點數量不 大於MIN_SIZE 為止,這裡的MIN_SIZE 是使用者指定 的參數 階層分群:使用凝聚式階層分群合併子群集
實驗結果:Chameleon
實驗結果:Chameleon
實驗結果:CURE (10個群集)
實驗結果:CURE (15個群集)
實驗結果:Chameleon
實驗結果:CURE (9個群集)
實驗結果:CURE (15個群集)
共享最近鄰居(SNN)相似度 只要兩個物件在彼此的最近鄰居列表中,則SNN相似度就是共享鄰居的數量 i j 4 每一個粉紅色的點(i 和 j)有八個包含彼此的最近鄰居,最近鄰居的其中四個點是代表共享的,以綠色的點表示,因此這兩個點( i 和 j )之間共享的最近鄰相似度為4
共享最近鄰居(SNN)相似度 SNN相似度是以點的密度來做自動評估
建立 SNN 圖形 稀疏的圖形 SNN圖形
Jarvis-Patrick 分群演算法 Jarvis-Patrick分群演算法 計算SNN相似度圖形 以SNN相似度來取代兩點間的鄰近值 使用一個門檻值來稀疏化SNN相似度矩陣 範例:最近鄰居列表的大小是20,若有兩個點共 享至少10個點,則這兩個點會被放在相同的群集 中
Jarvis-Patrick 分群的優缺點 優點 善於處理雜訊和離群值 可以處理具有不同大小、形狀與密度之群集 缺點 可能會將一個真正的群集切割,或將應該分開的群集合 併,因此有點難處理
Jarvis-Patrick執行良好的狀況 原始資料
SNN 分群演算法 計算相似度矩陣 運用DBSCAN分群演算法 標示所有的核心點、邊緣點和雜訊點 任何夠接近的兩個核心點放在同一個群集 移除所有的雜訊點 將任何與核心點夠接近的邊緣點放入相同的群集中當成 核心點
SNN 密度 a) 所有點 b) 大的SNN密度 c) 中等的SNN密度 d) 小的SNN密度
SNN分群可以處理不同的密度 SNN分群 原始點
SNN 分群法可以處理其他難處理的狀況
SNN分群之優點與缺點 並不是所有的點都會被分群 SNN分群的時間複雜度很高