Stay up to date with
news on business
and innovation
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Machine Learning revelations

Agata Gajec
Developer
Product Design & Development
IoT
Machine Learning
Machine Learning
Photo from Adobe Stock

Below, I will give you an idea what machine learning is and what you can expect from this arcane field. Please do not be afraid as our rational expectations are not terminator style killing machines or rise of the robots. On the contrary, I will try to convince you that machine learning is a wonderful field deeply rooted in science and engineering that can give your organization a competitive advantage in the market.

What machine learning is not

Machine learning is not an AI. Well, you might be surprised because AI and machine learning are terms which are often used interchangeably in many articles, blog posts etc… But the truth is machine learning is “only” a subfield of a much broader field of Artificial Intelligence. Based on one of the most popular textbooks about artificial intelligence: “Artificial Intelligence: A Modern Approach (AIMA)” I created a picture, which presents this fact.

Comparison of Artificial Intelligence and Machine Learning

Machine learning is a very important part of AI, but only part of it. This should not be surprising because after all, we can say that AI is about agents acting rationally in the environment. To act rationally you need much more than only an ability to extract patterns from data. For example, you need to receive perceptions, to build knowledge about the world, be able to reason rationally, be able to act — machine learning is only a part of this great journey.

What is machine learning

So what part of AI is machine learning? There are several various definitions, but in its most distilled form, machine learning is to generalize beyond the data that was used to train the model.

It is similar to an induction method of reasoning: some general patterns are recognized based on some specific observations. However regarding the induction number of observations, there are hundreds, or even thousands at most. In addition, the reasoning agent is a human whereas in machine learning the number of training data could easily be millions where the reasoning agent is an algorithm.

How can we generalize the data and how do those algorithms work? Some most used machine learning approaches are mentioned below.

Supervised learning

Supervised learning means that we train the model with data that contains inputs, which is correctly labeled. So for example, if we want to create a model that predicts housing prices then in addition to input data (e.g floor area, location, number of rooms, number of floors, etc…) we also have a price of each house. Then after training a model with enough samples (each sample represents a house) we expect that our model will be able to generalize, find correlations between input vectors and output (price) and correctly predict the price for houses from outside of the training set. The most popular algorithms used for supervised learning are mentioned below:

Unsupervised learning

When we don’t have labeled training data but still want to find patterns in it we talk about unsupervised learning. Unsupervised learning algorithms try to infer structure from given data, most commonly they gather the training data into clusters (in multidimensional space). Then after training such a model, we can check to which category new input data belongs. For example, this seems as a good method for segmenting the customers according to different parameters we can gather about them. Some of the unsupervised algorithms are listed below:

Photo from Unsplash

Reinforcement learning

Reinforcement learning is used when there is not enough data to learn or a program needs to interact with the environment to receive feedback about the value of its actions. During its lifetime reinforcement learning algorithm tries to maximize the reward it receives for its actions. Some examples of use cases might be the optimization of trading strategy (receiving constant feedback about the rewards of previous decisions/actions). Another case could be to balance the load of electricity grids (also learning over time which actions maximize the balance of the grid).

How to approach machine learning

As you can see machine learning is hard. It is easy of course just to use some predefined models, but in reality, we need to be able to solve a specific problem for a client. Such specific problem can be solved by a model trained to solve it. However, it requires a machine learning professional to do it properly. According to some estimates, there are no more than 10k machine learning developers on earth capable to solve harder problems. Probably almost every software company would like to hire such a professional. There are at least 100k software companies in the world (we don’t have exact numbers but we have an estimate for a number of software developers and it is 21 million in 2018, so 100k software companies seems as a very conservative estimate). The conclusion is that it is hardly possible to hire such machine learning professional. It seems that the only way left is to cooperate with people leaving universities after machine learning courses and/or people trying to change their career path and become machine learning experts. This means that your company needs to be prepared, meaning that it will take time to grow and encourage such individuals to be experts and that failures may occur. However, the field is exciting and potential machine learning know-how gathered is of tremendous value. So good luck in nurturing a machine learning team and solving exciting machine learning problems in your organization.

You may also like