我从本教程
Texture Segmentation Using Gabor Filters中获取了matlab代码.
为了测试对gabor滤波器产生的多维纹理响应的聚类算法,我应用高斯混合和模糊C均值代替K均值来比较它们的结果(在所有情况下簇的数量= 2):
原始图片:
K均值集群:
L = kmeans(X, 2, 'Replicates', 5);
GMM集群:
options = statset('MaxIter',1000);
gmm = fitgmdist(X, 2, 'Options', options);
L = cluster(gmm, X);
模糊C均值:
[centers, U] = fcm(X, 2);
[values indexes] = max(U);
在这种情况下,我发现奇怪的是K-means聚类比使用GMM和Fuzzy C-means提取的聚类更准确.
任何人都可以向我解释,作为输入到GMM和模糊C均值分类器的数据的高维性(L x W x 26:26是使用的gabor滤波器的数量)是什么导致聚类更少准确?
换句话说,GMM和模糊C均值聚类对数据的维数更敏感,而K-means是什么?