For supervised learning, we know the correct answers for samples, model selection is more easier, we can use k-ford cross validation (this site!) and etc.
But for unsupervised learning, e.g. clustering, how can we determine the optimal number of clusters?
I read some literature about Kullback-Leibler information criterion but its performance is not quite good after I tried some simulations.