【統計学】最尤法と尤度関数を「名探偵」の気分で理解しよう!

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

データ分析や機械学習の勉強を始めると、必ずと言っていいほど 最尤法(さいゆうほう) という言葉にぶつかります。

「もっとも」「尤(もっと)もらしい」「法」。

漢字を見るとなんだか難しそうですよね。お経の一節か、あるいは何か難しい哲学の話かと思ってしまいます。

でも、身構えないでください。実はこれ、皆さんが普段の生活の中で無意識に行っている 推理 を、数学の言葉でカッコよく言い換えただけなのです。

今回は、この最尤法とその周辺にある「尤度関数」「負の対数尤度」「最尤推量」といった専門用語を、名探偵になったつもりで楽しく紐解いていきましょう。

そもそも「尤度(ゆうど)」ってなに?

まずは、この聞き慣れない 尤度 という言葉から片付けましょう。

これは、「尤(もっと)もらしさ」、つまり 「その状況において、それがどれくらい起こりそうか?」 という度合いのことです。

少し具体的なストーリーで考えてみましょう。あなたは名探偵です。ある部屋で「半分かじられたチョコレート」が見つかりました。犯人は誰でしょうか?

容疑者は2人います。

  • 容疑者A:大の甘党。チョコを見ると 90 %の確率で食べる。
  • 容疑者B:甘いものが苦手。チョコを見ても 1 %の確率でしか食べない。

さて、この状況証拠(かじられたチョコ)を見たとき、あなたはどちらが犯人だと思いますか?

十中八九、容疑者A だと考えますよね。なぜなら、「Aさんであると考えたほうが、つじつまが合う(もっともらしい)」からです。

この「もっともらしさ」のことを、統計学では 尤度(Likelihood) と呼びます。

確率と尤度の違い

ここで鋭い方は「それって確率と同じじゃないの?」と思うかもしれません。実は、似ているようで視点が逆なのです。

  • 確率:犯人がAさんだとわかっている時、「チョコを食べるかどうか」を予測する。(原因 \rightarrow 結果)
  • 尤度:チョコが食べられているという結果を見て、「犯人がAさんである可能性」を推測する。(結果 \rightarrow 原因)

すでに手元にあるデータ(結果)から、その原因(パラメータ)を探るための数値、それが尤度なのです。

最尤法と最尤推定量:犯人を特定せよ!

尤度の意味がわかれば、最尤法(Maximum Likelihood Estimation) は簡単です。

その名の通り、 尤度が「最大」になるパラメータを探す方法 のことです。

先ほどの例で言えば、「Aさん説(尤度が高い)」と「Bさん説(尤度低い)」を比べて、一番尤度が高い「Aさん」を犯人と認定すること。これが最尤法です。

尤度関数と最尤推定量

ここで、もう少し数学的な用語も整理しておきましょう。

  • 尤度関数:パラメータを変化させたときに、尤度がどう変わるかを表した関数のことです。L(\theta) のように書かれます。横軸に犯人の候補、縦軸にもっともらしさをとったグラフを想像してください。
  • 最尤推定量:尤度関数が最大になる(一番てっぺんの)パラメータの値のことです。先ほどの例なら、「容疑者A」という答えそのものが最尤推定量にあたります。

要するに、「尤度関数という山を登って、一番高い頂上(最尤推定量)を見つけるアプローチ」のことを最尤法と呼ぶのです。

負の対数尤度:なぜわざわざ「負」にするの?

さて、ここからがエンジニアとしての本題です。

実際の機械学習の現場では、尤度をそのまま最大化するのではなく、負の対数尤度(Negative Log-Likelihood) というものを計算して、それを 最小化 するという手順を踏みます。

「えっ、最大化したいのに、なんで最小化? しかも対数?」

と混乱しますよね。これには、コンピュータならではの切実な事情があるのです。

理由1:掛け算は大変だから(対数の出番)

尤度は、確率の掛け算で計算されます。

たとえば、データが100個あれば、「 0.5 \times 0.2 \times 0.8 \dots 」のように100回掛け算をします。

しかし、 1 以下の小数を何度も掛けると、数字は限りなく 0 に近づいていきます(アンダーフローと言います)。こうなると、コンピュータは細かい計算ができなくなり、誤差だらけになってしまいます。

そこで 対数(log) の出番です!

高校数学を思い出してください。対数には 「掛け算を足し算に変換できる」 という魔法のような性質がありました。

\log(A \times B) = \log A + \log B

これを使えば、面倒な掛け算をシンプルな足し算に変換でき、計算も楽になり、アンダーフローも防げます。

理由2:山登りより「谷底」が好き(負の理由)

では、なぜマイナス(負)をつけるのでしょうか。

対数をとった尤度(対数尤度)は、まだ「最大化」を目指す形をしています。

しかし、世の中の多くの最適化アルゴリズム(勾配降下法など)は、「エラー(損失)を 最小 にする」ように設計されています。つまり、山登りよりも「谷底へ転がり落ちる」方が得意なのです。

そこで、グラフの上下をひっくり返すためにマイナスをつけます。

  • 尤度を 最大化 したい
  • = 対数尤度を 最大化 したい
  • = 負の対数尤度を 最小化 したい

これらは全て同じことを言っています。エンジニアとしては、既存のライブラリに合わせて「最小化」の問題に置き換えたほうが都合が良いのです。

メリットとデメリット

最尤法の良い点と注意点も押さえておきましょう。

メリット

  • 客観的である:誰が計算しても同じ結果になります。「なんとなく」ではなく、数学的に一番もっともらしい答えが出ます。
  • 性質が良い:データ量が増えれば増えるほど、真の値に近づいていくという素晴らしい性質(一致性)を持っています。

デデメリット

  • 外れ値に弱い:データの中に極端な異常値(ノイズ)が混ざっていると、それに引きずられて結果が歪んでしまうことがあります。
  • 過学習しやすい:今あるデータに合わせすぎるあまり、未知のデータに対応できなくなることがあります(これを過学習といいます)。

まとめと今後の学習

いかがでしたか。

漢字だらけで怖かった最尤法も、中身を開けてみれば「一番つじつまが合う犯人(パラメータ)を探す」という、名探偵の推理プロセスそのものでした。

  • 尤度:データの「もっともらしさ」。
  • 最尤法:尤度が最大になるパラメータを探す方法。
  • 負の対数尤度:計算しやすいように対数をとり、最小化問題にするための工夫。

この仕組みは、単純な統計だけでなく、ディープラーニングの学習(損失関数の設計)でも中心的な役割を果たしています。

理論がわかったら、次はこれを実際のモデルに当てはめてみましょう。

次のステップとして、この最尤法を使って学習を行う代表的な手法である ロジスティック回帰 について学んでみるのがおすすめです。「分類」の仕組みがより深く理解できるようになりますよ。

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

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

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