正如标题所提到的,我的代码旨在迭代训练集中的每个示例,找到最近的质心并将其存储在索引'idx'中。不幸的是,当我运行我的代码时,一切都在最小化步骤中出错。它返回距离值就好了,但索引将在每次迭代时重复地表示“1”。我现在很难过,仍在努力,但难倒。非常感谢您的反馈!
这是我推荐的代码。
m = size(X,1);
distance = [zeros((size(X,1)),(size(K,2)))];
for i = 1:m
Kxn_matrix = ones(K,1) * X(i,:);
distance = sum((centroids - Kxn_matrix) ,2).^2;
[i,midx] = min(distance,[],2);
endfor;
idx = midx;