k-means clustering algorithm
显示 更早的评论
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 个评论
the cyclist
2016-5-22
编辑:the cyclist
2016-5-22
Image Analyst
2016-5-22
编辑:Image Analyst
2016-5-22
And what do you mean by initial values? The kmeans() function doesn't seem to take any initial values.
the cyclist
2016-5-22
@ImageAnalyst ...
FYI, kmeans does accept a name-value pair ('Start',<value>) for initialization of the cluster centroids.
Image Analyst
2016-5-23
Thanks for the correction - apparently I overlooked it.
回答(1 个)
Image Analyst
2016-5-23
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
类别
在 帮助中心 和 File Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!