Unlike other models, clustering algorithms fall under the unsupervised learning class of algorithms. This is because these types of models do not have a training set to improve the model. Rather, clustering algorithms attempt to find relationships within a set of data where the answer does not lie within a single piece of data. The fundamental element of clustering algorithms is the ability to group similar data objects together, which is typically done using similarity metrics like Euclidean Distance or the Pearson Correlation Coefficient.
Two algorithms of interest are the Hierarchical and the K-Means clustering algorithms. Hierarchical clustering involves recursively merging two groups that are the most similar. Hence, each data point initially belongs to its own cluster and the final cluster encompasses the entire data set. On the other hand, K-Means clustering algorithm randomly places centroids throughout the data set and assigns every item to the nearest centroid. The centroids are moved and data points are reassigned. This process repeats until the centroids stop moving. This algorithm is unique in the fact that the number of centroid is determined by the user.
More detail is included on their respective pages: