大項目8 AIに必要な数理・統計知識(確率・統計)
G検定の最尤推定(尤度・対数尤度・交差エントロピー)
G検定の出題範囲には、確率・統計の用語として最尤法があります。このページは、コインを10回投げて表が7回出た例で、尤度を実際に計算し、尤度が最大になる表の確率を求めます。最尤推定は「得られたデータが、いちばん出やすくなるパラメータを選ぶ方法」だと、数字で確かめられます。
データはすべて架空です。ディープラーニングの損失関数との関係も、最後にまとめます。
この記事の目次
公式情報の確認
試験日、料金、申込条件、試験方式など変動する情報は、公式情報を最終確認してください。 当サイトの一次情報確認日: 2026-10-02。
試験の出題範囲・実施要項は変動するため、受験前に公式情報を確認してください。
結論
- 最尤推定は、尤度(データが得られる確率をパラメータの関数として書いたもの)が最大になるパラメータを推定値にする方法
- コイン10回で表7回なら、尤度はp⁷(1−p)³で、最大になるのはp=0.7(観測した割合と同じ)
- 尤度は積になるので、対数を取って和にしてから微分する。尤度と対数尤度の最大点は同じ
- 正規分布の分散の最尤推定量はnで割る形で、不偏分散(n−1で割る)とは違う
- ニューラルネットワークの損失関数の多くは、負の対数尤度(交差エントロピー)にあたる
尤度とは何か
NISTのハンドブックは、標本データの尤度を「選んだ確率分布のモデルのもとで、そのデータが得られる確率」と説明しています。この式には未知のパラメータが入っていて、標本の尤度を最大にするパラメータの値が、最尤推定値(MLE)です。
考え方の順番は次のとおりです。
- 確率分布のモデルを決める(コイン投げなら、表の確率がpのベルヌーイ分布)
- 観測したデータが得られる確率を、pの式として書く(これが尤度)
- その式が最大になるpを探す(これが最尤推定値)
コイン投げ10回で尤度を計算する
コインを10回投げて、表が7回、裏が3回出ました。表の確率をpとすると、この結果の尤度は、表7回の確率p⁷と裏3回の確率(1−p)³の積です(この順番で出る確率。並び方の数を掛けても、最大になるpは変わりません)。
L(p) = p⁷ × (1−p)³
| 表の確率 p | 表7回(p⁷) | 裏3回((1−p)³) | 尤度 L(p) |
|---|---|---|---|
| 0.5 | 0.5⁷ ≒ 0.00781 | 0.5³ = 0.125 | ≒ 0.000977 |
| 0.6 | 0.6⁷ ≒ 0.02799 | 0.4³ = 0.064 | ≒ 0.001792 |
| 0.7 | 0.7⁷ ≒ 0.08235 | 0.3³ = 0.027 | ≒ 0.002224(最大) |
| 0.8 | 0.8⁷ ≒ 0.20972 | 0.2³ = 0.008 | ≒ 0.001678 |
尤度はp=0.7のとき最大で、表が出た割合7÷10と一致します。p=0.5(公平なコイン)でも同じデータは得られますが、尤度は0.000977と、0.7の場合の半分以下です。「このデータが出たのは、p=0.7のときが最も自然」というのが、最尤推定の考え方です。
対数尤度で最大値を求める
表を並べて探すかわりに、微分で最大点を求めます。尤度は積なので、対数を取って和にします。
- 対数尤度:ln L(p) = 7 ln p + 3 ln(1−p)
- pで微分して0とおく:7÷p − 3÷(1−p) = 0
- 整理する:7(1−p) = 3p となり、p = 7÷10 = 0.7
このときの対数尤度は ln L(0.7) ≒ −6.109、p=0.5では ln L(0.5) = 10 ln 0.5 ≒ −6.931です。対数は単調に増える関数なので、尤度を最大にするpと、対数尤度を最大にするpは同じです。データが1万件でも、積を和に直せば計算できます。
正規分布の平均と分散の最尤推定
データが正規分布に従うと考えるときも、同じ手順で平均と分散を推定できます。3個のデータ4、5、9で確かめます。
- 平均の最尤推定値:標本平均 = (4+5+9)÷3 = 6
- 偏差:−2、−1、3。偏差平方和は 4+1+9 = 14
- 分散の最尤推定値(nで割る):14÷3 ≒ 4.667
- 不偏分散(n−1で割る):14÷2 = 7
分散の最尤推定量は、nで割るので不偏分散より小さくなり、偏りがあります。英語版Wikipediaは、この推定量の期待値が(n−1)/n×σ²になると説明しています。サンプルサイズが大きくなると差は小さくなります。nで割る分散とn−1で割る分散の違いは、標本分散と不偏分散の比較にまとめています。
最尤推定と交差エントロピー損失
Goodfellow他の教科書『Deep Learning』は、現代のニューラルネットワークの多くは最尤法で訓練されると述べています。このとき、コスト関数は負の対数尤度で、訓練データとモデルの分布の間の交差エントロピーと等価です。
コイン投げの例で、負の対数尤度を計算します。
- p=0.7:−ln L(0.7) ≒ 6.109。10回で割ると約0.611
- p=0.5:−ln L(0.5) ≒ 6.931。10回で割ると約0.693(ln 2)
負の対数尤度を小さくすることと、尤度を大きくすることは同じ操作です。分類問題で使う交差エントロピー損失を下げる学習は、正解ラベルが出やすいパラメータを探す最尤推定にあたります。損失を下げる手順は勾配降下法のページで確認できます。
問題文から読み取る
このページの計算例から導いた読み方です。出題を予想するものではありません。
- 「データが得られる確率が最大になるパラメータを推定する」とあれば、最尤法の説明
- 「確率をパラメータの関数として見たもの」とあれば、尤度
- 「積を和に直して計算しやすくする」とあれば、対数尤度を使う理由
- 「損失関数が負の対数尤度になる」とあれば、交差エントロピー損失との関係
- 最尤推定値は、データから見て最も尤もらしい値であって、真の値を保証するものではない
G検定の学習に使う書籍(Amazon)
試験範囲を通して読むときの1冊です。読んだ章は、このサイトの章別問題で確かめられます。
よくある質問
最尤推定とは何ですか?
データが得られる確率(尤度)を、未知のパラメータの関数として書き、その尤度が最大になるパラメータの値を推定値にする方法です。NISTのハンドブックも、標本の尤度を最大にするパラメータの値を最尤推定値(MLE)と説明しています。
尤度と確率は何が違いますか?
確率は、パラメータを決めたうえで「このデータが出る度合い」を見ます。尤度は、データを固定したうえで「パラメータをいくつにすれば、このデータが出やすいか」を、パラメータの関数として見ます。式の形は同じで、動かす変数が違います。
なぜ尤度ではなく対数尤度を最大にするのですか?
データが多いと尤度は小さな確率の積になり、計算しにくくなります。対数を取ると積が和になり、微分もしやすくなります。対数は単調に増える関数なので、尤度を最大にするパラメータと、対数尤度を最大にするパラメータは同じです。
分散の最尤推定量は、普通の標本分散と同じですか?
同じではありません。正規分布の分散の最尤推定量は偏差平方和をnで割り、不偏分散はn−1で割ります。英語版Wikipediaも、最尤推定量の期待値が(n−1)/n×σ²になり、偏りがあると説明しています。このページの例では、4.667と7になります。
ディープラーニングの損失関数と最尤推定は関係がありますか?
あります。Goodfellow他の教科書は、現代のニューラルネットワークの多くは最尤法で訓練され、コスト関数は負の対数尤度であり、訓練データとモデルの分布の間の交差エントロピーと等価だと述べています。
