Open1

よく混乱してしまうのでベイズ推定をまとめる

目指せ強いエンジニアを!中野哲平目指せ強いエンジニアを!中野哲平

最尤推定(MLE)と最大事後確率推定(MAP)

最尤推定(MLE)と最大事後確率推定(MAP)は、パラメータ推定の2つの代表的な方法です。それぞれの違いや考え方を簡単に説明します。


1. 最尤推定(MLE: Maximum Likelihood Estimation)

目的:
データ ( D ) が観測されたとき、モデルのパラメータ ( \theta ) を「最もデータを説明しやすい値」に推定する。

数学的定義:
[
\theta_{MLE} = \arg\max_{\theta} P(D | \theta)
]

  • つまり、「データ ( D ) が与えられたときの尤度(Likelihood)( P(D | \theta) ) を最大化するパラメータ ( \theta ) を求める。

例:
サイコロの目の出る確率 ( p ) を推定したいとする。

  • 10回振って6が4回出たとする(成功4回、失敗6回)。
  • このときの確率は二項分布に従う。
  • 最尤推定では、( p ) を 成功数 ÷ 試行回数 = 4/10 = 0.4 と求める。

特徴:

  • データのみに基づく推定方法。
  • 過学習のリスクがある(データが少ないと不安定)。

2. 最大事後確率推定(MAP: Maximum A Posteriori Estimation)

目的:
MLEに「事前知識(Prior)」を加えて、パラメータ ( \theta ) を推定する。

数学的定義:
[
\theta_{MAP} = \arg\max_{\theta} P(\theta | D) = \arg\max_{\theta} \frac{P(D | \theta) P(\theta)}{P(D)}
]

  • ベイズの定理に基づき、「データ ( D ) を観測した後の確率(事後確率)」を最大化するパラメータを求める。
  • MLEとの違い: 事前分布 ( P(\theta) ) を考慮する。

例:
先ほどと同じく、サイコロの6が出る確率 ( p ) を推定する。

  • しかし「普通のサイコロなら ( p \approx 1/6 ) くらいだろう」という事前知識があるとする。
  • そこで、事前分布として ベータ分布 ( Beta(2,5) ) を仮定すると、MAP推定の ( p ) は MLEの0.4よりも少し1/6に近づく。

特徴:

  • 事前知識を考慮するので、データが少なくても安定した推定ができる。
  • MLEに比べてバイアスがかかるが、過学習を抑制できる。

3. MLEとMAPの違い

項目 最尤推定(MLE) 最大事後確率推定(MAP)
基準 データの尤度のみ 尤度 + 事前分布
計算式 (\arg\max P(D \theta))
事前分布 なし(データのみ) あり(事前知識を考慮)
過学習の可能性 あり(特にデータが少ないとき) 少ない(事前分布があるため)
応用例 パラメータ推定一般 ベイズ統計、正則化

4. どちらを使うべきか?

  • データが大量にある → MLEで十分
  • データが少ない・事前知識がある → MAPが有効

実際の機械学習では、正則化(L2正則化など)が MAP の考え方に相当するため、実質的には MAP がよく使われる。


まとめ:

  • MLE → データを最大限活かすが、過学習のリスクあり。
  • MAP → 事前知識を活かし、安定した推定が可能。
  • ベイズ統計や LLM では、事前分布を考慮する MAP の考え方が重要!

これで MLE と MAP の違いが明確になったと思います!他にも詳しく知りたい点があれば教えてください 😊