In Chapter 2, Practical Approach to Real-World Supervised Learning, Chapter 3, Unsupervised Machine Learning Techniques, and Chapter 4, Semi-Supervised and Active Learning, we discussed various techniques of classification, clustering, outlier detection, semi-supervised, and active learning. The form of learning done from existing or historic data is traditionally known as batch learning.
All of these algorithms or techniques assume three things, namely:
In many real-world data scenarios, there is either no training data available a priori or the data is dynamic in nature; that is, changes continuously with respect to time. Many real-world applications may also have data which has a transient nature to it and comes in high velocity or volume such as IoT sensor information, network monitoring, and Twitter feeds. The requirement here is to learn from the instance immediately and then update the learning.
The nature of dynamic data and potentially changing distribution renders existing batch-based algorithms and techniques generally unsuitable for such tasks. This gave rise to adaptable or updatable or incremental learning algorithms in machine learning. These techniques can be applied to continuously learn from the data streams. In many cases, the disadvantage of learning from Big Data due to size and the need to fit the entire data into memory can also be overcome by converting the Big Data learning problem into an incremental learning problem and inspecting one example at a time.
In this chapter, we will discuss the assumptions and discuss different techniques in supervised and unsupervised learning that facilitate real-time or stream machine learning. We will use the open source library Massive Online Analysis (MOA) for performing a real-world case study.
The major sections of this chapter are:
There are some key assumptions made by many stream machine learning techniques and we will state them explicitly here:
Let Dt = {xi, yi : y = f(x)} be the given data available at time t ∈ {1, 2, … i}.
An incremental learning algorithm produces sequences of models/hypotheses {.., Gj-1, Gj, Gj+1..} for the sequence of data {.., Dj-1, Dj, Dj+1..} and model/hypothesis Gi depends only on the previous hypothesis Gi-1 and current data Di.
18.226.177.85