In the k-means clustering problem we are given a set of observation \((x_1,x_2, ...x_n)\), where each observation is d-dimensional real vector. k-means clustering aims to partition the n observations into k sets \((k<=n)\). \(S ={S_1,S_2,...,S_k}\) so as to minimize the within-cluster sum of squares(WCSS):
\begin{eqnarray*} \mbox{argmin}_{S}\sum\limits_{i=1}^k\sum_{x_j\in S_i} ||x_j-\mu_i ||^2 & \\ \end{eqnarray*}
where \(\mu\) is the mean of points in \(S_i\)
TODO
Example:
complete example is k_means_clustering_example.cpp
IN: ObservationRange observations
IN: GetCoordinates get_coordinates
IN: const unsigned int number_of_cluster
OUT: OutputIterator result
TODO
TODO