Main Content

Incremental Learning

Fit classification model to streaming data and track its performance

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 PredictClassify observations using incremental linear classification model (Since R2023b)
IncrementalClassificationLinear FitFit incremental linear binary classification model (Since R2023b)
Update MetricsUpdate performance metrics in incremental learning model given new data (Since R2023b)

Functions

expand all

Create Incremental Drift-Aware Model

incrementalDriftAwareLearnerConstruct drift-aware model for incremental learning (Since R2022b)

Incrementally Fit and Track Performance

fitTrain drift-aware learner for incremental learning with new data (Since R2022b)
updateMetricsUpdate performance metrics in incremental drift-aware learning model given new data (Since R2022b)
updateMetricsAndFitUpdate performance metrics in incremental drift-aware learning model given new data and train model (Since R2022b)

Other Model Operations

lossRegression or classification error of incremental drift-aware learner (Since R2022b)
perObservationLossPer observation regression or classification error of incremental drift-aware learner (Since R2022b)
predictPredict responses for new observations from incremental drift-aware learning model (Since R2022b)
resetReset incremental drift-aware learner (Since R2022b)

Create Incremental Model

incrementalClassificationKernel Binary classification kernel model for incremental learning (Since R2022a)
incrementalLearnerConvert kernel model for binary classification to incremental learner (Since R2022a)

Incrementally Fit and Track Performance

fitTrain kernel model for incremental learning (Since R2022a)
updateMetricsUpdate performance metrics in kernel incremental learning model given new data (Since R2022a)
updateMetricsAndFitUpdate performance metrics in kernel incremental learning model given new data and train model (Since R2022a)

Other Model Operations

predictPredict responses for new observations from kernel incremental learning model (Since R2022a)
lossLoss of kernel incremental learning model on batch of data (Since R2022a)
perObservationLossPer observation classification error of model for incremental learning (Since R2022a)
resetReset incremental classification model (Since R2022a)

Create Incremental Model

incrementalClassificationLinearBinary classification linear model for incremental learning (Since R2020b)
incrementalLearnerConvert binary classification support vector machine (SVM) model to incremental learner (Since R2020b)
incrementalLearnerConvert linear model for binary classification to incremental learner (Since R2020b)

Incrementally Fit and Track Performance

fitTrain linear model for incremental learning (Since R2020b)
updateMetricsUpdate performance metrics in linear incremental learning model given new data (Since R2020b)
updateMetricsAndFitUpdate performance metrics in linear incremental learning model given new data and train model (Since R2020b)

Other Model Operations

predictPredict responses for new observations from linear incremental learning model (Since R2020b)
lossLoss of linear incremental learning model on batch of data (Since R2020b)
perObservationLossPer observation classification error of model for incremental learning (Since R2022a)
resetReset incremental classification model (Since R2022a)

Create Incremental Model

incrementalClassificationECOC Multiclass classification model using binary learners for incremental learning (Since R2022a)
incrementalLearnerConvert multiclass error-correcting output codes (ECOC) model to incremental learner (Since R2022a)

Incrementally Fit and Track Performance

fitTrain ECOC classification model for incremental learning (Since R2022a)
updateMetricsUpdate performance metrics in ECOC incremental learning classification model given new data (Since R2022a)
updateMetricsAndFitUpdate performance metrics in ECOC incremental learning classification model given new data and train model (Since R2022a)

Other Model Operations

predictPredict responses for new observations from ECOC incremental learning classification model (Since R2022a)
lossLoss of ECOC incremental learning classification model on batch of data (Since R2022a)
perObservationLossPer observation classification error of model for incremental learning (Since R2022a)
resetReset incremental classification model (Since R2022a)

Create Incremental Model

incrementalClassificationNaiveBayesNaive Bayes classification model for incremental learning (Since R2021a)
incrementalLearnerConvert naive Bayes classification model to incremental learner (Since R2021a)

Incrementally Fit and Track Performance

fitTrain naive Bayes classification model for incremental learning (Since R2021a)
updateMetricsUpdate performance metrics in naive Bayes incremental learning classification model given new data (Since R2021a)
updateMetricsAndFitUpdate performance metrics in naive Bayes incremental learning classification model given new data and train model (Since R2021a)

Other Model Operations

predictPredict responses for new observations from naive Bayes incremental learning classification model (Since R2021a)
lossLoss of naive Bayes incremental learning classification model on batch of data (Since R2021a)
logpLog unconditional probability density of naive Bayes classification model for incremental learning (Since R2021a)
perObservationLossPer observation classification error of model for incremental learning (Since R2022a)
resetReset incremental classification model (Since R2022a)

Create Concept Drift Detector

incrementalConceptDriftDetectorInstantiate incremental concept drift detector (Since R2022a)

Detect Drift and Reset Model

detectdriftUpdate drift detector states and drift status with new data (Since R2022a)
resetReset incremental concept drift detector (Since R2022a)

Objects

expand all

DriftDetectionMethodIncremental drift detector that utilizes Drift Detection Method (DDM) (Since R2022a)
HoeffdingDriftDetectionMethodIncremental concept drift detector that utilizes Hoeffding's Bounds Drift Detection Method (HDDM) (Since R2022a)

Topics