Introduction to unsupervised learning algorithms
Consider a scenario where a child is given a bag full of beads of different sizes, colors, shapes, and made of various materials. We just leave to the child do whatever they want with the whole bag of beads.
There are various things the child could do, based on their interests:
- Separate the beads into categories based on size
- Separate the beads into categories based on shape
- Separate the beads into categories based on a combination of color and shape
- Separate the beads into categories based on a combination of material, color, and shape
The possibilities are endless. However, the child without any prior teaching is able to go through the beads and uncover patterns of which it doesn't need any any prior knowledge at all. They are discovering the patterns purely on the basis of going through the beads at hand, that is, the data at hand. We just got introduced to unsupervised machine learning!
We will relate the preceding activity to the key steps of machine learning:
- Define the ML problem: Uncover hidden patterns of beads from the given bag of beads.
- Prepare/gather the data and train the model: The child opens the bagful of beads and understands what the bag contains. They discover the attributes of the different beads present:
- Color
- Shape
- Size
- Material
- Evaluate the model: If a new set of beads is given to the child, how will they cluster these beads based on their previous experience of clustering beads?
There may be errors in grouping the beads that need to be corrected/fixed so that they don't recur in future.
So, now that we have seen the basic concepts and functions of the unsupervised machine learning problem, let's get into the details of unsupervised learning.