Machine learning, Internet of Things and Blockchain are some of the new concepts that SAP Leonardo is bringing to the SAP ecosystem to reduce TCO, optimize business processes, and add more value to companies. If these terms are unknown territory for you, our new blog series “IT trends explained easily” is just right for you.
Our first article is about Machine Learning algorithms and how they can be applied.
What is Machine Learning about? It is the field of research that investigates the development of intelligent algorithms that are capable of learning and making predictions based on data – even if they are not explicitly programmed to do so. The user has to provide a set of training data to ‘teach’ the algorithm how to behave: this step is crucial, because if we don’t provide data of the right quality, the algorithm will deliver the wrong results.
As an example, let’s consider the following task: sorting garbage into paper, plastic, glass, etc. With a standard algorithm, we have to specify a list of items and assign them to the corresponding bin. Magazines, newspapers, and sheets of paper belong in the paper bin, for example. But what happens when the algorithm has to sort an envelope?
Machine learning algorithms don’t need an explicit list covering all the items to be sorted (as this list may be impossible to specify), but enough examples to let the algorithm learn the task logic.
When the algorithm has to sort a given item, it calculates where it should go based on this training data. Although the algorithm has never seen an envelope, the envelope is very similar to the sheets of paper. This is why it’s called Machine Learning: the algorithm can learn from experience and can make decisions about new situations based on its encounters with ones that are similar enough.
We end up with unexpected results, if the training set is not extensive enough, not enough varied or the data is ambiguous. So the algorithm cannot arrive at a satisfactory conclusion. Therefore, this kind of algorithms is also called probabilistic and that the results should be double-checked at least in the beginning to improve result quality.
There are also “unsupervised” algorithms, that work without needing a training set. However, these algorithms don’t belong explicitly to Machine Learning, but use a number of concepts that include data mining, big data, or statistical methods.
So what we now want to know is: How to benefit from this approach? Unfortunately, there is no ready-made solution here, because there are many different machine-learning algorithms.
It’s important to consider the following aspects before starting a project:
1. Understand the problem that we are facing.
2. Understand how a machine learning algorithm can help to solve the problem and its limitations.
3. Evaluate the quality of the available data (i.e. is the training data extensive enough and representative).
4. Decide if the implementation of a Machine Learning algorithm is worth the effort.