DBSCAN is a density-based clustering algorithm for doing unsupervised learning.  It's pretty nifty: with just two parameters, you can specify "dense" regions in your data, and grow those regions out organically to find clusters.  In particular, it can fit irregularly-shaped clusters, and it can also identify outlier points that don't belong to any of the clusters. Pretty cool!

Relevant links: