Christopher I want to understand the concept of unsupervised learning in machine learning. How does it work without labeled data, and what types of patterns can it discover? Can someone also explain common algorithms and real-world use cases?