Machine learning is a scientific study of algorithms and statistical models of the computer system.
That is, machine learning is used to perform specific tasks without using any human interaction. Machine learning has the ability to learn and recognize the pattern to perform particular tasks. It can also improve its own performance based on how well it learned to perform that task.
It is nothing just a computer program that takes “data” as input, learns from that data, recognizes underlying patterns between the data, and, based on this, it produced the output(which is the usual case are just predictions).
Note: The data here can be of any form such as video, images, files, etc
The way machine learning is implemented is by using Machine Learning Algorithm. This algorithm is based on sample data known as “training data,” from which it builds its own mathematical model in order to make predictions or decisions without explicitly programmed to perform tasks. This mathematical model is just statistics that focus on making a prediction using computers.
Machine learning is seen as a subset of Artificial Intelligence (AI). Here AI is ultimate intelligence demonstrated by machine to perform all the tasks which a human or animal could do; on the other hand, Machine Learning is capable of learning one task well. They cannot be used to perform different tasks which it has not trained for.
Nowadays, Machine Learning is the most powerful tool which is being used in a wide variety of applications. From email filtering, which detects whether an email is a spam or real, to medical diagnosis where they are being used to detect whether a person is having diseases such as cancer or it is being used to make new drugs to cure viruses.
History of Machine Learning
Back then, the computer had a minimal amount of memory to run the program. Arthur Samuel, who was then working at IBM, developed a game of checker. The way he developed the game was with something called alph-tunning, which uses a scoring function based on the position of pieces on the board. This scoring function chooses the next step using the minimax strategy that is the program chooses its next step in which it has the highest chance of winning. His algorithm also recorded each and every move he has taken so far and combined this with the reword function. He was the first man who came up with the idea of “Machine Learning” in 1952.
Then in 1957, Frank Rosenblatt designed the first neural network for computers, which simulate the thought processes of the human brain by combining a model of brain cells by Donald Hebb’s and Arthur Samuel’s Machine Learning efforts.
Since then, we are seeing a new algorithm emerging out in the field of machine learning like a Nearest Neighbour algorithm in 1967, in 1970’s scientist begin to create a program to analyze a large amount of data and draw a conclusion from it.
Process Involved in Machine Learning
The Machine Learning process involves a number of steps. Let’s get to them one by one:
- Data Gathering:
This is one of the most important sets in Machine Learning. Here quantity and quality of data are both very important. Data could be of any form of images, videos, audio, CSV file, or any text file. The reason quantity and quality both are important because this result machine learning model will directly depend on the data you feed to them. If the data is large but is unclean or, in other words, it consists of unnecessary information, then the outcome of the machine learning model will show the unnecessary result or if the data is clean, but the amount of data is less the model will not predict will enough. Therefore, gathering a large and clean amount of data is very important.
- Choosing Model:
In this phase, we have to select a Machine Learning Model. This model consists of a number of algorithms that use mathematics, statistics, and probability. Choosing the right machine learning usually required experience because this model will learn and recognize a pattern in your data.
Here you train your model with the data you have gathered. In the training process, usually, 70-80% of your data is feed to your model. In this process, the model tries to learn your data.
- Evaluating or Validation:
The remaining 20-30% of your data is used for validation. That is, it is used to check how well did the model performs.
After validating the model, they are tunned. The tunning step usually consists of an increasing number of training steps, adjusting the learning rate, or change the values of default parameters.
After nicely tunning the model, the model is ready for making a prediction on new datasets.
Machine learning Approaches
There are many ways from which machine learning can be implemented, but this is grouped into 4 basic categories:
- Supervised Learning
- Unsupervised Learning
- Reinforcement Learning
- Semi-Supervised Learning
Let’s understand each of them one by one:
Supervised Machine Learning Algorithm
Supervised Machine Learning Algorithm builds a mapping function between the set of data and the desired output.
This algorithm learns the relation between the input and the output. For example, let’s say you have a dataset that consists of images of apples and bananas, and you want to classify them here model will learn mapping function as bananas are long, apples are curved and small, bananas are yellow apples are red, etc. Once it has learned to recognize this pattern, it will classify the new data set given to them.
Supervised Learning is further classified into two types: + Classification and + Regression
Classification Machine Learning algorithm is used when you have to classify different groups of data. This algorithm learns how to separate the data, just like apple and bananas. This algorithm consists of categorical output.
This is another form of supervised learning. The output of regression is numerical rather than a class. This algorithm is used when you have to predict a number, for example, the stock market price, temperature of a given day, or probability of an event occurring
Unsupervised Machine Learning Algorithm
Unsupervised Learning is a bit harder than the Supervised Learning Algorithm. This algorithm only consists of an input set and no output label for mapping it. The algorithm learns by itself and finds a pattern between the datasets.
The algorithm starts from scratch and tries to find a new or sometimes even better way to solve the problem, then Supervised Learning Machine Learning Algorithm. Therefore sometimes they are also called Knowledge Discovery algorithms.
Unsupervised Learning Algorithm takes a set of input data and tries to find structure in the data by grouping or clustering. Instead of responding to feedback like Supervised Learning does it finds a common pattern between the data and reacts between the presence and absence of this common pattern of each new piece of data.
They are often used in clustering where the same pieces of data are cluster together based on their commonalities.
Reinforcement Machine Learning Algorithm
Reinforcement Machine Learning Algorithm is by far the most complex and most accurate machine learning algorithm. Instead of labels, these algorithms use to reward or feedback to learn patterns.
This algorithm is very much similar to how a human learns. We perform some action based on that we receive some feedback. This feedback can either be positive or negative through this feedback. We improve our actions.
Similar to this Reinforcement Learning algorithm takes a set of input from the environment. Then it does its computation, then it performs some action. This action is passed through an agent who will give feedback to the algorithm, either positive or negative, based on the feedback this algorithm will adjust itself.
Games are very good examples of Reinforcement Learning. They provide ideal data-rich environments. The scores in the game act as a reword single to train the model. The reinforcement model tries to maximize its reward by playing the game over and over again.
Semi-Supervised Machine Learning Algorithm
This is, by far, my most favorite machine learning algorithm. This algorithm combines both the world: Supervised Learning and Unsupervised Learning.
It reduces the burden of having a large amount of labeled data. It takes only a small number of labeled data and a large amount of unlabelled data.
An excellent example of this learning is GAN(Generative Adversarial Network). It uses two types of Neural Network Generator and Discriminator. The Generator is trained to produced new data. This data is feed to discriminator, which decides whether the data is real or fake. Based on the output of the discriminator, the generator network is optimized. While on the other hand, a Discriminator is trained to decide between real or fake using a small set of labeled data.
By using the network both for generating input and another one to generate outputs, there is no need for us to provide explicit labels every single time and so it can be classed as Semi-Supervised Machine Learning Algorithm