Machine Learning is a branch of Artificial Intelligence (AI) that provides a computer application the capabilities to learn or get experienced and improve over time on a given dataset without any explicit programming. The application uses these experiences to make predictions or decisions for a given input more or less as a human does.
The main focus of machine learning is to enable a computer application to learn without telling them how to do it. Machine Learning uses algorithms to identify various patterns in a given dataset, build models, and uses the same to predict the output.
Machine Learning Workflow
Machine Learning algorithms need to be trained before they can be used, a dataset is used to train the machine learning algorithm and to generate a model. The model is then used with input data to predict the output. The prediction is first evaluated for accuracy and if it is acceptable, the model is deployed and used.
If the accuracy of the prediction is not acceptable then the algorithm is re-trained again with more datasets and the step is repeated until the desired level of accuracy is achieved. A simple workflow of training and using the Machine Learning algorithm is given below:
Different Type of Machine Learning
Based on the learning algorithm, machine learning is categorized majorly into four groups: Supervised Learning, Unsupervised Learning, Reinforcement Learning, and Semi-Supervised Learning.
In supervised machine learning, we train the learning algorithm with a dataset that contains historical inputs and its corresponding outputs termed as labeled data. The algorithm gets experienced by making an iterative prediction based on the training data, which may be corrected over time by the supervisor to achieve the required prediction accuracy. The simple example to explain would be to train the algorithm with various animal images and provide them an input image with an animal for predicting it.
Supervised Learning is classified into two major groups:
1. Classification: Classification means to group the prediction of the algorithm into a class or a group and based on this class the classification can be of two types:
- Binary Classification: When we classify the prediction of an algorithm into two sets or group then it is known as Binary Classification. For example, customer feedback can be either positive or negative, an interview giving candidate will be selected or not.
- Multiclass Classification: When we classify the prediction of an algorithm into more than two sets or groups then it is known as Multiclass Classification. For example: Based on the person’s emotion he can be categorized as happy, surprised, sad or angry. Another example to predict today’s weather into a sunny, stormy, windy or rainy day.
2. Regression: Regression algorithm is used to predict values that are continuous in nature such as agricultural output for a season, price of a stock in near day or month, etc. Based on the algorithm Regression can be classified as the following types: Simple, Polynomial, Support Vector, Decision Tree, Random Forest. Simple Linear Regression is the most commonly used technique.
In Unsupervised Machine Learning, we train the learning algorithm with an input dataset that does not have a corresponding output. Here the algorithm models the underlying structure or finds distribution in the data values and learns about the data. The algorithm is left to their own to discover and present the structure of the data model. Unsupervised machine learning can be used to find unknown patterns present in the dataset, the algorithm helps to find features that can be helpful in the categorization of the data. The unsupervised Machine Learning can be categorized into further groups: Clustering and Association
- Clustering: This type of machine learning algorithm helps us to identify grouping in data, like for example grouping of people based on their education degree, or grouping of food based on their germination process.
- Association: This type of machine learning algorithms help us to identify rules or association that describes data concerning a larger dataset. Like for example, people who drink beer tend to buy munchies, students study more than usual before exams.
In Reinforcement Learning the initial training, data is not available and the algorithm or the agent needs to decide and perform the required task in the given environment using trial and error mechanism. The agent here collects the training data by while trying to perform the task and learning about whether the action was good or bad and tries to maximize the long term rewards. The best example of this kind of machine learning is an autonomous car.
Semi-Supervised Learning is a combination of supervised and unsupervised learning. The difference between supervised and unsupervised learning is that a supervised learning algorithm requires a dataset having an output related to an input set termed as labeled data while this is not the case for unsupervised learning. Semi-Supervised Learning uses a mix and match of labeled and unlabeled data.
Here a small amount of labeled is first used to train model and then a large amount of unlabeled data is used further. Semi-Supervised Learning is used when we don’t have enough labeled data to produce an accurate model, we used a semi-supervised technique to increase the size of the training data. The model is perfect for scenarios like speech recognition webpage classification and genetic sequencing.
I hope you find the post on basic introduction to machine learning helpful. Thanks for visiting. Cheers!!!
[Further Readings: 10 Basic Machine Learning Terminologies | How to Publish a NET Core application | How to change Visual Studio 2019 Theme | How to create an ASP NET Core MVC Web Application using dotnet-cli | How to create an ASP.NET Core Web Application using dotnet-cli | How to create a dotnet core NUnit Test Project using dotnet-cli | How to create a dotnet core xUnit Test Project using dotnet-cli | How to create a dotnet core MSTest Project using dotnet-cli | How to create dotnet core WinForms Application using dotnet-cli | How to create a dotnet core WPF application using dotnet-cli | How to create a dotnet core console app using dotnet-cli | Top 7 Web Frameworks to Learn and Focus on in 2021 ]