Introduction to Machine Learning
In this age of technology, machines are in no doubt an integral part of our daily life. Science fiction has often visualized what a world would look like if a machine could learn like a human, could be intelligent like a human or think like a human. Those speculations led to the inception of an era of intelligent systems. Machine learning isn’t like any other innovation mankind may have come up with. It is a true gold mine that is going to revolutionize technology as we know it today. In formal terms, according to the pioneer Tom M Mitchell, a machine learning system can be defined as follows,
“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”
In simpler terms, it essentially means a program that can be trained using known data to predict new data and use the results to improve its predictions further, thereby ‘learning’ to predict better.
History of Machine Learning
The origins of this concept can be rooted back to as early as the year 1950. It all began with a paper published just like any other research paper titled, ‘Computing Machinery and Intelligence’ authored by Alan Turing. He asked a question in that paper, “Can Machines Think?” It was that question that paved the way to a new concept in science, Artificial Intelligence. Machine Learning is a subset of this broader topic.
The famous Turing test was also invented by him in the same paper. The test is still done and someone who can create a computer program that can clear this test would be awarded the prestigious Loebner Prize. The objective of the test is simple. Convince the Judge, i.e. a human interrogator that your program is a human and not an AI system when he/she interacts with it. Are you eyeing on winning that prize now? Well, you’ll be one step closer to it after you finish reading this series on Machine Learning.
THE COMING AGE OF MACHINES
Have you observed how automation is taking the world by storm? There is automation everywhere. Someone is always building machines out there, machines that could work better than humans, in a way far exceeding the limited human capabilities. It is evident, the future is the one where machines would be able to do almost everything that humans could. Machine Learning, AI, and Deep Learning have become some of the hottest topics discussed in recent times. Right from home to industries, to malls, to public parks, everywhere, machines are going to invade the daily life of humans.
BIG DATA AND ARTIFICIAL INTELLIGENCE
As humans began relying on computers for everything, data generated every moment began to grow exponentially. In fact, many scientists would call it an age of data explosion. Large amounts of data are generated by the machines we use and this data, in turn, can help the machines learn. Data and AI are closely linked to each other. Imagine if you had an infinite memory. Of course, you will be able to gain all the knowledge in the world. Imagine if you can also understand and produce meaningful insight from all the knowledge you gained. You would be able to do wonders then. Big Data is something that can help an intelligent machine achieve that state. It is like a memory and an experience for an intelligent machine and just like humans, its experiences and memories make it better at its work.
SOFTWARE AND TOOLS
At the end of the day, machines can only interpret binary. Well, we can’t be sure in the future though but now everything is based on binary. For a human to program machines to his will, he needs a high-level language and some software and tools for efficient development. When it comes to machine learning, any high-level language can be used but a few are more popular than others due to the ease with which we can work with them as well as the community support. Here are the two popular languages for beginners used to build our applications:
- Python 2 &3: Python is a very popular language and ideal for beginners in machine learning. Easy to implement and debug, it is quite handy. One can obtain IDLE, an IDE for free or download Anaconda by Continuum which is an open source distribution of python.
- R language: This is like Python in many ways. This is more popular among data scientists. R provides the ideal platform for analytics based programs.
Commercially, the statistics for various software used in machine learning jobs (reference year 2015) in the corporate are here (Source: Data Science Association):
HOW DOES MACHINE LEARNING WORK?
The overall picture is simple. All you need are three basic components:
- A Model: This is essentially like a framework that does the stuff for you. You need to give input and it can give you something useful.
- The Parameters: These are basically the inputs that the model will use to do its work.
- A Learner: This block will play with the parameters by changing them. When parameters change, the model will also change in its outcomes. The learner can now compare how the outcomes change w.r.t previous parameters and hence be able to make predictions.
All these three blocks work together to form a machine learning system. For example, if you want to make a system to predict the performance of an athlete based on how hard he trains, you can use a model where you plot the parameters which are the position of an athlete in a race with the number of hours he trains a day. The learner will then analyze how the position of the athlete is related to the number of hours he practices. Then it will be able to predict for a new athlete what his position could be based on his training hours. This comes under supervised learning, which we will discuss later in a detailed manner.