K-Means Clustering
K-Means Clustering is a simple clustering algorithm based on iteratively updating the means of the samples assigned to clusters. After initialization of the number of clusters, K, and their means (say, K random samples from the full set), the following two steps are repeated until the means converge: (1) for each sample, find the nearest mean, and assign to that sample the cluster ID corresponding to that mean; (2) update the means from the samples with the same cluster ID.