Matlab Kmeans简单票据

Matlab Kmeans简单票据,matlab,cluster-analysis,Matlab,Cluster Analysis,我有一个脚本,总体上我理解它的意思,但是最后一行,输出,有人能解释为什么是0.5吗 data = load('dataset_seeds.txt'); data = data(:,1:7); K = 3; [m,C,sumd,D] = kmeans(data,K); display('CENTROID'); C display(' IDX |JARAK KE C1|JARAK KE C2|JARAK KE C3'); [m D.^0.5] K-均值最小化平方和 平方和是欧几里德距离的平

我有一个脚本,总体上我理解它的意思,但是最后一行,输出,有人能解释为什么是0.5吗

data = load('dataset_seeds.txt');
data = data(:,1:7);
K = 3;
[m,C,sumd,D] = kmeans(data,K);
display('CENTROID');
C
display('     IDX |JARAK KE C1|JARAK KE C2|JARAK KE C3');
[m D.^0.5]

K-均值最小化平方和

平方和是欧几里德距离的平方

因此,Matlab kmeans也使用平方欧氏距离


因此,如果要返回聚类分配和非平方欧氏距离,可以重用前面的平方偏差,只需计算每个偏差的平方根。

您应该询问编写脚本的人为什么选择0.5。我感到困惑。也许作者认为这是平方距离?@CrisLuengo因为k-means只使用平方误差,是的,这是平方距离。@Anony Mouse:你有参考资料吗?
kmeans
的文档只是说“距离”而不是“平方欧几里德距离”。文献中对kmeans描述了许多不同的误差规范,而不是“只有平方误差”。很多人不相信这一点。但是平均值优化了平方误差。它不会优化绝对误差。因此,k-means无法优化非平方欧氏距离。q、 还有,这就是为什么PAM,k-中位数,k-质心被发明了…@Anony Mouse:我们在谈论MATLAB中的
kmeans
函数,它实现了不同的距离度量和计算类质心的不同方法。另外,你的论点很奇怪,因为你用欧几里德距离或平方欧几里德距离得到的空间的划分是相同的。如果人们在计算k-均值时使用平方欧几里德距离,那不是因为他们使用均值来计算质心,而是因为它导致了与欧几里德距离相同的结果,而且成本更低。