A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E. Simply put, Machine Learning is the field of study that gives computers the ability to learn, without being explicitly programmed. Essentially, it is a method of teaching computers to make and improve predictions or behaviours based on some data. What is this “data”? Well, that depends entirely on the problem. It could be readings from a robot’s sensors as it learns to walk, or the correct output of a program for certain input. Machine Learning converts data sets into pieces of software, known as “models,” that can represent the data set and generalize to make predictions on new data.
Broadly, Machine Learning can be used in three different ways:
- Data Mining: ML can be used by people to gain insights from large databases.
- Statistical Engineering: ML can be used to convert data into software that makes decisions about uncertain data.
Artificial Intelligence: ML can be used to emulate the human mind, to create computers that can see, hear, and understand.
The question arises, when a machine ‘learns’, what does it modify, its own code, or the data which contains the experience of code for the given set of input?
Well, it depends.
One example of code actually being modified is Genetic Programming, where you essentially evolve a program to complete a task (of course, the program doesn’t modify itself – instead it modifies another computer program).
Neural networks, on the other hand, modify their parameters automatically in response to prepared stimuli and expected response. This allows them to produce many behaviours (theoretically, they can produce any behaviour because they can approximate any function to an arbitrary precision, given enough time).
This may lead you to believe that machine learning algorithms work by “remembering” information, events, or experiences. This is not necessarily (or even often) the case.
Neural networks, only keep the current “state” of the approximation, which is updated as learning occurs. Rather than remembering what happened and how to react to it, neural networks build a sort of “model” of their “world.” The model tells them how to react to certain inputs, even if the inputs are something that it has never seen before.
This last ability – the ability to react to inputs that have never been seen before – is one of the core tenets of many machine learning algorithms. Imagine trying to teach a computer driver to navigate highways in traffic. An effective machine learning algorithm would (hopefully!) be able to learn similarities between different states and react to them similarly.
The similarities between states can be anything – even things we might think of as mundane can stump a computer! For example, let’s say that the computer driver learned that when a car in front of it slowed down, it had to slow down to. For a human, replacing the car with a motorcycle doesn’t change anything – we recognize that the motorcycle is also a vehicle. For a machine learning algorithm, this can actually be surprisingly difficult! A database would have to store information separately about the case where a car is in front and where a motorcycle is in front. A machine learning algorithm, on the other hand, would “learn” from the car example and be able to generalize to the motorcycle example automatically.
Machine learning is a huge field, with hundreds of different algorithms for solving a myriad of problems across a plethora of fields, ranging from robotics to stock forecasting. Think of the humble search engine. Behind it, is a very complex system that interprets your query, scours the web, and returns information that you will find useful, but because these engines have such high volume of traffic, Machine Learning is used, in the form of automated decision-making to handle the uncertainty and ambiguity of natural language.
As Rick Rashid, Founder of Microsoft Research, put it, “This topic of machine learning has become incredibly exciting over the last 10. The pace of change has been really dramatic.” With recent leaps like IBM Cognitive Computers’ Skin Cancer Detection System and Skype’s real time speech to speech translator, Machine Learning truly is, the way forward.