A typical machine learning algorithm involves training, and generally the performance of a machine learning model improves with more training data. The machine learning paradigms presented can be broadly divided into the following three categories: supervised learning, unsupervised learning, and semi-supervised learning.