Overview of Machine Learning Algorithms
5 min readMachine learning algorithms use statistical techniques to find patterns in data. The algorithm is trained on a dataset, which consists of input data and corresponding output data. The algorithm uses this data to learn the relationship between the input and output data, and then makes predictions based on new input data.
In the machine learning, various algorithms are used. Algorithm choice depends on a particular problem that is being resolved. It also depends on the characteristics of the data.
Brief explanation of each algorithm categorized by the four main machine learning methods:
Supervised Learning:
The algorithm learns to predict an output variable based on a set of input variables and labeled training data. Few algorithms under this category include:
- Linear Regression: A linear regression algorithm is used to model the relationship between a dependent variable and one or more independent variables using a linear approach.
- Logistic Regression: A logistic regression algorithm is used to model the probability of a binary outcome based on one or more input variables.
- Decision Trees: A decision tree algorithm creates a tree-like model of decisions and their possible consequences based on a set of input variables.
- Random Forest: A random forest algorithm is an ensemble of decision trees that are used to improve the accuracy and robustness of the model.
- Support Vector Machines (SVM): An SVM algorithm is used to find the optimal hyperplane that separates two classes of data points with the maximum margin.
- Naive Bayes: A Naive Bayes algorithm is a probabilistic classifier that uses Bayes’ theorem with the assumption of independence between input variables.
- k-Nearest Neighbors (k-NN): A k-NN algorithm is a non-parametric algorithm that classifies new data points based on the k-nearest data points in the training set.
- Neural Networks: This is an algorithm class which is inspired by the structure and function of the human brain. They can be used for both classification and regression tasks.
Unsupervised Learning:
In this method, learning of algorithms start from identifying patterns in the data without any labeled training data. Some commonly used algorithms under this method of learning are as follow:
- Principal Component Analysis (PCA): It reduces the dimensionality of the data. It does this, by finding the essential features which explain the variance in the data.
- K-Means Clustering: A K-Means algorithm is used to partition the data into K clusters based on their similarity.
- Hierarchical Clustering: A hierarchical clustering algorithm is used to group the data into a hierarchy of clusters based on their similarity.
- Apriori Algorithm: is used for association rule learning and frequent item set mining in transactional databases.
- Association Rule Learning: Association rule learning is a type of unsupervised learning that is used to discover interesting relationships between variables in large datasets.
- Gaussian Mixture Models (GMM): A GMM algorithm is a probabilistic model that uses a mixture of Gaussian distributions to model the underlying probability distribution of the data.
- Autoencoders: It is a type of neural network and has three parts: encoder, code and decoder. It can compress data into a smaller size and then reconstruct it. The compressed data is called a code which is a summary of the input. They are used for unsupervised learning, which means they can learn without explicit labels. Instead, they generate their own labels from the training data.
Semi-Supervised Learning:
A combination of labeled and unlabeled data is used to train. Following algorithms are used under this category:
- Self-Training: is an iterative approach that uses a classifier trained on the labeled data to classify the unlabeled data. The high-confidence predictions from the classifier on the unlabeled data are then added to the labeled data to improve the classifier’s performance.
- Co-Training: is a method that uses two classifiers, each trained on a different subset of the features. The classifiers are then used to label each other’s unlabeled data, and the high-confidence predictions are added to the labeled data to improve the performance of both classifiers.
- Multi-View Learning: is a method that uses multiple representations or views of the same data to improve the accuracy of the classifier. The different views can be obtained by using different feature extractors, different feature selection methods, or different clustering algorithms.
Reinforcement Learning:
- Q-Learning: is a reinforcement learning algorithm that uses a table of Q-values to approximate the optimal action-value function for a given state. The agent takes actions in the environment based on the highest Q-value for the current state, and the Q-values are updated using the Bellman equation.
- Deep Q-Networks (DQN): is a reinforcement learning algorithm that uses a deep neural network to approximate the Q-values. The network takes the current state as input and outputs the Q-values for each action. The network is trained using experience replay, where the agent stores and randomly samples past experiences to train the network.
- Policy Gradients: are a class of reinforcement learning algorithms that directly optimize the policy function, which maps the states to the probability distribution over actions. The policy is updated using the gradient of the expected reward with respect to the policy parameters.
- Actor-Critic: is a reinforcement learning algorithm that combines the advantages of value-based and policy-based methods. The actor is responsible for selecting actions based on the policy, while the critic estimates the value function to provide feedback to the actor.