By Harshit Khandelwal, Alibaba Cloud Community Blog author.
This tutorial takes a closer look into the major types of machine learning models, so if you have are new to machine learning, consider taking a look at the first tutorial in this series, which provides a general overview of what machine learning is.
To put simply , you can use machine learning to take current and past data to make predictions about future data. This has many real-world applications from anything like recommending movies to watch to identifying types cancer cells. The process of creating a machine learning model can be complex, and must be done in a way that works for the particular problem it is meant to deal with.
Where there is the data, machine learning can be used to solve a problem, present insights, or what else you have in mind for it be used for. However, for machine learning models, not just one kind of algorithm can be applied to all cases. There are different classes of algorithms designed for handling different data and solving different problems with different approaches. The inputs provided, the task performed, and the outputs obtained for each class are quite different.
The major types, which we will cover this article, are what follows:
- Supervised Learning
- Semi-Supervised Learning
- Reinforcement Learning
To understand supervised learning algorithms, first consider the following example:
Suppose that there are two ships, ships A and B, and both of them are carrying a large number of cars. On ship A, the cars have all been labelled in a database, however on ship B, they haven’t. Now consider that it’s someone’s job to identify each car on the ship B and label them in the database. The solution is that he can do this is to develop a model based on ship A’s data and then apply it to ship B’s data. For example, from ship A, he learns that cars with four wheels and more than four seats are SUVs. He can tell the model to use this information to identify such cars as SUVs on ship B.
This model is what supervised learning is in a nutshell. It is a type of machine learning that find a solution for the present problem based on data that you already have.
To put it more technically, supervised learning is a type of machine learning algorithm in which a model or a function is developed based on input-output pairs in the training data to map the input from the test data to their respective output. In this, training data, also known as the training dataset, is a data bank of labeled data, and the test data, or the testing dataset, is the set of inputs with no labels. From this, one thing we can notice is that supervised learning can be defined as a type of machine learning that necessarily has a teacher, technically speaking training data.
Supervised learning can be further divided into two subtypes: regression and classification supervised learning. Regression refers to a model of supervised learning where all data is numerical (or continuous) values. In contrast, classification models use categorical values, which are usually binary values (0 or 1).
Two major problems in supervised learnings are:
- Bias-variance tradeoff: These models are baked with biases and variance parameters, which can lead to problems. Biases can cause errors in the results because they are based on assumptions about the data, rather than the data itself. Variance, especially high variance can cause models to perform well on training data but poor on testing data.
- Noise in the data: Errors in the data can result in some inconsistency in data.
Supervised learning algorithms that are widely used and include the following:
- Support Vector Machines
- linear regression
- logistic regression
- naive Bayes
- linear discriminant analysis
- decision trees
- k-nearest neighbor algorithm
- Neural Networks (Multilayer perceptron)
- Similarity learning
To learning understand unsupervised learning algorithms, consider the following example:
Consider that instead of two ships, ships A and B, there is only but one ship which is carrying several types of fruit, but you do not know the types of fruit that it carries. The solution to this problem is to divide the fruits on the ship into groups based on their physical attributes. For example, you can first divide by color, then by size, then shape, so on and so forth. This is essentially how unsupervised learning models work.
To put it more technically, unsupervised learning is a type of machine learning that uses inferences drawn about a dataset that is devoid of labels. The most common type of unsupervised learning is clustering which can be defined as the mechanism where hidden patterns or groupings in data are found during the process of exploratory data analysis. In other words, unsupervised learning algorithms can be thought of as a model that learns from the test data itself rather than one that learns from a teacher, or training data.
Some of the most common algorithms that use an unsupervised learning model are:
- Hierarchical Clustering
- Mixture Models
- OPTICS Algorithms
Anomaly Detection Models
- Local Outlier Factor (LOF)
Neural Network Models
- Deep Belief Nets
- Hebbian Learning
- Generative Adversarial Networks
Reinfrocement learning models are very similar to how someone trains a dog. That is, the way you train a dog is you give it a treat whenever it performs a target task. In these algorithms, the dog is represented by an agent, and the doggie treat represents the reward. Next, there is the action or the target task you want the dog to perform. Next, two important elements are the enrvironment and the interpreter. They can be understood at the are where the dog performs the target tasks and the person who commands and rewards the dog with treats, respectively.
Technically speaking, reinforcement learning algorithms can be explained as the type of machine learning model where tasks are performed by an agent in a particular environment. In this model, the agent either receives a reward or punishment for each task performed. As the name suggests, it is a process of continuous improvements based on some rules. Unlike other machine learning approaches the algorithm is not told how to perform a task but learns by itself.
Reinforcement learning models require a lot of data and therefore work where data is readily available such as in gameplay and robotics scenarios. Reinforcement learning has been applied to board games, such as backgammon, checkers, and chess. The results of reinforcement learning models can be tested by testing the teaching efficient of the agent against a human being.
Some important reinforcement learning algorithms are:
- Monte Carlo
- State Action Reward State Action (SARSA)
- Deep Q Network (DQN)
- Asynchronous Actor-Critic Agent (A3C)
- Deep Deterministic Policy Gradient (DDPG)
Machine learning can be divided into three major types, which are supervised learning, unsupervised learning, and reinforcement learning. For supervised learning models, the labels of test data can be predicted by training a model based on the labels of training data. Supervised learning models can be subdivided into regression and classification models based on the data type used. Unsupervised learning models require that we find hidden patterns and groupings in the data without the help of training data. Last, reinforcement learning models can be defined as involving an agent that performs tasks in an environment based on rewards.
The next tutorial in this series will focus on the data preprocessing part of the machine learning pipeline, click here to read it.