Machine learning algorithms can be implemented using a variety of learning methods. Every learning method has a set of algorithms that can be implemented in a specific language. In this post, we will understand these methods and some algorithms that come under these methods.
Machine learning algorithms can be classified based on whether they learn with or without human supervision into 4 types:
Machine learning algorithms can be classified based on whether they learn incrementally on the fly or not into 2 types:
Machine learning algorithms can be classified based on whether they detect patterns in data or compare new data points to previously seen data points into 2 types:
It is one of the most popular learning methods, since it is easy to understand and relatively easier to implement ad get relevant outputs.
Consider this example: How does a child learn? It is taught how to walk, run, talk, and it is made to understand the difference between walking and running.
Supervised learning works in a similar way, there is human supervision involved in the form of features being labelled, feedback given to the data (whether it predicted correctly, and if not what the right prediction has to be) and so on.
Once the algorithm has been fully trained on such data, it can predict outputs for never-before-seen inputs in-line with the data on which the model was trained with good accuracy. It is also understood as a task-oriented algorithm since it focuses on a single task and is trained on huge number of examples until it predicts output accurately.
Supervised algorithms can be classified into two categories: Classification algorithms and Regression algorithms.
It comes in between the supervised and unsupervised learning algorithms.
To bridge the gap that occurs due to usage of supervised and unsupervised algorithms.
Supervised learning algorithms are expensive, meaning they need to be labelled (by a human). On the other hand, unsupervised learning algorithms might not be very accurate and might not be applicable in every field.
In semi-supervised learning algorithm, the input data is a combination of labelled and unlabelled dataset. There is a small amount of labelled data and a comparatively large amount of unlabelled data. Similar kind of data is clustered into a single unit with the help of an unsupervised learning algorithm. The labelled data is used to label the unlabelled data further.
This is the opposite of supervised learning, wherein no labelling is provided on the input data that is supplied to the unsupervised learning algorithm. The algorithm has to learn from the unlabelled data and perform operations over it on its own. Most of the times, real-world data is unstructured and unlabelled. Hence unsupervised algorithms need to be used. Otherwise humans interfere and label the input data so that it can be passed as input to a supervised learning algorithm.
Consider this example: A set of images of horses in different angles, colours. No label is provided to the unsupervised learning algorithm indicating that all the images are that of horses. The algorithm itself learns from the images based on the features of these images, similarities, and differences.
Unsupervised data can be classified into two categories: Clustering and Association algorithms.
An algorithm that defines a reinforcement agent that decides what step has to be taken next so as to arrive at the result or find the optimal path. When no dataset is provided to a reinforcement learning algorithm, it learns from its surroundings and experiences. When an action is taken by the reinforcement algorithm, it is either awarded or punished (ways of awards and punishments differ based on the data available).
If the algorithm is awarded, it moves in the same direction or on the same lines. On the other hand, if the algorithm is punished, it understands that it needs to find out a different way to arrive at the solution.
Supervised learning algorithm have an input and the expected output, whereas in reinforcement learning, the algorithm has to decide what action it needs to take next.
It is also known as incremental learning or out-of-core learning. The baseline for this approach is that it assumes that learning environment changes constantly. Online learning refers to machine learning models that are trained consistently on new data and predict output while being trained on new data (in real time, basically). Whenever the model sees a new example, it needs to quickly learn it and adapt to it so as to consider this new example too while predicting output.
Batch learning refers to data learning over group. Data is grouped into different batches and different patterns are extracted from them. These patterns are learned overtime by the model.
All the considerations about a particular problem in a domain is converted into the form of a model. When new data is encountered by the model, patterns are detected and these patterns are used to make predictions on the newly encountered data.
Instance based learning can simply be understood as clustering and regression algorithms whose result is a class label or a prediction. This prediction or label is based on how similar the nearest query is to the current query in the dataset.
In this post, we understood about various machine learning methods and a few algorithms associated with every method.