Incremental Learning
Incremental learning, or online learning, involves processing incoming data from a data stream, possibly given little to no knowledge of the distribution of the predictor variables, aspects of the objective function, and whether the observations are labeled. Incremental learning problems contrast with traditional machine learning methods, in which enough labeled data is available to fit to a model, perform cross-validation to tune hyperparameters, and infer the predictor distribution characteristics.
Incremental learning requires a configured incremental model. You can create and configure an incremental model directly by calling an object, for example incrementalClassificationLinear
, or you can convert a supported traditionally trained model to an incremental learner by using incrementalLearner
. After configuring a model and setting up a data stream, you can fit the incremental model to the incoming chunks of data, track the predictive performance of the model, or perform both actions simultaneously.
For more details, see Incremental Learning Overview.
You can also incrementally monitor for drift in concept data, such as classification
error. First you need to configure the drift detector using incrementalConceptDriftDetector
. After setting up a data stream, you can update
the drift detector and check for any drift using detectdrift
. For more
information, see the reference pages.
Blocks
IncrementalClassificationLinear Predict | Classify observations using incremental linear classification model (Since R2023b) |
IncrementalClassificationLinear Fit | Fit incremental linear binary classification model (Since R2023b) |
IncrementalClassificationECOC Predict | Classify observations using incremental ECOC classification model (Since R2024a) |
IncrementalClassificationECOC Fit | Fit incremental ECOC classification model (Since R2024a) |
IncrementalClassificationKernel Fit | Fit incremental kernel classification model (Since R2024b) |
IncrementalClassificationKernel Predict | Classify observations using incremental kernel classification model (Since R2024b) |
Update Metrics | Update performance metrics in incremental learning model given new data (Since R2023b) |
Detect Drift | Update drift detector states and drift status with new data (Since R2024b) |
Functions
Objects
Topics
- Incremental Learning Overview
Discover fundamental concepts about incremental learning, including incremental learning objects, functions, and workflows.
- Configure Incremental Learning Model
Prepare an incremental learning model for incremental performance evaluation and training on a data stream.
- Implement Incremental Learning for Classification Using Succinct Workflow
Use the succinct workflow to implement incremental learning for binary classification with prequential evaluation.
- Implement Incremental Learning for Classification Using Flexible Workflow
Use a flexible workflow to implement incremental learning for binary classification with prequential evaluation.
- Initialize Incremental Learning Model from Logistic Regression Model Trained in Classification Learner
Train a logistic regression model using the Classification Learner app, and then initialize an incremental model for binary classification using the estimated coefficients.
- Perform Conditional Training During Incremental Learning
Use the flexible workflow to implement conditional training during incremental learning with a naive Bayes multiclass classification model.
- Perform Text Classification Incrementally
This example shows how to incrementally train a model to classify documents based on word frequencies in the documents; a bag-of-words model.
- Incremental Learning with Naive Bayes and Heterogeneous Data
This example shows how to prepare heterogeneous predictor data, containing real-valued and categorical measurements, for incremental learning using a naive Bayes classifier.
- Monitor Equipment State of Health Using Drift-Aware Learning
This example shows how to automate the process of monitoring the state of health for a cooling system using an incremental drift-aware learning model and Streaming Data Framework for MATLAB® Production Server™.