Few years ago machine learning has caught my attention and since then my interest in this field keeps growing. Everyday we see more and more intelligent solutions surrounding us. Most obvious is internet. 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. Other area is robotics, where they learn how to navigate independent and perform various tasks. Autonomous flying robots, helicopters, quads, handwriting recognition, computer vision, data mining in various fields like markets, biomedicine, biology – all this is covered by various machine learning algorithms.
Here are few reasons why machine learning is very important and sometimes necessary:
Data mining. Sometimes it isn’t possible to understand the nature data and relations between, so machine learning algorithms are able to extract these hidden relations.
Adaptation. It is hard to design flexible algorithm that could adapt to changing environment. Machine learning algorithms can be used to improve itself according to changing data.
Scale. There can be large number of knowledge in data sets that sometimes aren’t completely understood by 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 intelligent system might not be possible or hard. Machine learning algorithms are good at classification and finding hidden relations.
These are only few points that gives us motivation to apply machine learning algorithms in many applications. Take a classical example – self driving car. It is practically impossible to to write an algorithm that would tell how 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 in order to move an inch. There are bunch of sensors that takes readings and machine learning algorithms 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 in order 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 then needs to be selected according to problem you want to solve.
The main key algorithms are:
We recommend EasyEDA for circuit design and PCB prototype
Rule based system
Each of them fan out to specific solutions and algorithms for instance regression algorithms may be based on linear regression, logistic regression models and other.
In other hand machine learning algorithms can be classified in to major groups:
Supervised learning is type of algorithms when it learns by correct example. Simply speaking you give some input data and show what output data should be. By giving enough data pairs, algorithm learns how to classify things and give correct answers when new unknown data appears.
Unsupervised learning machine learning algorithms as name already implies doesn’t have that luxury learn from known data. Mostly they are used to classify data, extract hidden structure from unlabeled data sets. They are great in data mining problems.
I hope to expand machine learning topic to series of posts with more practical approach. With very little theory and more practical example how to solve one or another problem in your life. Let me know in comments bellow or forum what topics and examples you would like to see related to machine learning.