0. 背景
譜聚類在2007年前后十分流行,因為它可以快速的通過標准的線性代數庫來實現,且十分優於傳統的聚類算法,如k-mean等。
至於在任何介紹譜聚類的算法原理上,隨便翻開一個博客,都會有較為詳細的介紹,如這里。當然這些都來自《A Tutorial on Spectral Clustering》一文。為了上下文一致性和便於理解,我就直接截圖別人基於這篇論文中翻譯好的部分(偷懶):
- 1 - 無向權重圖:譜聚類是基於圖論結構,也是數據結構的毗鄰矩陣來實現的,即將所有的點的看成是一個相互連接的圖(graph);
上圖中\(|A|\)即為聚類后的一個類別的數據點集合;- 2 - 相似矩陣:通過定義相似函數,計算不同點之間的相似性,將其作為兩點之間連線上的權重值。相距越近,則權重越大,越遠則權重值越小;
其中第三種全連接方法的高斯方差決定了近鄰的范圍是多大;- 3 - 最后當然就是想着怎么把圖給切割開,fisher准則就是聚類的目的為:類內間距最小,類間間距最大。從而期望於切割整個圖之后,子圖之間連線的權重之和最小;
1. 譜聚類
如上述第三點所述,當我們構建了圖,定義了相似函數,得到了毗鄰矩陣和度矩陣之后。一步到位的想法就是怎么切割,不過顯然還是需要其他知識介入。
譜聚類可以通過線性代數關於這兩個矩陣的特征值和特征向量來考慮,而通過這兩個矩陣組合的叫做圖拉普拉斯矩陣“graph laplacian matrices”。有個領域叫做“spectral graph theory”,研究了不少這些矩陣的特性,這么說是圖拉普拉斯矩陣不止一個形式。
1.1 未歸一化的圖拉普拉斯矩陣
我們總假設\(G\)是一個無向的,具有權重矩陣\(W\)的權重圖,其中\(w_{ij}=w_{ji}>0\)。當使用這個矩陣的特征向量時,不需要進行歸一化,且特征值以升序排序。前k個特征向量,表示的就是前k個最小特征值對應的特征向量。
未歸一化的拉普拉斯矩陣的特性
上述中,涉及到幾個線性代數的知識:
- 一個實數對稱矩陣的所有特征值都是實數(來自《introduction to linear algebra》chapter 6.4)
- 證明一個矩陣是半正定的方式如下(來自《introduction to linear algebra》chapter 6.5)
值得注意的是,上述的拉普拉斯矩陣是未歸一化的,該矩陣不依賴於毗鄰矩陣\(W\)的對角元素,且所有非對角位置上與W一致的鄰接矩陣可以得到相同的非歸一化的拉普拉斯矩陣,即圖中所有的自連接的點不影響對應的圖拉普拉斯,即點之間的關系才影響。
非歸一化的圖拉普拉斯矩陣和他的特征值和特征向量可以用來描述圖的許多特性,下面的參考文獻中Mohar等人的工作有較為詳細的研究。
聯通子圖的個數
假設\(G\)是一個無向圖,其中的權重都是非負的。那么特征值0的自由度個數(原文叫multiplicity,重數)等於聯通子圖的個數,即假設有k個重數,那么就有\(A_1,A_2,...A_k\)個子圖,且特征值0的特征空間可以通過指示向量(基向量)表示。
證明:
- k=1:即整個圖被歸為1類,假設\(f\)是特征值0的特征向量,那么:
因為\(w_{ij}\)是非負的,所以和為0的時候即\(w_{ij}(f_i-f_j)^2\)等於0,那么假設兩個點是相連的,即\(w_{ij}>0\),那么\(f_i=f_j\)。這樣的話,可以發現對於所有可以通過某個路徑進行相連的所有點,在\(f\)中的值都是相同的。那么如果只有一個類別,那么就只有一個向量。我們舉個例子,假設有一個圖,其中3個節點,兩兩相連,權重值都為1:
![]()
![]()
可以看出,第二個特征值為0(近似),其對應的特征向量為\([-0.57,-0.57,-0.57]=-0.57*[1,1,1]\),而\([1,1,1]\)被稱為常量向量- k=其他值。
不失一般性,假設圖中的所有的點都是按照其對應的子圖類進行有序排列的,在這種情況下,毗鄰矩陣\(W\)可以變成一個塊矩陣組成的形式,當然對於\(L\)也是一樣的:
可以發現每個塊\(L_i\)都是一個對應的圖拉普拉斯子矩陣,對應着第\(i\)個連通子圖。那么依據矩陣的知識,相當於將整個矩陣划分成相同特性的多個子矩陣,其中\(L\)的特征向量就等於第\(L_i\)個特征向量的值加上其他子矩陣維度上為0。且\(L_i\)是一個聯通圖,那么其就有特征值為0且所有元素為1的特征向量。因此,矩陣\(L\)的子矩陣中特征值為0的個數就等於聯通子圖的個數。
1.2 歸一化的圖拉普拉斯矩陣
有2個矩陣被稱為歸一化的圖拉普拉斯。這兩個矩陣較為相似:
第一個矩陣是一個對稱矩陣,第二個和隨機游走十分相關。關於歸一化圖拉普拉斯矩陣的知識,可以參見參考文獻中Chung的
\(L_{sym}\)和\(L_{rw}\)的特性
這兩個歸一化的拉普拉斯矩陣具有以下特性:
- 1 - 對於任何向量\(f\in R^n\),有:
- 2 - 有且僅有\(\lambda\)和\(w=D^{1/2}u\)分別是\(L_{sym}\)的特征值和特征向量時,\(\lambda\)和\(u\)就是是\(L_{rw}\)的特征值和特征向量;
- 3 - 有且僅有\(\lambda\)和\(u\)滿足\(Lu=\lambda Du\)時,\(\lambda\)和\(u\)是\(L_{rw}\)的特征值和特征向量
- 4 - 0和常量向量
是\(L_{rw}\)的特征值和特征向量,0和\(D^{1/2}\)
是\(L_{sym}\)的特征值和特征向量
- 5 - \(L_{sym}\)和\(L_{rw}\)都是半正定的,且有n個非零的實值特征值,\(0\leq \lambda_1 \leq \lambda_2 ...\leq \lambda_n\)
聯通子圖的個數
假設\(G\)是一個無向圖,其中權重都是非負的,那么\(L_{rw}\)和\(L_{sym}\)的特征值為0的自由度個數等於圖中聯通子圖的個數,
- 對於\(L_{rw}\),其0特征值對應的特征空間的基向量為這些子圖對應的指示向量
;
- 對於\(L_{sym}\),其0特征值的特征空間的基向量為
可以看出,上述就是第4個特性。將未歸一化的拉普拉斯的聯通子圖的個數的推論等效應用到歸一化的拉普拉斯矩陣上即可。
2.聚類方法
對於第一種未歸一化的拉普拉斯矩陣情況:
上述步驟可以簡單歸納為:
- 1 - 選擇合適的相似函數,計算相似矩陣
- 2 - 計算度矩陣\(D\),毗鄰權重矩陣\(W\),從而建立拉普拉斯矩陣\(L\)
- 3 - 計算拉普拉斯矩陣\(L\)的前k個特征向量,組成矩陣\(n\times k\)
- 4 - 用k-mean算法將上述的特征向量矩陣按行為樣本(即\(n\)個樣本),列為特征(即k個特征)進行k個類別的聚類。
對於第二種歸一化的拉普拉斯矩陣情況,因為有2種矩陣,故而有兩種情況:
- 上述圖中,該算法使用的是\(L\)的廣義特征向量。上述流程作用於\(L_{rw}\),所以稱為歸一化的譜聚類。
- 上述圖中,該算法使用的是\(L_{sym}\),並且添加了一個額外的行歸一化,同樣也是歸一化的譜聚類。
上述三個算法都基本大同小異,除了他們使用的是不同的拉普拉斯矩陣。這三個算法中,最主要的技巧就是將抽象的數據點\(x_i\)的表征轉換成\(y_i\in R^k\)。這是因為拉普拉斯矩陣的特性可以讓這樣的轉變十分有用。而且表征的轉變增強了數據中的聚類屬性,從而可以輕松的在新的表征中進行檢測類的聚合。
【待續。。。】
參考文獻:
[] 1 - Mohar, B. (1991). The Laplacian spectrum of graphs. In Graph theory, combinatorics, and applications. Vol. 2 (Kalamazoo, MI, 1988) (pp. 871 { 898). New York: Wiley
[] 2 - Mohar, B. (1997). Some applications of Laplace eigenvalues of graphs. In G. Hahn and G. Sabidussi (Eds.), Graph Symmetry: Algebraic Methods and Applications (Vol. NATO ASI Ser. C 497, pp. 225 { 275). Kluwer
[] 3 - Chung, F. (1997). Spectral graph theory (Vol. 92 of the CBMS Regional Conference Series in Mathematics). Conference Board of the Mathematical Sciences, Washington