文章: On Spectral Clustering: Analysis and an algorithm
作者: Andrew Y. Ng
在算法第二步并没有讲清楚,矩阵A是表示的是各点之间的亲和值?我按照这个算法写了后对于半月形的数据集无法得出好的结果,在参考其他人的资料后,才意识到中途有一个图构造的过程,即取与点xi最邻近的k个点,只保留这一部分信息,来计算图的权重矩阵W。代码如下:
function re = spectral(X,k,KnearNum,sigma)
%UNTITLED2 Summary of this function goes here
% Detailed explanation goes here
%Matrix A
[m,n] =size(X);
A = zeros(m,m);
D = zeros(m,m); %度
%KnearNum = 10; %构图采用10邻近
d = sigma;
%1-step: A
for i = 1:m
for j =1:m
if i~=j
A(i,j) = exp(-(norm(X(i,:)-X(j,:)).^2)/(2*d.^2));
%D(i,i) = D(i,i)+ A(i,j);
end
end
end
A_s= zeros(m,m);
in_A=zeros(m,m);
for i&

本文探讨了Andrew Y. Ng的谱聚类算法,指出原算法中关于矩阵A的描述可能不清晰。作者强调在算法实施过程中,需要构造图的权重矩阵W,通过选取每个点的k个最近邻来确定权重。实验表明,选择合适的k值对于聚类的精确度有显著影响。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



