with respect to unsupervised learning such as clustering, are there any metrics to evaluate the performance of unsupervised learning as well as supervised learning?
Such evaluation is not a trivial matter. Therefore, if you have a cluster problem you could convert it into a classification one where you can evaluate it using, accuracy, ROC, etc.
I would say that it heavily depend on the application and what your performance measure is. For example, if you use clustering for image segmentation, you could compare to a ground truth segmentation if available.
For more abstract data, maybe this is not or only partly possible. Maybe, there are dominant clusters which are obvious and known which can be evaluated. You could also look, if the same known clusters are found with different amount of noise in the data and different initialization situations. If yes, the algorithm is robust. For unknown clusters which are found by an algorithm, I think this is difficult.
Anyhow, I would be interested in comments on that as well!
There are various index measures are available in the literature for evaluating the cluster and also go through the book of Prof. A. k. Jain regarding the cluster validity.