Machine Learning (ML) is very popular at present. It’s capabilities are almost magical if you listen to the software vendors. There is no doubt that ML enables interesting capabilities. If you have ever browsed Amazon while being logged into your account, you will have witnessed the uncanny recommendations that it makes to entice you to make a purchase. These recommendations are based upon your historical interactions with the site; not only your purchase history, but the products that you have looked at, but not bought, as well.
ML has at its core a mathematical model, that enables predictions to be made about the future. However, this model is not static. Similar to humans, the mathematical model can be updated based upon new data that is fed into the model, and this is how retail websites such as Amazon can apparently track your buying and browsing patterns, and then recommend new products that appear to match your current interests.
The more data that is fed into a model, the more accurate the predictions become. ML can, in some cases, even generate predictions where there is no evidence of a particular situation existing within the model. This is where ML can appear to be ‘magical’.
Categorising Machine Learning
There are three categories of ML:
- Supervised learning – examples of known scenarios, with inputs and outcomes, are used to create the mathematical model. We can then use the model to either classify a future situation (place it into a known category, or we can use regression to deduce the relative strength of a relationship between an dependent variable and one ore more independent variables;
- Unsupervised learning – this is where the alchemy appears: patterns are observed without feeding the model with any known relationships between inputs and outcomes. Clustering is one example of technique used for unsupervised learning;
- Reinforcement learning – this refers to a mechanism whereby the process of ML is reinforced by positive or negative feedback from the environment. This operational data enriches the creation of the unsupervised model.
In practice, different ML approaches are combined to suit a particular domain problem. We might use unsupervised learning to simplify the problem domain when we don’t have a clear way forward. Once we have identified some patterns we can use these with a supervised learning technique. Or, for a domain that we know, we might create a supervised ML model, which is then refined by reinforcement learning.