作者:Neerja Doshi
編譯:ronghuaiyang
譜聚類,了解直覺以及背後的數學原理
聚類是一種廣泛使用的無監督學習方法。聚類是這樣分組的:集群中的點彼此相似,而與其他集群中的點不太相似。因此,如何在數據中尋找模式並為我們分組取決於算法,根據使用的算法,我們可能最終得到不同的集群。
有兩種廣泛使用的聚類方法:
兩者之間的區別可以很容易地通過這個例子來說明:
在譜聚類中,數據點被視為圖的節點。因此,集群被視為一個圖的分割問題。然後將節點映射到一個低維空間,該空間可以很容易地進行隔離,從而形成集群。需要注意的重要一點是,沒有對集群的形狀/形式做任何假設。
譜聚類的步驟有哪些?
譜聚類包括三個步驟:
步驟1—計算相似圖
我們首先創建一個無向圖G = (V, E),頂點集V = {v1, v2,…,vn} = 1,2,…,n個數據中的觀察值。這可以用一個鄰接矩陣來表示,該矩陣將每個頂點之間的相似性作為其元素。要做到這一點,我們可以計算:
這裡的參數σ控制鄰域的寬度,類似於ε-neighborhood圖中的參數ε。
因此,當我們為這些圖中的任意一個創建鄰接矩陣時,當點很近時Aij ~ 1,當點很遠時Aij0。
考慮一下擁有1~4節點的圖,權值(或相似度)wij及其鄰接矩陣:
步驟2—將數據投影到低維空間
正如我們在圖1中所看到的,相同集群中的數據點可能也很遠—甚至比不同集群中的數據點還要遠。我們的目標是空間轉換,當這兩個點很近的時候,它們總是在同一個集群中,當它們很遠的時候,它們是在不同的集群中。我們需要把觀測結果投射到低維空間。為此,我們計算圖的拉普拉斯矩陣,這只是圖的另一種矩陣表示形式,對於查找圖的有趣的屬性非常有用。這可以計算為:
計算圖的拉普拉斯矩陣
我們上面例子的圖的拉普拉斯矩陣
計算圖的拉普拉斯矩陣L的全部目的是找到它的特徵值和特徵向量,以便將數據點嵌入低維空間。現在,我們可以繼續查找特徵值。我們知道:
我們考慮下面的例子:
我們計算L的特徵值和特徵向量。
步驟3—創建集群
對於這一步,我們使用對應於第二個特徵值的特徵向量來為每個節點賦值。計算時,第二個特徵值為0.189,對應的特徵向量v2 =[0.41, 0.44, 0.37, -0.4, -0.45, -0.37]。
為了得到2聚類(2個不同的聚類),我們首先將v2的每個元素分配給節點,例如{node1:0.41, node2:0.44,…node6: -0.37}。然後,我們對節點進行拆分,使值為> 0的所有節點都位於一個集群中,而所有其他節點都位於另一個集群中。因此,在本例中,我們在一個集群中得到節點1、2和3,在第二個集群中得到節點4、5和6。
需要注意的是,第二個特徵值表示圖中節點的緊密連接程度。對於好的、乾淨的劃分,降低第2個特徵值,讓聚類變得更好。
特徵向量v2給出一個2分聚類
對於k聚類,我們需要修改拉普拉斯矩陣,對它進行歸一化
我們得到:
歸一化的拉普拉斯矩陣
譜聚類的優缺點
優點:
缺點:
英文原文:https://towardsdatascience.com/spectral-clustering-82d3cff3d3b7
更多內容,請關注微信公眾號:AI公園