As described in Chapter 3, Artificial Intelligence and Machine Learning, in unsupervised learning, the goal is to uncover hidden relationships, trends, and patterns given only the input data, xi, with no output, yi. In other words, our input dataset will be of the following form:
Clustering is a well-known example of a class of unsupervised learning algorithms where the goal is to segment data points into groups, where all of the data points in a specific group share similar features or attributes in common. By the nature of clustering, however, it is recommended that clustering models are trained on large datasets to avoid over fitting. The two most commonly used clustering algorithms are hierarchical clustering and k-means clustering, which are differentiated from each other by the processes by which they construct clusters. We shall study both of these algorithms...