Skip to content

Configuration

The v2 code exposes configuration through model constructors and option structs rather than one monolithic ElmConfig. The effective configuration surface is the same: feature stack, solver options, backend, and seed.

Common fields

Field Type Default Applies to Notes
numInputs std::size_t required all models Input dimension
numHiddenNodes std::size_t required BatchElm, OsElm, OsCelm Additive hidden-node count
hiddenNodesPerLayer std::vector<std::size_t> required MlElm, HierarchicalOsElm One ELM-AE layer per entry
ActivationFunction / ActivationKind enum kSigmoid additive maps and ELM-AE kSigmoid, kTanh, kRelu
Backend enum kCpu all models and feature maps kCpu or kGpu
seed unsigned int 42u random maps and ELM-AE Reproducible initialization
ridgeAlpha FloatT 1e-6 batch ridge and ELM-AE Positive regularization

Batch solver options

SolverOptions<FloatT> controls BatchRidgeSolver.

Option Default Values Meaning
ridgeAlpha 1e-6 > 0 Regularizes HᵀH + αI or HHᵀ + αI
path kAuto kAuto, kPrimal, kDual Selects primal when samples dominate hidden nodes and dual otherwise
method kCholesky kCholesky, kHouseholderQr CPU factorization method; Cholesky is the stable default

Toggle path = kPrimal for many samples and few hidden nodes. Toggle path = kDual for many hidden nodes and few samples. Use kHouseholderQr only for research comparisons because Cholesky is faster on the regularized SPD system.

Online solver options

RlsOptions<FloatT> controls RlsSolver.

Option Default Values Meaning
regularization 1e-3 >= 0 ReOS-ELM covariance regularization
forgettingFactor 1 (0, 1] FOS-ELM forgetting; 1 is ordinary OS-ELM
constraint kNone kNone, kClassDistance OS-CELM class-distance constraint
constraintStrength 1e-2 >= 0 Strength for class-distance constraint

An omitted extension must reduce to the baseline: forgettingFactor = 1, regularization = 0, and constraint = kNone are the off-switches.

RBF configuration

RbfMap is configured by:

Parameter Default Notes
inputDim required Input dimension
numCenters required Output dimension
width 1.0 Shared RBF width σ
centerInit kRandom kRandom or kKMeans
seed 42 Random center initialization

Demo configuration

DemoConfig controls the demo server.

Field Default Notes
useGpu false Enables GPU demo behavior when available
staticPath demo/ui Static web UI directory
benchmarkPath data/benchmarks/latest Benchmark JSON directory
port 8888 HTTP listen port

Drift stream configuration

DriftStream::Config controls synthetic non-stationary streams.

Field Default Notes
inputDim 2 Minimum is 2
numClasses 2 Binary drift stream
streamLength 1000 Samples before exhaustion
driftPoint 500 Sample where the regime changes
seed 42 Reproducible stream