譜聚類概述

2021-08-20 06:10:35 字數 2137 閱讀 5390

一、簡述

聚類是對探索性資料分析最廣泛使用的技術,在現在各個科學領域中處理沒有類標的資料時,人們總是想通過確定資料中不同樣本的歸類,來獲取對資料的直觀印象。傳統的聚類方法有很多,像k-means,single linkage等,但是k-means演算法有些缺點,比如當樣本維度特別大的時候,k-means的計算量是很大的。最近幾年時間,譜聚類成為了最受歡迎的聚類演算法,它很容易執行,能夠用標準的線代軟體高效地解決,而且比傳統的聚類演算法比如k-means表現效果要好很多。不管怎樣,初次一瞥譜聚類時看起來很神秘,不太能弄透為什麼譜聚類能夠用於聚類。為了介紹譜聚類到底如何能夠作聚類,我們需要先了解相似度矩陣,拉普拉斯矩陣的概念,然後才能最終理解譜聚類原理。

二、圖相關的符號標記

現有給定樣本x_1,……x_n,想要用譜聚類來給這些樣本集進行聚類的話,需要將這些樣本之間的聯絡用圖的形式來表示。在這裡介紹下圖的相關符號。假設有若干個樣本x_i被歸為一類,該集合為a。這裡先給出相關需要的概念,剛看到不理解不用擔心,先記住他們是做什麼的就行。

設定:1)譜聚類中,我們需要描述樣本與樣本間的聯絡,這時候需要構建乙個圖。g=(v,e)是乙個無向圖,其中v=代表這些樣本點,e是代表不同點之間相似度,其中e_ij代表v_i與v_j之間的權值(有多種方式構建此相似度),用w_ij表示,其中w_ij>=0,構成了鄰接矩陣w(兩樣本v_i與v_j之間有連線則w_ij>0,無連線則w_ij=0),因為g是無向圖,所以可知道w_ij=w_ji。

2)度矩陣d,其中,代表v_i樣本與其他v_j樣本的權重之和。

三、相似度矩陣s

譜聚類演算法需要的輸入是乙個圖,該圖包含了所有樣本與樣本之間的相似度,該圖為乙個矩陣,大小是n*n。這樣通過某種標準定義了樣本之間聯絡構建出來的矩陣,我們叫做它相似度矩陣。有很多種構建相似度矩陣的方式,比如k近鄰構建的相似度矩陣,高斯相似度矩陣等,eg:用高斯相似度s(x,y)計算兩樣本間的聯絡時:

其他相似度構造標準在此不再詳細闡述,你需要知道,這些不同的構建相似度矩陣的方式,他們有各自對樣本間相似度的構建標準,通過他們,給定的樣本就能變成乙個相似度矩陣s,s_ij代表樣本v_i與v_j之間相似度,這裡的出的s_ij矩陣其實就是用作於後邊的w_ij鄰接矩陣。這裡需要指出的是,目前還沒有理論結果指明在不同的資料訓練中使用哪種方案構建相似度矩陣最合適。

四.拉普拉斯矩陣l性質

譜聚類中最重要的工具就是拉普拉斯矩陣,在這裡我們給出拉普拉斯矩陣的定義和一些他的重要性質。之前上文已經給出了一些相關符號的定義,我們已經根據不同的相似度標準求出了樣本與樣本之間的相似度,構建了鄰接矩陣w。這裡我們也知道了度矩陣d:

而譜聚類中所需要的最重要的拉普拉斯矩陣l:

l=d-w

拉普拉斯矩陣有如下的一些重要性質:

以上就是拉普拉斯矩陣l所具有的一些重要的性質,證明比較多,本次講解就不詳細展開,以後會將其單獨羅列出來並講下譜聚類更深入的細節,體會下當初發明人多麼巧妙的用拉普拉斯矩陣去解決樣本的均勻聚類問題。

五.譜聚類演算法

將所有的樣本構建成乙個圖,x_i與x_j之間的關聯程度構建了圖對應的邊。那現在我們就得到了乙個圖,圖上有所有樣本和樣本間的聯絡。譜聚類演算法是對這個圖進行合理的切分,分成幾類,這樣切分得到的每類都比較均勻。

輸入:樣本x_i,需要聚類的個數k

輸出:k個類,每個樣本標記聚成的類別。

譜聚類切割出來的圖的特點,他會讓所切分的樣本構建的圖比較均勻。

六.總結

本次只是簡單的闡述了下譜聚類所需要的一些相關和演算法流程。想要對樣本進行合理的切割,用譜聚類演算法相對於傳統的k-means演算法會更高效,聚類的效果會均勻。譜聚類需要先將樣本通過某種標準計算出樣本間的相似度構建成相似度矩陣,也就是鄰接矩陣。然後計算拉普拉斯矩陣,求出拉普拉斯矩陣對應的前k個最小的特徵值,得到對應的特徵向量組成的矩陣v後,用v來給樣本在低維度上進行聚類,相比k-means直接對樣本聚類會更快。剛開始你需要先了解譜聚類的整個運作流程。然後再帶著這個流程去分析每一部分會更好理解些。本次講解並沒有涉及深層次的原理,比如為什麼用拉普拉斯矩陣能夠解決圖的均勻分割問題,拉普拉斯矩陣的這些性質怎麼得來的,並且直觀上這些性質意味著什麼。我會在下次詳細講解這些性質的由來,並講解通過拉普拉斯矩陣如何去巧妙地解決聚類問題。

20150916譜聚類學習

什麼是譜聚類?譜聚類的思想是生成乙個帶權無向圖g。g的每個頂點表示乙個樣本,連線頂點的邊表示兩個樣本之間具有相似性,邊的權值即樣本之間的相似度大小。然後對圖進行分割,使得不同組之間的邊的相似度盡可能的小,組內邊的相似度盡可能的大。因此,譜聚類需要解決兩個問題 如何生成帶權無向圖g?如何對圖進行分割?...

機器學習 譜聚類

譜聚類,譜就是指矩陣所有的特徵值的集合 而矩陣指的是由所有資料形成的圖的laplacian矩陣。因此譜聚類就是計算資料的laplacian矩陣的特徵向量,再取特徵向量中的一部分進行kmeans聚類。but,為什麼是laplacian矩陣?為什麼不直接對原始資料kmeans聚類?這也就是譜聚類實現起來...

機器學習 譜聚類

聚類確實是將相似的樣本歸為一類,使同類樣本相似度盡可能高,異類的相似性盡可能低。譜聚類 是採用圖的思想。樣本點作為圖中的點,邊為樣本點之間的相似度。所以譜聚類就是想去邊,去掉邊的權重盡量小,即異類樣本間盡量不同 子圖內邊的權重盡量大,同類樣本盡可能相似。n 知識點 核函式的理解 就是高維空間中的兩個...