What is Machine Learning?
Machine Learning is the science of teaching computers to learn from data. In Arthur Samuel’s words:
“Machine Learning is the field of study that gives computers the ability to learn without being explicitly programmed.”
Your spam filter is an example of a Machine Learning program. There is no specific algorithm like one for sorting an array, but given examples of spam and non-spam emails, the computer can automatically learn to flag spam emails. This is achieved by detecting specific patterns, e.g. occurrence of certain words and phrases in spam emails compared to non-spam examples. In Machine Learning terminology, the examples that the system uses to learn are called the training set; each training example is called a training instance (or sample). In this specific scenario, the performance measure can be the ratio of correctly classified emails.
Another scenario: you can provide a computer a set of cat pictures, which say, “this is a cat” or “this is not a cat.” Then if shown a series of new photos, your Machine Learning application would begin to identify cat photos in the new set.
Can you think of some examples of Machine Learning that you use everyday?
Here are some popular applications:
- Virtual Personal Assistants: Siri, Cortana, Alexa, Google Now
- Finance: Fraud detection, prediction and execution of trades at speeds and volumes that humans can’t compete with
- Social Media: Face Recognition, People You May Know, Pages You Might Like
- Retail: Product Recommendations; maximization of revenue by learning customers’ habits
- Online customer support: Customer support representatives are being increasingly replaced by chatbots
- Medicine: Medical diagnosis, drug discovery, understanding of risk factors for diseases in large popoulations
- Search Results: When you search on Google, the backend keeps an eye on whether you clicked on the first result or went on to the second page – the data is used to learn from mistakes so that relevant information can be found quicker next time
Types of Machine Learning Algorithms
Machine Learning algorithms can be broadly categorized as follows:
In Supervised Learning, the training data you provide as input to the algorithm includes the desired solutions, called labels or class – in other words, data comprises examples of the answers wanted. The spam filter is a good example of this: it is trained with many example emails along with their class (spam or non-spam), and it learns how to classify new emails.
Another typical task would be to predict a target numeric value, such as housing prices, from a set of features(size, location, number of bedrooms, etc.) called predictors. To train the system, you need to provide many examples of housing prices, including both their predictors and their labels (i.e., their prices), and the training process is continued until the model achieves a desired level of accuracy on the training data.
Examples of Supervised Learning Algorithms:
- Linear Regression
- Logistic Regression
- Support Vector Machines
- Decision Trees and Random Forests
- k-Nearest Neighbors
- Neural networks
2. Unsupervised Learning
In Unsupervised Learning the data has no labels, and the goal is to find relationships in the data – the system needs to learn without a teacher. For instance, say I have a lot of data about my blog’s visitors, I might want to find groupings of similar visitors. I do not know and I cannot tell the algorithm which group a visitor belongs to; it finds those connections without help and the insights can help me to target posts for each group.
Examples of Unsupervised Algorithms:
- Clustering: k-Means
- Visualization and dimensionality reduction: Principal Component Analysis (PCA), t-distributed Stochastic Neighbor Embedding (t-SNE)
- Association rule learning: Apriori
3. Semisupervised Learning
Semisupervised learning deals with partially labeled training data, usually a lot of unlabeled data and some labeled data. Most semisupervised learning algorithms are a combination of unsupervised and supervised algorithms.
Google photos is a good example of this. In a set of family photos, the unsupervised part of the algorithm automatically recognizes the photos in which each of the family members appears. For example, it can tell that person A appears in picture 1 and 3 while person B appears in picture 1 and 2. After this step, all the system needs from you is one label for each person and then the supervised part of the algorithm can name everyone in every photo.
4. Reinforcement Learning
Reinforcement Learning is a bit special and more advanced category – the learning system or agent needs to learn to make specific decisions. The agent observes the environment to which it is exposed, it selects and performs actions, and gets rewards in return (or penalties in the form of negative rewards), and it’s goal is to choose actions which maximize the reward over time. So by trial and error and based on past experience, the system learns the best strategy, called policy, on its own.
A good example of Reinforcement Learning is DeepMind’s AlphaGo. The system learned the winning policy at the game of Go by analyzing millions of games, and then playing against itself. At the championship of Go in 2017, AlphaGo was able to beat the human world champion just by applying the policy it had learned earlier.
This was a gentle introduction to Machine Learning. Hopefully, you are excited to learn more about this cool field and to continue in this journey ‘Towards Machine Learning’!
Now you can proceed to the next post to learn about the various Machine Learning algorithms.