譜聚類是壹種基於圖論的聚類方法。通過對樣本數據的拉普拉斯矩陣的特征向量進行聚類,可以實現樣本數據的聚類。譜聚類可以理解為將高維空間的數據映射到低維,然後在低維空間用其他聚類算法(如KMeans)進行聚類。
算法步驟
1計算相似矩陣
2計算度矩陣d
3計算拉普拉斯矩陣L=D-W
4計算L的特征值,把特征值從小到大排序,取前k個特征值,把這個特征值向量轉換成矩陣。
5用其他聚類算法對其進行聚類,比如k-means。
詳細公式和概念請上大榭博客。
與PCA降維相比,得到頂k的特征值對應的特征向量,這裏得到頂k的特征值對應的特征向量。然而,上述譜聚類算法並不是最優的。接下來,我們對上述步驟進行逐步分解,總結出譜聚類的優化版本。
Python實現
示例1:使用譜聚類從噪聲背景中分割目標。
翻譯
示例2:圖像中硬幣區域的分割
翻譯
註意
1)當聚類類別數較少時,譜聚類的效果會較好,但當聚類類別數較多時,不推薦譜聚類;
(2)譜聚類算法使用了降維技術,因此更適合對高維數據進行聚類;
(3)譜聚類只需要數據間的相似矩陣,因此對於稀疏數據的聚類非常有效。這對於傳統的聚類算法(如K-Means)來說是比較困難的。
(4)譜聚類算法是基於譜圖理論的。與傳統的聚類算法相比,它可以在任意樣本空間上進行聚類,並收斂到全局最優解。
(5)譜聚類對相似圖的變化和聚類參數的選擇非常敏感;
(6)譜聚類適用於平衡分類問題,即類間點數相差不大,但不適用於類間點數相差較大的聚類問題;
涉及
譜聚類算法簡介
Sklearn官網