Skip to main content

normalized_entropy

Function normalized_entropy 

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

確率分布から候補数 $K$ に非依存な正規化シャノンエントロピー $H_{\text{norm}}(p) \in [0.0, 1.0]$ を算出する。

§数理仕様

$$H_{\text{norm}}(p) = \begin{cases} 0.0 & (K = 1) \ \frac{-\sum_{k=1}^K p_k \ln p_k}{\ln K} & (K \ge 2) \end{cases}$$

  • $p_k \le 0.0$ の要素は情報量 $0 \ln 0 = 0$ として対数計算をスキップする。
  • $K=1$ の特異点ではゼロ除算を回避し、決定的な $0.0$(不確実性なし)を即座に返却する。
  • 戻り値は浮動小数点誤差を考慮して [0.0, 1.0] の閉区間にクランプされる。

§引数

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

§戻り値

  • 成功時は [0.0, 1.0] にクランプされた正規化エントロピー、不正時は CoreError::MathError。