Machine learning in a nutshell
"Machine learning is the most exciting field of all the computer sciences. Sometimes I actually think that machine learning is not only the most exciting thing in computer science, but also the most exciting thing in all of human endeavor." | ||
--Andrew Ng, Associate Professor at Stanford and Chief Scientist of Baidu |
Giving a detailed explanation of machine learning is beyond the scope of this book. For this purpose, there are other excellent resources that I have listed here:
- Machine Learning by Andrew Ng at Coursera (https://www.coursera.org/course/ml)
- Foundations of Machine Learning (Adaptive Computation and Machine Learning series) by Mehryar Mohri, Afshin Rostamizadeh, and Ameet Talwalker
However, basic machine learning concepts are explained very briefly here, for those who are not familiar with it.
Machine learning is an area of artificial intelligence that focuses on learning from the available data to make predictions on unseen data without explicit programming.
To solve real-world problems using machine learning, we first need to represent the characteristics of the problem domain using features.
Features
A feature is a distinct, measurable, heuristic property of the item of interest being perceived. We need to consider the features that have the greatest potential in discriminating between different categories.
Supervised learning versus unsupervised learning
Let's explain the difference between supervised learning and unsupervised learning using a simple example of pebbles:
- Supervised learning: Take a collection of mixed pebbles, as given in the preceding figure, and categorize (label) them as small, medium, and large pebbles. Examples of supervised learning are regression and classification.
- Unsupervised learning: Here, just group them based on similar sizes but don't label them. An example of unsupervised learning is clustering.
For a machine to perform learning tasks, it requires features such as the diameter and weight of each pebble.
This book will cover how to implement the following machine learning techniques using Apache Mahout:
- Clustering
- Classification and regression
- Recommendations