pub struct VectorProbabilityTransform {
pub mu_match: f64,
pub mu_random: f64,
pub sigma: f64,
pub base_rate: f64,
}Expand description
Likelihood-ratio calibrator for vector distances (Theorem 3.1.1, Paper 5). Converts vector similarity into calibrated probability.
The transform models distances to relevant documents (f_R) and
to background (random) documents (f_G) as Gaussian distributions.
Calibration converts a distance into a posterior probability by
applying Bayes’ rule with the configured base rate:
log f_R(d) - log f_G(d) + logit(base_rate) -> sigmoidThe formulation is deliberately small; downstream callers fit the means and standard deviations offline (for example, via the parameter learner) and pass the transform through. Optional per-distance weights bias the computed log-odds before the sigmoid.
Fields§
§mu_match: f64Mean distance for relevant documents (numerator distribution).
mu_random: f64Mean distance for background documents (denominator distribution).
sigma: f64Shared standard deviation. Must be positive.
base_rate: f64Prior probability of relevance. Default 0.5 (neutral).
Implementations§
Source§impl VectorProbabilityTransform
impl VectorProbabilityTransform
pub fn new( mu_match: f64, mu_random: f64, sigma: f64, base_rate: f64, ) -> ScoringResult<Self>
Sourcepub fn calibrate_one(&self, distance: f64) -> ScoringResult<f64>
pub fn calibrate_one(&self, distance: f64) -> ScoringResult<f64>
Convert a single distance to a probability via the likelihood ratio + base-rate logit.
Trait Implementations§
Source§impl Clone for VectorProbabilityTransform
impl Clone for VectorProbabilityTransform
Source§fn clone(&self) -> VectorProbabilityTransform
fn clone(&self) -> VectorProbabilityTransform
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more