譜聚類是基於拉普拉斯特徵對映的k近鄰聚類,matlab**如下:
>> n=500;c=2;k=10;t=randperm(n);a=linspace(0,2*pi,n/2)';
>> x=[a.*cos(a) a.*sin(a);(a+pi).*cos(a) (a+pi).*sin(a)];
>> x=x+rand(n,2);x=x-repmat(mean(x),[n,1]);x2=sum(x.^2,2);
>> d=repmat(x2,1,n)+repmat(x2',n,1)-2*x*x';[p,i]=sort(d);
>> w=sparse(d<=ones(n,1)*p(k+1,:));w=(w+w'~=0);
>> d=diag(sum(w,2));l=d-w;[z,v]=eigs(l,d,c-1,'sm');
>> m=z(t(1:c),:);s0(1:c,1)=inf;z2=sum(z.^2,2);
>> for o=1:1000
m2=sum(m.^2,2);
[u,y]=min(repmat(m2,1,n)+repmat(z2',c,1)-2*m*z');
for t=1:c
m(t,:)=mean(z(y==t,:));s(t,1)=mean(d(y==t));
endif norm(s-s0)<0.001,break,end
s0=s;
end>> figure(1);clf;hold on;axis([-10 10 -10 10])
>> plot(x(y==1,1),x(y==1,2),'bo')
>> plot(x(y==2,1),x(y==2,2),'rx')
結果如:
聚類依賴超參的選擇,如k值,如何確定最佳k值,下面理解通過互資訊來評價聚類的演算法:
理解互資訊法評價聚類,要理解kl散度,以及近似密度估計函式的思路。
而譜聚類本身則要理解拉普拉斯特徵對映(降維方法)。
聚類演算法及其評價
姓名 jyx 班級 csdn人工智慧直通車 5期 描述 這是本人在學習人工智慧時的學習筆記,加深理解 聚類是一種非監督學習,聚類需要將一系列樣本輸入到聚類演算法中,學習樣本的內在結構。聚類往往不單獨存在,而是作為乙個大的監督學習演算法的一部分存在 聚類的原則。類內散度最小,類間散度最大 聚類的用途 ...
關於K means聚類演算法重點理解
阿里面試時候被問到簡單介紹一下k means演算法,以及迴圈迭代的終止條件是什麼?特此記錄,共勉!k均值聚類演算法 k means clustering algorithm 是一種迭代求解的聚類分析演算法。1 預將資料分為k組,則隨機選取k個物件作為初始的聚類中心 2 然後計算每個物件與各個種子聚類...
聚類的評價指標
我們知道,監督學習的評價指標是準確率 召回率 f1 f f 1 f beta f1 f roc auc等等,但聚類方法在大多數情況下資料是沒有標籤的,這些情況下聚類就不能使用以上的評價指標了。聚類有自己的評價指標,大多數聚類的評價指標是通過緊湊性和可分性來定義的。緊湊性基本上是衡量乙個聚類中的元素彼...