What comes to your mind when you heard the term “Machine Learning”?. Is it destructive robots who determined to eradicate humanity from earth? Machine Learning is not a fantasy or a robot, it has been used for decades for all sorts of purposes. However the “Spam Filter” is one of the first Machine Learning systems that brought awe in the 1990s.
Machine Learning is a program’s ability to learn through data. Nonetheless, simply downloading data to a computer does not qualify as Machine Learning. A system or application must be properly trained or fed with data. For example the spam filter of your email. With time, it learns to identify which emails are spam. This is done by recognizing unusually frequent word patterns previously recognized in spam examples. We humans can also learn a lot from Machine Learning.
For example, a trained spam filter can reveal words and patterns which are found in spam email. This may lead to identifying correlation which we never thought about before, but will help in figuring out solutions for problems. Likewise using Machine Learning on loads of data and discovering patterns is called data mining.
Machine Learning is ideal to be used;
- Identify patterns and trends in big data
- Complex problems for which using a traditional approach yields no good solution
- Apply to dynamic situations where the machine learning can learn from the surrounding environment
- Problems for which existing solutions require a lot of fine-tuning or long lists of rules
Examples of Machine Learning Applications;
- To classify news articles automatically
- To summarize lengthy documents automatically
- To detect tumors in brain scans
- To classify products in a product line
- To flag offensive words in a public forum
- To forecast a company’s revenue for the following year
- To create chat bots or personal assistants
- To create gaming bots for solo players
- To segment customers basing their purchases
- To recommend products to customers basing purchase patterns
- And many more ……
Types of Machine Learning
There are many types of machine learning you can use in your application. The ML type is determined by many criteria such as the type and amount of data you have, what are you going to do with the ML model , how you are going to train your ML model etc…
The main categorization of ML is as follows.
- Is the ML model is training under human supervision (supervised, unsupervised, semisupervised, and Reinforcement Learning)
- Whether or not they can learn incrementally on the fly (online versus batch learning)
Following is a diagram which depicts the main categories of ML systems with some example algorithms ( in yellow color boxes )
Let’s go through each of these types and try to identify what each are capable of.
In this method, the training data which is fed in to the system also includes a label which states the desired solution for each instance.
The data set is mainly divided into two sections such as Training and testing data (Evaluation data ). The training set is used to fine tune the Model or Hypothesis. This hypothesis is non other than a mathematical representation of the training method. During the model evaluation, it analysis the error ( the difference between the expected value and the value been output by the model) and the learning’s objective is to fine-tune the model in-order to get the minimum error. The training been evaluated using the training set. After that we can use our real data to perform the desired functionality ( prediction ,classification etc.. ). There are numerous algorithms involved in this and I am hoping to give you a comprehensive coverage about these in upcoming blogs.
A typical supervised learning task is classification. The spam filter is a good example of this: it is trained with many example emails along with their class (spam or ham), and it must learn how to classify new emails.
In Regression , the model’s main objective is predict some values ( eg : future stock value , housing prices etc.. ) based on the learning. Note that some regression algorithms can be used for classification as well, and vice versa. For example, Logistic Regression is commonly used for classification.
This is the total opposite of Supervised Learning. Here the training data does not include labels. The system has to learn on its own. It is mainly contains with techniques that involves the grouping of data points. For an example, say you have a lot of data about your customers to your web site or supermarket. You may want to run a clustering algorithm to try to detect groups of similar customers. Using this technique you can identify what kind of customers that you involved with mostly and you may would throw out a marketing campaign based on that classification.
Yet another important unsupervised task is anomaly detection. Examples for these are like detecting credit card fraud, identifying manufacturing defects , detecting and cleaning data in big data analysis etc..
This is when most of the training data are unlabeled while the balance few are labeled. So most of the Semi Supervised Learning algorithms consist of a combination of Supervised and Unsupervised algorithms. Google photos is one of the best examples for Semi Supervised Learning. When we label one person’s name in a photograph, Google photos can show all the photos that person is in, because of its face recognition ability.
Reinforcement Learning is much different. Here the system is exposed to a situation where it can take an action. According to the action taken, it will be rewarded or penalized. The system then updates it’s policy with the actions it should and shouldn’t take. This will be continued until it finds the optimal action for a situation. Robots generally use Reinforcement Learning to learn how to walk.
Another example for reinforcement learning is to solve different games. The most famous one must be AlphaGo and AlphaGo-Zero. AlphaGo, trained with countless human games and the model achieved the level where human cannot reach. In 2016 Google DeepMind’s AlphaGo program triumphed in its final game against South Korean Go grandmaster Lee Sedol to win the series 4–1, providing further evidence of the landmark achievement for an artificial intelligence program.
At last, I want to mention about Artificial Neural Networks. The ANN is a depiction of natural neurons in the brain. ANNs are mainly involved with deep learning algorithms and mimics the functionality of the brain. The ANN can be applied across all the types of ML algorithms based on the functionality.
Stay tuned for more in-depth articles about Machine learning and Artificial Intelligence.
Thanks for reading !