A few years ago, machine learning caught my attention, and since then, my interest in this field keeps growing. Every day we see more and more intelligent solutions surrounding us. You probably noticed that shopping sites adapt to our interests and suggests targeted offers; another example is spam email filters; if we mark emails as spam, they keep disappearing from our lives. Another area is robotics, where they learn how to navigate independently and perform various tasks. Machine learning algorithms cover autonomous flying robots, helicopters, quads, handwriting recognition, computer vision, data mining, and multiple fields like markets, biomedicine, biology – all this.
Here are a few reasons why machine learning is significant and sometimes necessary:
- Data mining. Sometimes it isn’t possible to understand the nature data and relations between them so that machine learning algorithms can extract these hidden relations.
- Adaptation. It is hard to design a flexible algorithm that could adapt to a changing environment. Machine learning algorithms can be used to improve themselves according to changing data.
- Scale. There can be much knowledge in data sets that sometimes aren’t completely understood by a human designer. Machine learning algorithms can learn from this knowledge without human interaction.
- Complexity. The relation between input and output data may not be clearly understood, so designing an intelligent system might not be possible or hard. Machine learning algorithms are good at classification and finding hidden relations.
These are only a few points that motivate us to apply machine learning algorithms in many applications. Take a classic example – a self-driving car. It is practically impossible to write an algorithm that would tell how a car should drive and react to various obstacles. It is better to construct a neural network and teach it by example.
Try to imagine two processing has to be done to move an inch. Many sensors take readings and pass them to machine learning algorithms to process data to make a decision. Imagine if there are several new sensors introduced. By using standard algorithms, you would need to redesign software at some level. With machine learning algorithms, you only need to feed new data to re-teach neural networks and hope for better performance.
Speaking of machine learning algorithms – there are many types and variations of them. Each of them needs to be selected according to the problem you want to solve.
The primary key algorithms are:
- Neural networks
- Rule-based system
- Decision trees
Each fan-out to specific solutions and algorithms; for instance, regression algorithms may be based on linear regression, logistic regression models, and others.
In the other hand machine learning algorithms can be classified into major groups:
Supervised learning is a type of algorithms when it learns by correct example. Simply speaking, you give some input data and show what output data should be. The algorithm learns how to classify things and give correct answers when new unknown data appears by providing enough data pairs.
As the name already implies, unsupervised learning machine learning algorithms don’t have that luxury to learn from known data. Mostly they are used to classify data, extract hidden structures from unlabeled data sets. They are great at data mining problems.
I hope to expand the machine learning topic to a series of posts with a more practical approach. With very little theory and more practical examples of how to solve one or another problem in your life.