交差エントロピー誤差の最大値が無限大になる理由と数学的仕組み

こんにちは。ゆうせいです。

機械学習の分類問題において、予測の正確さを測る指標として交差エントロピー誤差が広く利用されています。モデルが出力した予測のズレを計算する際、この交差エントロピー誤差が取り得る数値の範囲、特に最大値がどこまで大きくなるのかという疑問を持つ初学者は少なくありません。

結論から述べますと、交差エントロピー誤差の数学的な最大値は正の無限大です。交差エントロピー誤差がなぜ無限大まで発散するのか、その数式構造や直感的な意味、そして実際のプログラム上での扱いについて解説します。

交差エントロピー誤差の定義と仕組み

交差エントロピー誤差は、正解となる確率分布と、モデルが予測した確率分布との乖離度合いを数値化する関数です。

高校のマークシート式試験に例えて考えてみます。ある問題の正解が選択肢A(正解確率100パーセント)であるのに対し、受験生が「正解は絶対にBであり、Aである確率は0パーセントである」と確信を持って誤答した場合を想像してください。このとき、完全な確信を持って間違えた解答に対して科されるペナルティの大きさが、交差エントロピー誤差の大きさに相当します。

二値分類において、正解ラベルを y(1 または 0)、モデルが正解であると予測した確率を p(0 から 1 の値)と置いたとき、1つのデータに対する交差エントロピー誤差 L は次の式で定義されます。

L = - (y \log(p) + (1 - y) \log(1 - p))

ここで用いる対数 log は、自然対数を指します。

最大値が無限大に達する数学的根拠

正解ラベル y が 1 である場合、数式の後半部分である (1 - y) log(1 - p) は 0 となるため、交差エントロピー誤差の式は次のように簡略化されます。

L = - \log(p)

モデルの予測確率 p が正解である 1 に近づくほど、log(1) は 0 となるため、ペナルティである誤差は 0 に収束します。

しかし、モデルが「正解の確率は 0 である」と極限まで誤った予測を出した場合、p は 0 に近づいていきます。高校数学の対数関数のグラフを思い出してください。入力値が正の方向から 0 に限りなく近づくとき、自然対数 log(p) の値は負の無限大へと落ち込んでいきます。

数式の先頭には負の符号(マイナス)が付いているため、負の無限大にマイナスが掛け合わされ、交差エントロピー誤差 L の値は正の無限大へと発散します。

\lim_{p \to +0} (-\log(p)) = +\infty

このように、モデルが正解に対して確率 0 を割り当てた瞬間、数学的には誤差の大きさが無限大に達します。

交差エントロピー誤差の長所と短所

交差エントロピー誤差の長所

  • 重大な誤答への強い罰則:完全に間違った予測に対して極めて大きなペナルティを与えるため、モデルが誤った確信を持たないようにパラメータ更新の力を強く働かせることができます。
  • 微分計算との親和性:ソフトマックス関数やシグモイド関数と組み合わせた際、偏微分の結果が予測値と正解値の差という単純な引き算の形に変形できるため、勾配降下法による計算が安定して進みます。

交差エントロピー誤差の短所

  • 数値計算の破綻リスク:予測確率が厳密に 0 または 1 に達すると、プログラム内部で対数のゼロ除算が発生し、計算結果が非数(NaN)となって処理が停止する原因になります。
  • 外れ値による勾配の爆発:誤ったラベル付けがされた異常データに対してモデルが正解確率 0 を割り当てた場合、発生した巨大な誤差によって重みパラメータが過剰に書き換わり、学習全体の安定性が損なわれます。

実装環境における無限大の回避策

理論上の最大値は正の無限大ですが、Pythonなどのプログラム上でそのまま計算を実行するとエラーが発生します。そのため、実際の機械学習ライブラリでは、微小な定数 epsilon(例:0.0000001 など)を予測確率に加算、あるいは確率の範囲をクリッピングする処理が施されます。

L = - \log(p + \epsilon)

この前処理を挟むことで、対数関数の入力が完全に 0 になる事態を防ぎ、計算上の最大値を有限な数値の範囲内に収めています。

まとめ

交差エントロピー誤差は、正解に対する予測確率が 0 に近づくにつれて自然対数の性質により正の無限大へ発散するため、数学的な最大値は無限大となります。この性質があるからこそ、誤った予測に対して強力な修正圧力を加えることができます。

交差エントロピー誤差に関する理解を深めるための学習順序を提示します。

  1. 自然対数関数のグラフ形状の確認横軸を確率 p、縦軸を誤差 L とした反比例に似た対数グラフを描き、入力が 1 のときに 0 となり、入力が 0 に近づくにつれて急激に縦軸の値が増加する挙動を確認します。
  2. 二乗和誤差との挙動比較分類問題において二乗和誤差を用いた場合と交差エントロピー誤差を用いた場合を比べ、誤答時における勾配の大きさの違いを計算によって比較します。
  3. クリッピング処理のコード確認PyTorchやTensorFlowなどのフレームワーク内部で、log関数を実行する直前に極小値をクリップして数値の安定性を確保している実装手順を確認します。

セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
海外放浪の末、2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。