Machine Learning: The important keywords (Part 3)
Continuing from the last post, let’s have a look at some more keywords. This is in continuation with Part 2. This time lets try to see and understand different types of learning algorithm used in Machine Learning. Lets do it!
Supervised Learning:
In this type of learning we are aware of what our features are and what we would like to predict. By using the input data and output data we want to get the relation between them. This will help in predicting the output when the same set of input is given (which are different from the inputs given while training). Why it is called supervised? Because in this case you are teaching the algorithm by giving inputs and telling it that for this the output is such. Like a teacher supervising a class 😊. There are different type in Supervised Learning namely Classification and Regression.
Classification: In this, the output data is type or is divided into different class. eg: classifying whether an image is a car or a person. Some of the major algorithms used for such king of learning is Logistic Regression, KNN, Decision Trees, Random Forest Trees etc.
Regression: In this the output is a value meaning they are numbers. eg: predicting the cost of house which is in rupees. Some of the major algorithms used for such king of learning is Linear Regression, KNN, Decision Trees, Random Forest Trees etc.
Unsupervised Learning:
In this type of learning we have input data…. but we don’t have output 😅. The Machine Learning Algorithm itself tries to find some meaning from data. Since no one is supervising this, its called Unsupervised Learning. This could be one from the below ones:
Clustering: The learning algorithm creates clusters having similar data. eg: Say if you have data of job applicants this can be used to make cluster of applicants with related skills. Some of the algorithms used are K-means, DBSCAN, HCA etc.
Anomaly Detection: In this a normal instance of data is fed to the model. When new data comes, it tries to detect whether its a normal instance or whether there is anything abnormal about it. eg: Credit card transactions could be checked for its abnormality. Some of the algorithms used are: One class SVM, Isolation forest etc.
Association Rule Learning: Here we try to find interesting relation between data and try to associate it with each other eg: When buying online you can see this is in works where the site suggests what people bought along with the item you bought. Some of the algorithms used are: Apriori, Eclat etc.
Semi-Supervised Learning:
As the name suggests it is a combination of both Supervised and Unsupervised Learning. The main problem with data is that not all data are labeled i.e. output is not specified. So in such case we use Semi-supervised learning. Lets take an example of Google photos to understand this. In Photos when you upload photos with family members, it recognizes same person in different photos in different position. This is the unsupervised part working where it clusters people. Now if you tag the person with name, it can be seen in all the other photos as well. This is the supervised part where it automatically gives the name to all other photos. Most commonly used algorithms are Deep belief networks (DBN) and restricted Boltzmann machines (RBMs).
Batch Learning:
In this type of learning, the system is incapable of learning incrementally and requires the whole data for training. This takes a lot of time and computing power due to which it is done offline and then launched into production. Hence it is also called as offline learning. As you may have noticed, if you need to train with new data, you have to start from the scratch 😅.
Online Learning:
Online learning is antithetical to batch learning in the way that it can learn incrementally. At first you train the model with available data and then you deploy it. Once deployed you can further keep on training by giving it data in small batches. This is advantageous in two ways; one you save computing power as once it has learned about new data it does not need it. Secondly you can keep on running the model running without the need to retrain it explicitly. One of the important parameter of Online learning is learning rate. It decides how fast it can learn at the expense of remembering previous data.
Reinforcement Learning:
This type of learning is a self-learning system. In this the learning system is called agent. He will observe the environment and select and perform actions. Depending on the actions performed he will receive a reward for correct action and a penalty for wrong action. It will learn by itself the best strategy which is called policy. A policy defines what action the agent should choose in a given situation.
Links to learn more-
- https://machinelearningmastery.com/supervised-and-unsupervised-machine-learning-algorithms/
- https://www.javatpoint.com/regression-vs-classification-in-machine-learning
- https://www.geeksforgeeks.org/clustering-in-machine-learning/
- https://towardsdatascience.com/facebook-believes-in-omni-supervised-learning-78f37253f4f4
- https://medium.com/@sameh.m.amin/machine-learning-tutorials-part-3-types-of-machine-learning-batch-vs-online-training-88e67cc1fecf
- https://medium.com/ai%C2%B3-theory-practice-business/reinforcement-learning-part-1-a-brief-introduction-a53a849771cf
- Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow- Aurelien Geron (O’Reilly)
Originally published at http://evrythngunder3d.wordpress.com on April 19, 2020.