Unsupervised learning
An unsupervised machine learning algorithm is a type of ML that finds all kinds of unknown patterns in data.
Unsupervised learning means there is no training phase where we feed labelled data to the learning algorithm in order to train the model. Instead the algorithm has to figure out things by itself.
Two types of unsupervised learning are Clustering and Association.
Clustering algorithms groups data into clusters based on similar patterns. An example, if you feed a large number of pictures of various animals, the clustering algorithm will group them into various clusters such as cats, dogs etc.
Association algorithms identity relationships between variables. A frequently quoted example is that if we feed sales data, it can identify patterns such as the people who bought item X has a probability of p% for buying item Y too.