TL

損失関数の数理:交差エントロピーと最尤推定の関係

なぜ分類は交差エントロピー、回帰は二乗誤差なのか。答えは全部、最尤推定という一つの原理から出てくる。バラバラに覚えた損失関数が一本の筋で繋がります。

応用損失関数交差エントロピー最尤推定softmaxKLダイバージェンス最終更新: 2026-06-21
TL;DR要点だけ先に
  • 1.交差エントロピー・MSE・KLダイバージェンスは独立した道具ではなく、すべて「最尤推定(負の対数尤度の最小化)」から導かれる。仮定する確率分布が違うだけで、出発点は同じ。
  • 2.MSE は出力にガウス分布を仮定したときの負の対数尤度、交差エントロピーはカテゴリ分布(ベルヌーイ/カテゴリカル)を仮定したときの負の対数尤度。KLダイバージェンスの最小化は交差エントロピー最小化と等価。
  • 3.softmax+交差エントロピーの勾配が `y_hat − y` と綺麗になるのは偶然ではなく、指数型分布族と対数尤度の構造から必然的に出る。だから出力層は softmax+CE が定番。

なぜ損失関数は「あの形」なのか

機械学習を学ぶと、回帰には二乗誤差(MSE)、分類には交差エントロピー(CE)、と暗記的に教わります。しかし、なぜその組み合わせなのかを問われると答えに詰まる人は多い。実はこれらは別々に発明された道具ではなく、最尤推定(MLE, Maximum Likelihood Estimation)という一つの原理から導かれる兄弟です。仮定する確率分布が違うだけで、出発点はまったく同じ。この視点を持つと、損失関数の選択が「慣習」から「モデル化の意思決定」へと変わります。

この記事の前提と射程

ここで扱うのは「損失をどう最小化するか」(勾配降下法 や逆伝播)ではなく、その手前の「そもそも何を損失と定義すべきか」です。モデルが出力する勾配の流し方は 誤差逆伝播法の数理 に譲り、本稿は損失そのものの正体に集中します。

最尤推定という出発点

モデルとは、パラメータ θ(重み)を持つ確率分布 p(y | x; θ) だと捉えます。学習データ (x_i, y_i) が N 個あるとき、それらが独立同分布だと仮定すると、データ全体の尤度(このパラメータのもとでデータが観測される確率)は各点の確率の積になります。

L(θ) = Π_i  p(y_i | x_i; θ)      # 尤度=全データ点の確率の積

最尤推定とは、この尤度を最大にする θ を探すことです。積は扱いにくく、また小さな確率の掛け算は数値的にアンダーフローするため、対数を取って和に変えます。さらに「最大化」を「最小化」に揃えるため符号を反転し、負の対数尤度(NLL, Negative Log-Likelihood) を最小化問題として定式化します。

θ* = argmin_θ  −Σ_i  log p(y_i | x_i; θ)

対数は単調増加なので最大値の位置は変わりません。この −Σ log p(...) こそが損失関数の母型です。あとは p にどんな分布を仮定するかで、具体的な損失の形が決まります。

ガウス分布を仮定すると MSE になる

回帰問題で、モデルの予測 y_hat のまわりに誤差が正規分布(ガウス分布)で乗っていると仮定します。つまり p(y | x) = Normal(y; mean=y_hat, var=σ²) です。このガウス分布の対数を取ると、指数の中の二乗項がそのまま降りてきます。

−log p(y | x) = (y − y_hat)² / (2σ²) + log(σ√(2π))

第2項は θ に依存しない定数、1/(2σ²)θ から見れば定数倍です。したがって θ について最小化する対象は (y − y_hat)² だけ。全データで和を取れば、これは二乗誤差(MSE)そのものです。

MSE が暗黙に置いている仮定

MSE を使うことは「予測誤差が等分散のガウス分布に従う」と暗黙に仮定することと等価です。だから外れ値に弱い(ガウスの裾が薄く、大きな誤差を過剰に罰する)。誤差がラプラス分布だと仮定すれば、同じ導出から絶対誤差(MAE, L1損失)が出てきます。損失の選択は、誤差分布の仮定の選択なのです。

カテゴリ分布を仮定すると交差エントロピーになる

分類では、出力 y は連続値ではなくクラスのラベルです。K クラス分類なら、モデルは各クラスの確率ベクトル y_hat = (y_hat_1, ..., y_hat_K)(合計1)を出し、正解は one-hot ベクトル y(正解クラスだけ1)で表します。観測がカテゴリ分布に従うと仮定すると、1データ点の確率はインデックス積で書けます。

p(y | x) = Π_k  (y_hat_k)^(y_k)      # 正解クラス k* 以外は指数 0 で消える

y_k は one-hot なので、正解クラス k* の項だけが残り p = y_hat_{k*} です。負の対数尤度を取ると、和の形になります。

−log p(y | x) = −Σ_k  y_k · log(y_hat_k)

これが交差エントロピー(クロスエントロピー)損失そのものです。2クラス(ベルヌーイ分布)なら同じ導出からバイナリ交差エントロピー −[y·log(y_hat) + (1−y)·log(1−y_hat)] が出ます。要するに、回帰の MSE と分類の CE は「ガウスかカテゴリか」という分布仮定の違いだけで、どちらも −log p という同じ母型の子供なのです。

KLダイバージェンスとの等価性

交差エントロピーは情報理論の KLダイバージェンス(2つの分布のズレ)とも一本の線で繋がります。真の分布を p(データの経験分布、one-hot)、モデルの分布を qy_hat)とすると、両者の関係は次の恒等式です。

CrossEntropy(p, q) = Entropy(p) + KL(p || q)

ここで Entropy(p) は真の分布だけで決まり、θ には依存しない定数です。したがって交差エントロピーを最小化することは、KLダイバージェンス KL(p || q) を最小化することと完全に等価になります。

損失関数仮定する分布最尤推定からの正体
二乗誤差(MSE)ガウス分布(等分散)ガウス仮定下の負の対数尤度。外れ値に敏感
絶対誤差(MAE / L1)ラプラス分布ラプラス仮定下の負の対数尤度。外れ値に頑健
交差エントロピー(CE)カテゴリ/ベルヌーイ分布カテゴリ仮定下の負の対数尤度=KL最小化
KLダイバージェンス—(分布間のズレ/非対称)CE から定数(真の分布のエントロピー)を引いたもの

つまり「CE を下げる=モデル分布を真の分布へ近づける」という直観は、KL の最小化として数学的に裏づけられています。負の対数尤度・交差エントロピー・KL最小化は、同じ操作の三つの呼び名だと言えます。

なぜ softmax+交差エントロピーの勾配は綺麗になるのか

実務で softmax と交差エントロピーがほぼ常にセットで使われる理由は、両者を合成したときの勾配が劇的に簡単になるからです。softmax はスコア(ロジット)z を確率に変換します。

y_hat_k = exp(z_k) / Σ_j exp(z_j)      # softmax

ここで損失を「softmax を通した確率」ではなく、その手前のロジット z について微分するのが肝心です。CE を z_k で偏微分すると、softmax の微分(∂y_hat_i/∂z_j = y_hat_i(δ_ij − y_hat_j) という形。δ_ij はクロネッカーのデルタ)と CE の微分が打ち消し合い、驚くほど簡潔な結果に収束します。

∂L/∂z_k = y_hat_k − y_k       # 予測確率 − 正解(one-hot)

ベクトルで書けば ∂L/∂z = y_hat − y「予測と正解の差」がそのまま勾配になる。逆伝播の出発点となる誤差信号がこの単純な引き算で済むため、誤差逆伝播法の数理 で見たデルタの初期化が δ = y_hat − y という最も扱いやすい形になります。

なぜ打ち消し合うのか(試験で問われる核心)

これは偶然ではありません。softmax は指数型分布族の自然な形であり、交差エントロピー(対数尤度)はその指数の中身(自然パラメータ z)と線形に噛み合います。log(exp(z_k)/Σexp(z_j))z で微分すると、対数の中の指数が z を打ち消し、残るのは softmax 確率と one-hot の差だけ。「対数」と「指数」が逆関数として相殺する構造が、勾配を線形に保ちます。シグモイド+バイナリCE が y_hat − y になるのも同じ理屈です。

組み合わせを間違えるとどうなるか

この相殺はペアで使って初めて成立します。softmax の出力に二乗誤差を当てると相殺が起きず、勾配に softmax の微分項(小さくなりやすい)が残って学習が停滞します。逆に、ロジットに対して別途 softmax を計算したうえで log を取ると、数値的に不安定(log(0) の発散)になりがちです。

実装上の定石:logits を直接渡す

PyTorch の CrossEntropyLoss や TensorFlow の softmax_cross_entropy_with_logitssoftmax 前のロジットを直接受け取る設計なのは、この相殺と数値安定化(log-sum-exp トリック)を内部で一括処理するためです。自分で softmax をかけてから別途 log を取る実装は二度手間かつ不安定。「分類はロジット+CE をフレームワークに任せる」が鉄則です。誤差の評価指標そのものは モデル評価 を参照。

まとめ:一つの原理が全部を生む

論点実態そこから言えること
損失の母型負の対数尤度 −Σ log pすべての損失はここから分布仮定で派生
MSE と CE の違いガウス仮定かカテゴリ仮定かの差回帰と分類で形が違うのは分布が違うから
CE と KLCE = 定数 + KLCE 最小化はモデル分布を真の分布へ寄せること
softmax+CE指数と対数が相殺し勾配が y_hat − y出力層の定番。logits を直接損失に渡す

損失関数は「分類だから交差エントロピー」と暗記するものではなく、「データがどんな確率分布から生まれたと仮定するか」を宣言する行為です。最尤推定という一本の原理に立ち返れば、MSE も交差エントロピーも KL も、そして softmax との相性の良さも、すべて同じ数理から必然として導かれる。この見立てを持つと、新しいタスクで損失を設計するとき——たとえば出力が個数ならポアソン、裾が重いならラプラス——「どの分布を仮定すべきか」という正しい問いから出発できます。基礎となる学習の枠組みは ニューラルネットワーク も合わせて確認してください。

AI/機械学習 Article

損失関数の数理:交差エントロピーと最尤推定の関係を実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

損失関数

比較で見る軸

難易度: advanced / カテゴリ: AI/機械学習 / タグ数: 5

導入後に効く点

MSE は出力にガウス分布を仮定したときの負の対数尤度、交差エントロピーはカテゴリ分布(ベルヌーイ/カテゴリカル)を仮定したときの負の対数尤度。KLダイバージェンスの最小化は交差エントロピー最小化と等価。

先に潰すリスク

用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。

数字・仕様の読み方
難易度
advanced
カテゴリ
AI/機械学習
タグ数
5

判断チェックリスト

  • 自社の用途が「損失関数 / 交差エントロピー」に近いか確認する。
  • 強みである「交差エントロピー・MSE・KLダイバージェンスは独立した道具ではなく、すべて「最尤推定(負の対数尤度の最小化)」から導かれる。仮定する確率分布が違うだけで、出発点は同じ。」が本当に評価軸になるか確認する。
  • 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

損失関数交差エントロピー最尤推定softmaxKLダイバージェンス損失関数交差エントロピー最尤推定
参考: 公式情報