Skip to content

OS-CELM

OS-CELM is OS-ELM with the class-distance constraint attached to the RLS solver.

Concept

The feature map remains the same additive or RBF map used by OS-ELM. The constraint changes how the online solver accounts for class separation during updates.

feature_elm::RlsOptions<float> options;
options.constraint = feature_elm::RlsConstraint::kClassDistance;
options.constraintStrength = 1e-2f;

API

feature_elm::OsCelm<float> model(
    numInputs,
    numHiddenNodes,
    feature_elm::ActivationFunction::kSigmoid,
    feature_elm::Backend::kCpu,
    1e-2f,
    options);

model.initialize(initialData, initialTargets, initialSamples, numOutputs);
model.update(newData, newTargets, newSamples);

Constraint off-switch

Set constraint = RlsConstraint::kNone to recover ordinary OS-ELM behavior. This keeps the extension testable and prevents hidden behavior changes.

When to use

  • Classification streams where class separation matters.
  • Small initial chunks where constrained updates improve stability.
  • Comparisons against unconstrained OS-ELM.

When not to use

  • Regression targets: class-distance constraints are not meaningful.
  • Streams with many classes and sparse labels: verify the constraint does not overfit early class counts.