1. 程式人生 > >譜聚類演算法詳解

譜聚類演算法詳解

  譜聚類(Spectral Clustering)演算法簡單易行,其聚類效能優於傳統的K-means演算法。譜聚類將資料的劃分轉化為對圖的分割,是一種基於圖論的聚類方法,其直觀理解為根據圖內點的相似度將圖分為多個子圖,使子圖內部的點相似度最高,子圖之間點的相似度最低。

1. 圖論基礎

1.1 圖的表示

  記G=(V,E)表示一個無向加權圖,V表示所有頂點的集合V={v1,...,vn}E表示所有邊的集合,並且任意兩點vivj的邊具有非負權值wij0。圖的鄰接矩陣為W=(wij)i,j=1,...,n,如果wij=0則表示點vivj之間沒有連線。由於G為無向圖,所以其鄰接矩陣具有對稱性,即w

ij=wij。圖中任一點vi的度為di=nj=1wij,表示一個點與其他所有點的連線情況,圖的度矩陣D為每個點的度所構成的對角矩陣D=diag{d1,...,dn}

1.2 相似度圖的構造方法

  給定一組資料集V={v1,...,vn},將其構造為相似度圖的意義在於描述點對之間的區域性近鄰關係。此處介紹三種構造相似度圖的方法。
  (1)ε近鄰圖。如果兩點之間的距離小於給定值ε,則連線兩點。ε的值需要根據圖中各點的距離選擇,使與某一點連線的點不會太多,也不會太少。
  (2)k近鄰圖。如果點vjvik近鄰點之一,則連線兩點。由於近鄰點的非相互性,按此方法構造的鄰接矩陣不對稱,一種方法是採取“或”的方式,即如果v

jvik近鄰點之一,或vivjk近鄰點之一,則連線兩點;另一種方法是採取“與”的方式,如果vjvi的k近鄰點之一,並且vivj的k近鄰點之一,則連線兩點。
  (3)全連線圖。不考慮任何因素,直接將所有的點兩兩相連,由於圖表示點之間的區域性鄰接特性,常用的相似性函式為s(xi,xj)=exp(xixj22σ2)

1.3 圖的Laplacian矩陣

  這裡我們要講到譜聚類中的關鍵內容——拉普拉斯矩陣,其定義為L=DW,其中DW就是上文定義的圖的度矩陣和鄰接矩陣。下面我們給出譜聚類中用到的拉普拉斯矩陣的一些性質。
  (1)對任意的向量fRn,有fTLf=

12i,j=1nwij(fifj)2
  證明:(此處用到了W的對稱性)

fTLf=fTDffTWf=i=1nf2idii,j=1n

相關推薦

演算法

  譜聚類(Spectral Clustering)演算法簡單易行,其聚類效能優於傳統的K-means演算法。譜聚類將資料的劃分轉化為對圖的分割,是一種基於圖論的聚類方法,其直觀理解為根據圖內點的相似度將圖分為多個子圖,使子圖內部的點相似度最高,子圖之間點的相似

K-means演算法

K-means也是聚類演算法中最簡單的一種了,但是裡面包含的思想卻是不一般。最早我使用並實現這個演算法是在學習韓爺爺那本資料探勘的書中,那本書比較注重應用。看了Andrew Ng的這個講義後才有些明白K-means後面包含的EM思想。 聚類屬於無監督學習,以往的迴歸、樸素貝

機器學習(25)之K-Means演算法

微信公眾號 關鍵字全網搜尋最新排名 【機器學習演算法】:排名第一 【機器學習】:排名第一 【Python】:排名第三 【演算法】:排名第四 前言 K-Means演算法是無監督的聚類演算法,它實現起來比較簡單,聚類效果也不錯,因此應用很廣泛。K-Means演算法有大量的變體,本文就從最傳統的K-Means演算

FCM演算法原理及應用

【之前】 該文的pdf清晰版已被整理上傳,方便儲存學習,下載地址: (一)原理部分 模糊C均值(Fuzzy C-means)演算法簡稱FCM演算法,是一種基於目標函式的模糊聚類演算法,主要用於資料的聚類分析。理論成熟,應用廣泛,是一種優秀的聚類演算法。本

演算法入門教程(三)—— 求f^TLf的最小值

在上一篇部落格中,我們知道目標函式變為 argmin⁡f∈R6fTLfarg \min \limits_{f \in \R^6} f^TLfargf∈R6min​fTLf,即找到一個fff,使得 fTLff^TLffTLf 取得最小值 這篇部落格將通過求導的方

【無監督學習】5:演算法原理介紹

前言:學習譜聚類,最好有一些圖論、矩陣分解(SVD)方面的知識,這樣會更加有利於譜聚類的學習。當然,譜聚類理解起來並不困難,實際操作也大多是譜聚類+K-means聚類聯合使用的。 –—-—-—-—-—-—-—-—-—-—-—-—–—-—-—-—-—-—-—-—

演算法講解

什麼是譜聚類? 聚類的直觀解釋是根據樣本間相似度,將它們分成不同組。譜聚類的思想是將樣本看作頂點,樣本間的相似度看作帶權的邊,從而將聚類問題轉為圖分割問題:找到一種圖分割的方法使得連線不同組的邊的權重儘可能低(這意味著組間相似度要儘可能低),組內的邊的權重儘可能高(這意

演算法Matlab快速實現

%Ncut譜聚類完整函式定義(儲存為.m檔案): function C = SpectralClustering(data,k,a)     %data是資料點矩陣  K是聚類個數  a代表高斯核函式的引數 %UNTITLED Summary of this functio

瞭解 kmeans演算法演算法

譜聚類演算法 不過真正要直觀地理解譜聚類,其實應該從物理的簡正模振動的角度來理解。你可以認為每兩個點之間都有一個彈簧連著,把兩個點之間的相似度理解為它們的彈簧係數,每個特徵向量就是這個系統的運動

——演算法以及Python實現

譜聚類(spectral cluster)可以視為一種改進的Kmeans的聚類演算法。常用來進行影象分割。缺點是需要指定簇的個數,難以構建合適的相似度矩陣。優點是簡單易實現。相比Kmeans而言,處理高維資料更合適。 核心思想 構建樣本點的相似度矩陣(圖

演算法及其程式碼(Spectral Clustering)

簡介 文章將介紹譜聚類(spectral clustering)的基本演算法,以及在matlab下的程式碼實現。介紹內容將包括: 從圖分割角度直觀理解譜聚類譜聚類演算法步驟資料以及實現程式碼 本文將不會涉及細節化的證明和推導,如有興趣可參考july大

演算法(Spectral Clustering)

    譜聚類(Spectral Clustering, SC)是一種基於圖論的聚類方法——將帶權無向圖劃分為兩個或兩個以上的最優子圖,使子圖內部儘量相似,而子圖間距離儘量距離較遠,以達到常見的聚類的目的。其中的最優是指最優目標函式不同,可以是割邊最小分割——如圖1的Smallest cut(如後文的M

演算法 matlab

1、譜聚類演算法步驟公式 (1)整理資料集,使資料集中資料在0-1之間。假設資料集m行n列。 (2)求鄰接矩陣W。元素值為每一點到其他點之間距離,即權重。 (3)求相似度矩陣S,相似度矩陣的定義。相似度矩陣由權值矩陣得到,實踐中一般用高斯核函式(也稱徑向基

演算法(Spectral Clustering)優化與擴充套件

    譜聚類(Spectral Clustering, SC)在前面的博文中已經詳述,是一種基於圖論的聚類方法,簡單形象且理論基礎充分,在社交網路中廣泛應用。本文將講述進一步擴充套件其應用場景:首先是User-Item協同聚類,即spectral coclustering,之後再詳述譜聚類的進一步優化。

演算法

#include<math.h> #include<string.h> #include"matrix.h" #include"svd.h"   #define N 19        //樣本點個數 #define K 4         //K-Means演算法中的K #defin

演算法及圖分割演算法

譜聚類演算法   譜聚類演算法由於其演算法流程簡單、計算簡潔與 Kmeans 演算法相比不容易陷入區域性最優解,能夠對高維度、非常規分佈的資料進行聚類。譜聚類演算法是利用圖譜理論來進行演算法分析,思想是把資料分析問題看成是圖的最優分割問題,將資料樣本看成是

matlab演算法實現及

    此時此景,我想先講個故事。我哈哈哈。    譜聚類(spectral clustering)的思想最早可以追溯到一個古老的希臘傳說,話說當時有一個公主,由於其父王去世後,長兄上位,想獨攬大權,便殺害了她的丈夫,而為逃命,公主來到了一個部落,想與當地的酋長買一塊地,於是

DBSCAN(密度演算法開篇)

DBSCAN詳解 第二十二次寫部落格,本人數學基礎不是太好,如果有幸能得到讀者指正,感激不盡,希望能借此機會向大家學習。這一篇作為密度聚類演算法族的開篇,主要是介紹其中最流行的一種演算法——DBSCAN,其他演算法在後續會陸續更新,連結附在該篇文章的結尾處。

(spectral clustering)及其實現

Preface 開了很多題,手稿都是寫好一直思考如何放到CSDN上來,一方面由於公司技術隱私,一方面由於面向物件不同,要大改,所以一直沒貼出完整,希望日後可以把開的題都補充全。 先把大綱列出來: 一、從狄多公主圈地傳說說起 二、譜聚類的演算

k-means演算法

前言 俗話說:“物以類聚,人以群分”,在自然科學和社會科學中,存在著大量的分類問題。所謂類,通俗地說,就是指相似元素的集合。 而對於分類問題,我們通常不會提供x與y這樣的對映關係,對於這種用機器自動找出其中規律並進行分類的問題,我們稱為聚類。 聚類在實際的