%ncut譜聚類完整函式定義(儲存為.m檔案):
function c = spectralclustering(data,k,a) %data是資料點矩陣 k是聚類個數 a代表高斯核函式的引數
%untitled summary of this function goes here
% detailed explanation goes here
d = pdist(data)
d2 = squareform(d)
d3 = d2.^2
w(:,:) = exp(-d3(:,:)/(2*a^2))
[n,m] = size(w);
s = sum(w)
d = full(sparse(1:n,1:n,s))
e = d^(-1/2)*w*d^(-1/2)
[x,b] = eig(e)
[q,v] = eigs(e,k) %選的是前k個最大特徵值對應的特徵向量
c = kmeans(q,k)
endload c:\users\wangyuanw\desktop\data\data1new.txt;
spectralclustering(data1new,3,3);
Matlab實現k means聚類演算法
k means是聚類中的乙個十分經典的演算法,具體的思想可以參考andrew ng的講義 the k means clustering algorithm 這裡不再贅述。需要用到matlab中的核心函式kmeans,具體用法可以參考matlab命令 doc kmeans idx kmeans x,k...
MATLAB實現Kmeans聚類演算法
這是我練習的第乙個機器學習的演算法,寫的比較簡單,肯定也有一些小錯誤。也參看了很多其他人的 現在貼出來算是我學習的乙個歷程啦。clear all close all clc data1 normrnd 0,0.25,100,2 生成符合 data2 normrnd 1.25,0.5,100,2 da...
譜聚類演算法原理介紹
給你上若干個部落格,讓你將它們分成k類,你會怎樣做?想必有很多方法,本文要介紹的是其中的一種 譜聚類。聚類的直觀解釋是根據樣本間相似度,將它們分成不同組。譜聚類的思想是將樣本看作頂點,樣本間的相似度看作帶權的邊,從而將聚類問題轉為圖分割問題 找到一種圖分割的方法使得連線不同組的邊的權重盡可能低 這意...