Machine learning as a solution is usually divided into four categories: supervised, semi-supervised, unsupervised, and reinforcement learning.
Supervised learning refers to a machine learning algorithm that is manually taught information. Much like a child learning in school, the application is given known datasets and told the desired outcome. Then it’s up to the supervised machine learning algorithm to arrive at the intended destination.
Semi-supervised machine learning solutions are rather similar to supervised learning ones, except the data provided for the algorithm is a mix of known and unknown data sets. The goal here is to teach the algorithm to understand the known data and then to use that as a basis from which to label or categorize the unknown data.
Then there is unsupervised learning. This is the wild west of machine learning, where the algorithm is left to study and interpret large data sets without any input or supervision. The idea here is that the machine learning app will find a way to categorize the data into some sort of structure.
And last but not least there is reinforcement learning. Here, the algorithm is given a set of actions, requirements, limitations, and the expected final values. The machine learning solution tries to achieve the end result through various methods in order to find the most efficient one. The app is allowed to learn through trial and error, which iteratively helps it get to the best end result.
For the difference between machine learning algorithms and machine learning models, check out this post