Skip to main content

top_margin

Function top_margin 

Source
pub fn top_margin(probabilities: &[f64]) -> Result<f64>
Expand description

確率分布から上位2候補の確率差(Top-Margin) $M(p) \in [0.0, 1.0]$ を算出する。

§数理仕様

$$M(p) = \begin{cases} 1.0 & (K = 1) \ p_{(1)} - p_{(2)} & (K \ge 2) \end{cases}$$

  • $O(K)$ 単一パス走査により、ヒープメモリ割り当て(アロケーション)ゼロで計算する。
  • $K=1$ の特異点では $1.0$(他候補なし・完全なマージン)を即座に返却する。
  • 同率1位(タイ)の場合は $M(p) = 0.0$ となる。
  • 戻り値は [0.0, 1.0] の閉区間にクランプされる。

§引数

  • probabilities: 各候補の確率分布スライス(f64)。

§戻り値

  • 成功時は [0.0, 1.0] にクランプされた Top-Margin、不正時は CoreError::MathError。