Different types of Machine Learning Systems
it may feel very overwhelming when you take those first steps into Machine Learning(ML) or Artificial Intelligence(AI), and although the deeper application of ML or AI is very a lengthy learning process the basic framework of it all, in theory, is simple and straightforward, and it is also necessary to introduce yourself to the basic schema of it all beforehand so that you understand why and what you are doing later on.
specifically, I wanted to delve into the different types of Machine Learning in this blog and tell you the broad and common ways they are classified and what each one means so that once you begin to delve deeper in the nitty grit and the math/coding side of things you at least have a base to look back at to help navigate because as you will soon see each different type of Machine learning is applied in different circumstances and situations and even different ways with different prerequisites
- supervised, unsupervised, semisupervised and Reinforcement Learning
- online versus batch learning
- instance-based VS model-based learning
Supervised VS Unsupervised.
supervised learning: has the desired solution included in the algorithm when we feed it the training data.
you can see that in our training set we have Labels(the solution) for some of our instances so that when we get a new instance it is able to identify it correctly. this is often used in classification learning tasks such as a spam filter. another commonly used Supervised learning is Linear Regression, where we split our data in training and test and optimise our model on the training and test it against our testing set to see how well it performs.
Unsupervised learning: is when the training data is unlabeled, you are pretty much trying to make the system learn without any help or aid, it will detect and notice trends/groups in the data and be able to make the connection between each without your help. Hierarchical Cluster Analysis (HCA) and Principal Component Analysis(PCA) are examples of this.
Semisupervised Learning: this is a mix between supervised and unsupervised, where the algorithm can deal with partially labelled training data, Google uses this in their Photo-hosting services
Reinforced Learning: this learning system(called an agent in this context) will observe the environment, it will choose and perform actions and get rewards or penalties depending on the action they performed. it will learn over time by making choices based on what path/strategy is best to maximize rewards.
Batch VS Online Learning.
Batch learning: this type of learning is when a model must be trained using all available data. it is not able to learn incrementally as online learning can. it takes the full training data set, learns and then you can apply it on a test set to see how well your model performs. if you want a batch learning system to learn new data, you must train a new version of the system from scratch on the full dataset.
Online Learning: different to Batch Learning because you train the system incrementally, you feed it data sequentially in specified amounts and each time the system learns about the new data as it gets it and optimises the model based on the new data. this is used where systems receive data continuously and at each moment the data has an impact on its states such as Stock prices or Currency Exchange, in both, it continuously changes and so the system needs to reflect that change.
Instance-Based VS Model-Based Learning.
Instance-Based Learning: this is when the system learns the examples it is given by heart, then it will attempt to generalize to new cases using a similar measure.
Model-Based Learning: this is the more commonly used one, in Model-Based Learning, it will build a model based on the examples(training set) it is given and will use what it has learnt to generalize/make predictions on new data
two things which should be mentioned are:
Underfitting: when our model is too simple and not tuned enough to the data and fails to make accurate predictions, our model is a bad fit for both our training and testing set.
Overfitting: this is when we use too complex of a model and it fits our training set to a fault, where it has almost memorized the training data and when you try to generalize it, it is so accustomed to the training data set that it makes inaccurate predictions on new data set.
with all of these different Learning systems, you must make sure you have studied and have understood the data well, understand what you are trying to accomplish so that you can ensure you select the right model for the data and the need.
Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems, Aurelien Geron.