K-means clustering
K-means clustering algorithm
1.Randomly initialize the cluster centers, c1, ..., cK
2.Given cluster centers, determine points in each cluster
•For each point p, find the closest ci.  Put p into cluster i
3.Given points in each cluster, solve for ci
•Set ci to be the mean of points in cluster i
4.If ci have changed, repeat Step 2
•
Java demo:  http://www.cs.mcgill.ca/~bonnef/project.html
Properties
•Will always converge to some solution
•Can be a “local minimum”
•does not always find the global minimum of objective function:
1.