pub fn noul_probability(
logit_true: f64,
logit_false: f64,
temperature: f64,
) -> Result<f64>Expand description
Noul 型の言明真実確率値 $P(\text{true}) \in [0.0, 1.0]$ を算出する。
§概要
- ロジット差分 $x = (z_{\text{true}} - z_{\text{false}}) / \tau_{\text{eff}}$ に対し、 符号分岐型シグモイド $\sigma(x)$ を用いることで指数オーバーフローおよびアンダーフローを完全に排除する。
- $x \ge 0$ のときは $\frac{1}{1 + \exp(-x)}$、$x < 0$ のときは $\frac{\exp(x)}{1 + \exp(x)}$ を計算する。
§引数
logit_true: 真(True)候補の生ロジット。logit_false: 偽(False)候補の生ロジット。temperature: 較正温度パラメータ $\tau$。正の有限実数。
§戻り値
- 成功時は
[0.0, 1.0]にクランプされた真実確率、不正時はCoreError::MathError。