A LearnerLCE that predicts the future learning curve by simulating the active-learning loop forward on a surrogate fit over the archive.
At train time it fits an "oracle" regression learner on the archive
(x -> y) mapping; the oracle serves as a ground-truth proxy for the
objective. At predict time it re-runs the same OptimizerAL configuration
forward, starting from the training archive, using the oracle to generate
outcomes for newly proposed points, and scores the tracked surrogate after
each simulated batch on a held-out evaluation set whose targets are the
oracle's own predictions. The per-batch scores form the predicted curve.
The optimizer configuration and the oracle learner are properties of the method and are supplied at construction. The regression measure and (for pool-based runs) the candidate pool are read from the TaskLCE, so the same learner can be benchmarked across tasks built from different runs.
Creates a new forward-simulation LCE learner.
Arguments
- optimizer
(OptimizerAL)
Active-learning optimizer configuration to run forward. Cloned on construction.- oracle_learner
(mlr3::LearnerRegr)
Ground-truth proxy fit on the archive(x -> y)mapping. Cloned on construction. There is deliberately no default: the choice of oracle model is consequential and must be made explicitly.- surrogate_id
(
character(1))
Id of the surrogate inoptimizer$surrogateswhose performance is tracked. Defaults to"model"(the optimizer_al default).- eval_sampler
(SpaceSampler)
Sampler for the fabricated evaluation set on continuous search spaces. Defaults to SpaceSamplerSobol.
Fields
optimizer(OptimizerAL)
Active-learning optimizer configuration run forward by the learner.oracle_learner(mlr3::LearnerRegr)
Ground-truth proxy learner.surrogate_id(
character(1))
Tracked surrogate id.eval_sampler(SpaceSampler)
Evaluation-set sampler for continuous runs.
Prediction
The simulation produces a value at each requested batch_nr.
Consecutive requested batch_nrs define the simulation's per-step batch
size: a request from b_prev to b_next is realized as one optimizer
proposal batch of (b_next - b_prev) * evals_per_batch evaluations, where
evals_per_batch is the originating run's per-batch evaluation count,
inferred at train time as the median number of archive rows per non-initial
batch (the initial design is usually larger). This reproduces the recorded
batch sizes when the future batches are requested at the recorded spacing.
Prediction types
Each restart is an independent forward simulation, i.e. one joint sample path
of the realised trajectory over the requested batches. The response is the
across-restart mean on the lce_link scale, back-transformed (the predictive
median under the link). The total predictive se is the across-restart
standard deviation on the link scale (0 with a single restart); the
epistemic se_epistemic is that divided by sqrt(n_restarts) (the standard
error of the expected curve). The samples predict type returns the restart
paths themselves (one column per restart), quantiles their per-row sample
quantiles, and target_reached the fraction of restart paths that have
reached the target. Richer-than-response predict types therefore need
n_restarts > 1 (with a stochastic proposer).
Parameters
n_eval_points::integer(1)
Size of the fabricated held-out evaluation set (continuous runs). Initialized to100. Ignored for pool-based runs (the pool is used).n_restarts::integer(1)
Number of independent forward simulations, which is also the number of predictive sample paths. Initialized to1(thenseis0, since no spread is measured). Only meaningful with a stochastic proposer.extrapolation::character(1)
How to extend beyond the simulated horizon (only reached viamax_batch_cap):"hold"repeats the last value,"linear"continues the slope of the last two simulated points. Initialized to"hold".max_batch_cap::integer(1)|NULL
Maximum number of future points to simulate; further requested points useextrapolation.NULL(default) simulates every requested future point.seed::integer(1)|NULL
RNG seed. Governs both the train-time evaluation-set sampling and the predict-time simulation, so a fixed seed makes the whole prediction reproducible.NULL(default) uses the current RNG state.
Known limitations
The predicted quantity is the surrogate scored against the oracle's predictions, which can differ in level and plateau from the original surrogate-vs-test-set target (inherent to a self-contained forecast).
Search-space transformations are ignored: the oracle is fit on, and proposals are made on, the untransformed scale.
sereflects only proposer/sampler stochasticity across restarts; a deterministic configuration yieldsse = 0.