Skip to main content

Crate blr_active

Crate blr_active 

Source
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

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

FeatureDefaultDescription
stdEnable 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.