k-means clustering algorithm
Ältere Kommentare anzeigen
For the data set shown below, execute the k-means clustering algorithm with k=2 till convergence. You should declare convergence when the cluster assignments for the examples no longer change. As initial values, set µ1 and µ2 equal to x(1) and x(3) respectively. Show your calculations for every iteration. x1 x2 1 1 1,5 2 2 1 2 0,5 4 3 5 4 6 3 6 4
1. You should start your calculation first by initializing your µ1 and µ2 as shown below. µ1 = x(1) =(1,1) µ2 = x(3) =(2,1) 2. For every iteration till convergence find c(i) for i = {1,2,3,4,5,6,7,8} then compute the average for each cluster and reassign the µ1 and µ2 3. Repeat 2 till convergence
5 Kommentare
the cyclist
am 22 Mai 2016
Bearbeitet: the cyclist
am 22 Mai 2016
Image Analyst
am 22 Mai 2016
Bearbeitet: Image Analyst
am 22 Mai 2016
And what do you mean by initial values? The kmeans() function doesn't seem to take any initial values.
the cyclist
am 22 Mai 2016
@ImageAnalyst ...
FYI, kmeans does accept a name-value pair ('Start',<value>) for initialization of the cluster centroids.
Image Analyst
am 23 Mai 2016
Thanks for the correction - apparently I overlooked it.
Antworten (1)
Image Analyst
am 23 Mai 2016
Hint:
x1x2 = [...
1 1
1.5 2
2 1
2 0.5
4 3
5 4
6 3
6 4]
x1 = x1x2(:, 1);
x2 = x1x2(:, 2);
mu1 = [1,1];
mu2 = [2,1];
for k = 1 : 4
indexes = kmeans(x1x2, 2, 'start', [mu1;mu2])
mu1 = mean(x1x2(indexes == 1, :), 1)
mu2 = mean(x1x2(indexes == 2, :), 1)
end
Kategorien
Mehr zu Statistics and Machine Learning Toolbox finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!