A Layman's Guide to Machine Learning
Machine learning is all the rage these days. There are over 100 open job positions on the Amazon job site under the heading "Machine Learning Science" alone.
I am currently taking one of the landmark course "Andrew Ng's Machine Learning" on Coursera. Having completed 7 of the 11 modules and all its associated programming exercises and quizzes, I am getting a good enough handle of the subject matter to attempt a series of both business and technical articles on this important innovation.
In this article, I will focus on answering the following 3 questions:
(1) What is Machine Learning?
(2) Where is it Applied?
(3) What are the subcategories under Machine Learning?
(1) What is Machine Learning?
Machine learning is the science of getting computers to learn without being explicitly programmed. This is primarily an AI, or artificial intelligence problem. And the field itself had grown out of the field of artificial intelligence.
For example, how do you get robots (if they were commercially available) to tidy up the house? You can have the robot watch you demonstrate the task and learn from that. It will essentially watches what objects you pick up and where to put them and try to do the same thing even when you aren't there.
Computer scientists over the years have discovered that it is simpler and less complex to have the machine (in this case, your household robot) learn to do certain tasks by "training" rather than explicitly programming the tasks it needs to perform.
In fact, in many cases, computer scientists do not even know how to write such programs explicitly.
(2) Where is Machine Learning Applied?
Machine Learning is applied in many applications, typically without the user even aware of its application.
Some of the key categories of applications are:
- Large Data Set Situations - For example, many web sites are using machine learning algorithms to mine web click data to better understand them and serve them better.
- Applications that cannot be explicitly programmed - This covers a wide swath of applications such as handwriting recognition, computer vision, image and facial recognition, voice recognition and so on. When Facebook unveiled the new feature to automatically describing the content of photos to blind and visually impaired users, they implemented the feature with machine learning.
- Online Customization - Every time you go to Amazon, Netflix or iTunes Genius, these sites use machine learning to recommend movies, products and music to you. There is no way to write a million different programs for a million different users, so the only way to give these highly customized recommendations is for the site to learn by itself to customize to your preferences.
(3) What are the subcategories under Machine Learning?
Machine learning are generally subdivided into:
(1) Supervised Learning - In supervised learning, we give the algorithm a data set in which the "right answers" were given. The algorithm then needs to produce more of these right answers.
There are two main types of supervised learning problems:
- Regression problem – trying to predict a continuous value. For example, predicting housing price based on square footage, location, etc.
- Classification problem - trying to predict a discrete value output. For example, predicting if a patient has cancer or not has cancer based on tumor size, age, etc.
(2) Unsupervised Learning - We give the algorithm a data set but we're not told what to do with it or what each data point is. The algorithm is then expected to give some structure to the data set.
These are examples of unsupervised learning problems:
- Clustering problem – For example, Google News looks at hundreds of thousands of new stories on the web and then groups them under cohesive news stories.
- Anomaly Detection problem - For example, Visa and Mastercard look at billions of credit and debit card transactions in order to detect cases of fraud.
(3) Reinforced Learning - It is a way for you to specify what you want done, by specifying what is a "good dog" and a "bad dog" behavior. And then it's up to the learning algorithm to figure out how to maximize the "good dog" rewards and minimize the "bad dog" punishments.
Examples of reinforcement learning are
- Self-driving car
- Robots
- Automatic helicopter