Whenever you create a machine learning model your main purpose is to solve the problem of users. And for that the users need to access your code and how they access that? From a server where your machine learning code is deployed, that server is known as production in machine learning.
There are two options for deploying machine learning code. You can say that these are the types of machine learning but the basis for these types: how machine learning models are trained, especially in production. You might also think about what’s training but just skip it for now and you just need to understand that the basic difference between online and offline machine learning is that in offline machine learning the data only learns online whereas in online machine learning the data predicts as well as learns on the server.
What Batch Machine learning?
Batch learning is the conventional way of training a machine learning model in which you use all of the data at once to make patterns and solutions. We don’t do incremental training, there are two common types of batch machine learning. One is Offline Machine Learning and the other is Online Machine Learning.
So let’s talk about offline batch machine learning
Offline Batch Machine Learning
Since the data is too large, training it on a server would be costly and time taking. So most of the time what engineers do is they train the data offline on their own machines and then deploy the trained data on the server. This would save a lot of time and money for data engineers. If you’re an engineer you may have noticed a problem. Here and that is how the model is going to update. Whenever there are changes! Do we have to create offline models again and again and then upload those on the server?
Let’s discuss some advantages and disadvantages of offline batch learning.
Advantages and Disadvantages of offline batch learning
So the first big advantage of offline batch learning is that it’ll save you a lot of money because the machine learning servers can be too costly if you try to train your models on the server and the second advantage is time, yes offline machine learning saves you a lot of time while training your model. Where there are advantages there are also some limitations
The biggest limitation is the hardware requirements, because where there is a lot of data you’ll need some very good hardware to process that data, the second limitation is training the model offline again and again with the updated data, you’ll have to download the updated data train and test it again and then deploy on server. The frequency obviously depends but this can be a little time taking process. The third disadvantage is accessibility, let’s say you have deployed your model on a drone device that doesn’t have accessibility to the internet, to update the model, there can be limitations to deploy the updated data on that drone. This is the place where online machine learning comes in so let’s discuss the basics of Online Learning.
Online Machine Learning
Have you ever watched an advertisement of a product in which they claim the more you use their product the more it gets better, those are actually talking about online learning.which means their machine learning model is frequently updating on the online server with the new data, so the formal definition can be the data is updated incremently unlike batch learning, which means the model is feeded data sequentially these batches are also called mini batches. And what happens is that your model improves after each and every batch, since these batches are small chunks of data so you train your model online on the server, and you have a continuous flow of new data on the server and your models and predicting and learning on the go, so the more data comes in the more your app/products improves itself, the most common example of online machine learning is youtube it personalise and predicts according to the users behaviour on the go, in fact you can find a lot of examples online of online machine learning.
Advantages and Disadvantages of online machine learning
The best advantage of online machine learning is that it’s fast your model gets updated frequently. And your app/product improves itself. The second advantage is that it uses small chunks of data so hardware requirements are not as high. As in offline machine learning. The only disadvantage we see here of online machine learning is that it can be a little bit costly.