What is machine learning and its types?

Machine learning is one of the branches of computer science where special programs are used to teach computer to learn from previous data and use this information in various predictions or analysis.

In machine learning, Artificial Intelligence (AI) algorithms are used to write computer programs that give system ability to learn from the previous data. Previous learning is used by the system to take decision and it keeps on learning with new data. This way system automatically decides what to do without explicit programming. AI technologies, machine learning and deep learning are getting very popular for developing analytics programs for various industries.

In very simple terms machine learning program gives ability to computer to learn, take decision and keep on improving its intelligence by learning through new data. This is good as AI and machine learning programs makes computer an intelligent system which can take decision on its own.

Development of machine learning program involves study and construction of mathematical algorithms that can learn from data and predict on the data provided.

Machine learning is heavy computation activity which uses various computing tasks and algorithm to do learning. Various types of mathematical algorithms are required to designed, tested and turned into model. This task is very computation intensive and it’s difficult or impossible to develop program that performs fast. But invention in computation and parallel processing technologies makes it easy to learn program on clusters to provide huge performance increase.

Types of Machine Learning

Machine learning is classified into three categories based on the outside input requirement requirements in terms of learning and intelligence.

Supervised learning: In case of supervised learning system learns from the input and output data which is supplied at the time of training. For example we have two inputs x and y, and the output of these input is z, then these three values are given to the program for learning.

Unsupervised learning: In case of unsupervised learning system is just provided with the input data (e.g x and y) and then system will learn automatically from these data sets.

Reinforcement learning: The Reinforcement learning is branch of AI and its type of machine learning. In case of Reinforcement learning machine and agents automatically determines ideal behaviour within a defined context. For it a task is given to the agent and there are two options, agent chooses any one of them and if the choice is correct it will be rewarded otherwise it will be punished. Based on these reward and punishment agent learns the ideal behaviour.

Top algorithm of supervised learning

Now let ‘s see the top algorithm of supervised learning. Here is the list of top used algorithms to write programs for supervised learning.

Analytical learning

Artificial neural network

Backpropagation

Boosting (meta-algorithm)

Bayesian statistics

Case-based reasoning

Decision tree learning

Inductive logic programming

Gaussian process regression

Group method of data handling

Kernel estimators

Learning Automata

Learning Classifier Systems

Minimum message length (decision trees, decision graphs, etc.)

Multilinear subspace learning

Naive bayes classifier

Maximum entropy classifier

Conditional random field

Nearest Neighbor Algorithm

Probably approximately correct learning (PAC) learning

Ripple down rules, a knowledge acquisition methodology

Symbolic machine learning algorithms

Subsymbolic machine learning algorithms

Support vector machines

Minimum Complexity Machines (MCM)

Random Forests

Ensembles of Classifiers

Ordinal classification

Data Pre-processing

Handling imbalanced datasets

Statistical relational learning

Proaftn, a multicriteria classification algorithm

Top algorithm of unsupervised learning

Here are top algorithms of unsupervised learning which is used to develop machine learning system in various programming languages.

clustering:

In case of clustering k-means, mixture models and hierarchical clustering algorithms are used.

anomaly detection: Used to detect anomaly in the data.

Neural Networks: Neural networks are also very popular which includes Hebbian Learning and Generative Adversarial Networks

Many machine learning program comes with pre-build packages or you can also write programs for unsupervised learning from scratch. You have to understand all these algorithms to start machine learning programming.

Top algorithm of Reinforcement learning

Now finally we will see the algorithm of developing programs for Reinforcement learning.

Q-learning

SARSA

Temporal difference (TD)

In this section we learned about the machine learning and its types. We also explored various algorithms used for machine learning.