從樣本相似性到圖
根據我們一般的理解,聚類是將相似的樣本歸為一類,或者說使得同類樣本相似度盡量高,異類樣本相似性盡量低。無論如何,我們需要一個方式度量樣本間的相似性。常用的方式就是引入各種度量,如歐氏距離、余弦相似度、高斯度量等等。
度量的選擇提現了你對樣本或者業務的理解。比如說如果你要比較兩個用戶對音樂選擇的品味,考慮到有些用戶習慣打高分,有些用戶習慣打低分,那么選擇余弦相似度可能會比歐式距離更合理。
現在我們假設已有的樣本為X={x1,x2,…,xn}, 我們選擇的樣本相似性度量函數為(xi,xj)→s(xi,xj),其中s≥0,s越大表示相似性越高。一般我們選擇的是距離的倒數。據此我們可以構造相似性圖,節點為樣本,節點之間的連邊權重為樣本間的相似性,如圖所示。
這是一個完全圖,我們的目的是去掉一些邊,使得這個圖變成K個連通子圖。同一個子圖內的節點歸為一類。因此有兩方面考慮:
- 子圖內的連邊權重盡量大,即同類樣本間盡量相似
- 去掉的邊權重盡量小,即異類樣本間盡量不同
一個初步的優化方法是去掉部分權重小的邊,常用的有兩種方式:
- ϵ准則,即去掉權重小於ϵ的所有邊
- k鄰近准則,即每個節點之保留權最大的幾條邊
現在我們得到一個較為稀疏的圖。
圖與圖的Laplacian矩陣
為了下一步的算法推導,首先介紹圖的Laplacian矩陣,我們記節點i,j連邊的權重為wi,j,如果兩個節點之間沒有連邊,wi,j=0 ,另外wii=0,那么圖對應的Laplacian矩陣為:
L(G,W)=⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜∑j≠1nw1j−w21⋮−wn1−w1,2∑j≠2nw2j⋮−wn2⋯⋯⋱⋯−w1n−w2n⋮∑j≠nnwnj⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟=⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜∑j≠1nw1j∑j≠2nw2j⋱∑j≠nnwnj⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟−⎛⎝⎜⎜⎜⎜⎜w11w21⋮wn1