While the majority of machine learning problems involve labeled data, as we saw in the previous chapter, there is another important branch called unsupervised learning. This applies in situations where you may not have labels for the input data, and so the algorithm cannot work by trying to predict output labels from each input. Instead, unsupervised algorithms work by trying to spot patterns or structure in the input. It can be a useful technique when carrying out exploratory analysis on a large dataset with many different input variables. In this situation, it would be incredibly time-consuming to plot charts of all the different variables to try to spot patterns, so instead, unsupervised learning can be used to do this automatically.
As humans, we are very familiar with this concept: much of what we do is never explicitly taught to us by someone else....