Expand description
§blr-active: Active Learning Orchestration for Bayesian Linear Regression
This crate provides active learning algorithms and orchestration logic for
iterative sensor calibration, built on top of the blr-core crate’s BLR+ARD fitting.
blr-active implements the 4-phase calibration workflow that drives a BLR+ARD model
from an initial rough fit to a precision-targeted, noise-aware calibration.
blr-core (pure math: BLR+ARD, noise estimation, basis functions)
└── blr-active (this crate: active learning loop, precision tiers, sessions)§Architecture
The 4-phase calibration workflow:
Phase 0: Noise characterisation
NoiseCalibrationSession → estimate σ_noise → select PrecisionLevel
│
▼
Phase 1: Exploration
CalibrationSession → collect initial data → fit BLR+ARD
│
▼
Phase 2: Active learning
CalibrationSession::next_iteration() → recommend sample → user measures → add_measurement()
│ (repeat until precision goal is met or noise floor is hit)
▼
Phase 3: Convergence / completion
CalibrationSession → export_history_json() → store results§Modules
active_learning— 5 active learning algorithms (variance, mutual info, goal-based, etc.)calibration_session— User-facing noise-aware precision targeting session (NoiseCalibrationSession)goal_assessment— Feasibility classification for precision goals (assess_goal_feasibility)precision_tiers— Precision tier definitions (Low/Moderate/High/Max) (PrecisionLevel)error—ALErrortype withFrom<BLRError>bridge
Note: Certificate metadata is in sensor-calibration-component (application layer).
§Quick Start
use blr_active::{NoiseCalibrationSession, CalibrationSession, SessionConfig};
use blr_core::noise_estimation::{NoiseEstimate, SensorType};
// Phase 0: characterise sensor noise from initial measurements
let noise_est = NoiseEstimate {
point_estimate: 0.03,
lower_bound: 0.027,
upper_bound: 0.033,
confidence: "stable".to_string(),
};
let mut noise_session = NoiseCalibrationSession::new(SensorType::Hall, noise_est);
// Inspect precision tiers to choose a goal
for tier in noise_session.precision_tiers.iter() {
println!("{:?}: target std = {:.4}", tier.level, tier.absolute_tolerance);
}
// Phase 1-3: active learning loop
let config = SessionConfig::default();
let mut session = CalibrationSession::new(config, |x: f64| vec![1.0, x], 2);
// ... add measurements, call next_iteration(), check IterationOutcome§Feature Flags
| Feature | Default | Description |
|---|---|---|
std | ✓ | Enable standard library support (required for blr-core) |
§References
- Settles, B. (2009). “Active Learning Literature Survey.” University of Wisconsin–Madison, Technical Report 1648.
- MacKay, D. J. C. (1992). “Information-Based Objective Functions for Active Data Selection.” Neural Computation, 4(4), 590–604.
Re-exports§
pub use active_learning::acquisition::RecommendedSample;pub use active_learning::noise_floor::detect_noise_floor;pub use active_learning::noise_floor::detect_noise_floor_default;pub use active_learning::noise_floor::NoiseFloorConfig;pub use active_learning::noise_floor::NoiseFloorDiagnostic;pub use active_learning::orchestration::CalibrationSession;pub use active_learning::orchestration::IterationOutcome;pub use active_learning::orchestration::PrecisionRecord;pub use active_learning::orchestration::SampleRecord;pub use active_learning::orchestration::SessionConfig;pub use active_learning::precision::assess_precision;pub use active_learning::precision::percentile;pub use active_learning::precision::PrecisionAssessment;pub use active_learning::precision::PrecisionStatus;pub use active_learning::variance::posterior_std;pub use active_learning::variance::posterior_std_grid;pub use active_learning::variance::posterior_variance;pub use calibration_session::ActiveLearningConfig;pub use calibration_session::NoiseCalibrationSession;pub use error::ALError;pub use error::ALResult;pub use goal_assessment::assess_goal_feasibility;pub use goal_assessment::CalibrationGoal;pub use goal_assessment::GoalFeasibility;pub use precision_tiers::compute_precision_tiers;pub use precision_tiers::Feasibility;pub use precision_tiers::PrecisionLevel;pub use precision_tiers::PrecisionTierInfo;
Modules§
- active_
learning - Active learning module for precision-driven sensor calibration.
- calibration_
session - User-facing calibration session for noise-aware precision targeting.
- error
- goal_
assessment - Goal feasibility assessment for noise-aware precision targeting.
- precision_
tiers - Precision-tier definitions for noise-aware calibration goals.