Types of Machine Learning Systems

Machine Learning Systems could be of various types depending on the criteria we're using to classify those systems.

Machine Learning Systems can be classified based on :

  • Whether the system was trained using human supervision or not ( Supervised / Semi-supervised / Unsupervised / Reinforcement Learning ).
  • Whether the system is capable of learning incrementally on the fly or not ( Batch / Online Learning ).
  • Whether the system works by comparing new data points with the training data or instead builds a predictive model around the training data( Instance-based / Model-based Learning ).

These criteria are not exclusive , one can combine them in any way he/she likes. For example , a spam filter may be capable of learning on the fly using a neural network model trained on examples of spam and ham. This makes the spam filter an online , model-based , supervised learning system.

Let's dive a little deeper exploring each criterion.

Supervised / Semi-supervised / Unsupervised / Reinforcement Learning

Supervised Learning

In supervised learning , the training data that is fed to the algorithm contains the desired solutions called labels.

A typical supervised learning task is classification. Another type of task under supervised learning is to predict a target numerical value, given a set of features called predictors. This is called regression.

Some regression algorithms can be used for classification as well ( Eg - Logistic Regression ) and vice versa.

Some important supervised learning algorithms are-

k-Nearest Neighbors , Linear Regression , Logistic Regression , Support Vector Machines , Decision Trees and Random Forests , Neural Networks

Unsupervised Learning

In unsupervised learning , the training data is unlabeled. Some important unsupervised learning algorithms are -

  • Clustering Algorithms - Clustering algorithms are used to group similar data points together. Remember , the training data is unlabeled so at no point we tell our algorithm which group a sample belongs to, the algorithm figures that out on its own. If we use a hierarchical clustering algorithm , it may also subdivide each group into smaller groups. A few examples are K-means clustering , DBSCAN , Hierarchical Cluster Analysis (HCA).
  • Visualization and Dimensionality Reduction Algorithms- Visualization Algorithms ingest complex unlabeled data , and output a 2D / 3D representation of the data for visualization , preserving as much structure as possible ( trying to keep separate clusters in the input space from overlapping in the visualization ) so that the organization of data can be understood better and patterns can be detected in the input data.

Dimensionality Reduction is a related task where the goal is to simplify data without losing too much information by merging several correlated features into one ( called feature extraction).

Examples of Visualization and Dimensionality Reduction algorithms are Principal Component Analysis(PCA) , Kernel PCA , Locally-Linear Embedding(LLE) , t-Distributed Stochastic Neighbor Embedding(t-SNE).

  • Anomaly Detection and Novelty Detection Algorithms - Anomaly Detection involves detection and removal of outliers from a dataset usually before feeding the dataset to another machine learning algorithm.

A similar task is novelty detection : the difference is that novelty detection algorithms only expect to see only normal data during training , while anomaly detection algorithms are tolerant towards a small percentage of outliers in the training set.

Examples of Anomaly & Novelty detection algorithms are One-class SVM , Isolation Forest.

  • Association Rule Learning - Here , the goal is to dig into large amounts of data and discover interesting relations between attributes. Example algorithms include Apriori , Eclat.

Semi-supervised Learning

Semi-supervised learning algorithms deal with partially labeled training data , usually a lot of unlabeled data and a little bit of labeled data. Most semi-supervised learning algorithms are a combination of unsupervised and supervised learning algorithms.

For examples, Deep Belief Networks (DBNs) are based on unsupervised components called Restricted Boltzmann Machines(RBMs) stacked on top of one another. RBMs are trained sequentially in an unsupervised manner , and then the whole system is fine-tuned using supervised learning techniques.

Reinforcement Learning

Here , the learning system( called an agent , in this context) can observe the environment, & perform actions on it to get rewards / penalties in return. It then learns by itself the best strategy( called a policy ) to get the most reward over time. A policy defines what action an agent takes in any given situation.

Batch / Online Learning

Batch Learning

Batch learning systems are incapable of learning incrementally, and must be trained on the entire dataset from scratch. If we want the system to know about new data then the system must be trained using entire data ( the old as-well-as new data) & this system then replaces the old one in production.

This process usually takes a lot of time , computing resources ( CPU , Memory , Disk Space, etc.) and money. Hence , the training is carried out offline , and so it is also called Offline Learning.

Some drawbacks include carrying the entire dataset around ( which is usually inconvenient) and if the dataset is huge , it might be impossible to use a batch learning system.

Online Learning

Here, the system is trained by feeding it data instances sequentially , either individually or in small groups (called mini-batches). Each learning step is fast and cheap.

Online learning is great for systems that receive data as a continuous flow and need to adapt to change rapidly or autonomously. It is also a great option if we have limited resources, especially space(since the dataset can be discarded once used for training).

In case the dataset is too large to fit into the main memory , out-of-core learning can be used. Here, the algorithm loads a part of the data , runs a training step and repeats this process until the entire dataset has been used.

One important parameter of online learning systems is how fast it shall adapt to changing data , it is called the learning rate.

Instance-based / Model-based Learning

Instance-based Learning

In instance-based learning , the system learns the examples (training data) by heart(by storing the data) and then generalizes to new samples by comparing them to the learned examples or a subset of them , using a similarity measure.

Model-based Learning

Model-based learning generalizes from the training examples by building a model of training examples and uses the model to make predictions.

To measure the performance of our model during training , we can define a utility function ( or fitness function ) that measures how good the model is , or a cost function that measures how bad the model is. The model contains parameters that are learned during training using the training data.


Reference Book - https://www.oreilly.com/library/view/hands-on-machine-learning/9781492032632/

要查看或添加评论,请登录

Pratyush Singh的更多文章

社区洞察

其他会员也浏览了