1. 程式人生 > >譜聚類演算法及圖分割演算法

譜聚類演算法及圖分割演算法

譜聚類演算法

  譜聚類演算法由於其演算法流程簡單、計算簡潔與 Kmeans 演算法相比不容易陷入區域性最優解,能夠對高維度、非常規分佈的資料進行聚類。譜聚類演算法是利用圖譜理論來進行演算法分析,思想是把資料分析問題看成是圖的最優分割問題,將資料樣本看成是各個資料點,然後將資料點描繪成一個圖表,根據圖表關係計算出相應的相似矩陣,找到一種最優分割方法計算出相似矩陣的最小特徵向量,最後利用相應演算法得出最後的聚類結果。

  譜聚類演算法是將樣本點看成為一個個頂點,將頂點之間用帶權的邊連線起來,帶權的邊可以看成是頂點之間的相似度。聚類從而可以看成如何分割這些帶權的邊,繼而將聚類問題轉化為怎麼進行圖分割的問題,但是如果這樣的話新的問題又產生了,那就是怎樣找到一種最優方法來劃分這個圖,才能使同組之間的樣本權重儘可能高,不同組的權重儘可能的低。權重太低的邊是多餘的就要捨去,常用保留邊的方法是要建立最鄰近圖譜,在最鄰近圖譜中每個頂點只與K 個相似度最高的點連線,其餘的邊是要捨棄的邊。

  建立最鄰近圖譜的方法就是把聚類問題轉化為圖分割的問題,轉化之後就存在兩個問題:(1)資料點與資料點之間的相似度的定義;(2)建立最鄰近圖譜之後要從哪條邊或者從哪些邊分割最優。

相似度表示方法

  資料點之間的相似程度由邊的權重表示,常用方法的有餘弦相似度、高斯函式。

餘弦相似度

這裡寫圖片描述

高斯函式

這裡寫圖片描述

圖分割演算法

常用的分割方法有:

最小分割法(Minimum Cut)

  假如將一個圖G 劃分為A,B 兩個子圖, 那麼目標函式可以理解為。此種方法對於規範的資料利用目標函式對影象進行分割效果較好,但對於非規範的資料此目標函式會出現偏向最小分割的結果。

這裡寫圖片描述

規範化分割(Normalized Cut)

這裡寫圖片描述

  其中Cut(A,B)表示 A,B 兩個子圖的相似程度,sumA 表示 A 圖中所有點的權值之和,規範化分割方法對於非規範的資料也比較試用。

最小最大分割準則(Min-max Cut)

  最小最大分割準則要求最小化Cut(A,B)的同時,最大化sum(A,A)與sum(B,B)。

這裡寫圖片描述

比例分割法(Ratio Cut)

這裡寫圖片描述

  其中|A|,|B|分別表示子圖 A,B中頂點的個數,目標 Rcut 函式只簡單考慮到如何使 A,B兩個子圖間的相似性最小,這樣可以減少分割的次數。

譜聚類分割方法

譜聚類分割方法如下:

這裡寫圖片描述

(1)根據輸入資料構建相似矩陣W;

這裡寫圖片描述

(2)利用相似矩陣W 計算出對角矩陣D和規範化Laplacian 矩陣L; 關於Laplacian矩陣請參考圖的Laplacian矩陣。

這裡寫圖片描述

這裡寫圖片描述
這裡寫圖片描述

(3)計算出矩陣L前K個最小特徵值及其對應的特徵向量,組成新的矩陣,矩陣的行數為樣本數N,列數為K;

(4)利用Kmeans 演算法進行聚類。