E検定

【E検定 演習問題あり】ベイズ推論を一気に理解:ベイズ則からMAP推定・ナイーブベイズまで

本ページにはプロモーションが含まれています。

この記事で解決できる疑問

  • ベイズ則、MAP推定とは?
  • ナイーブベイズはなぜ簡単なのに精度が出るの?
  • E検定では何を覚えれば点が伸びるの?

そんなモヤモヤを一気に解決します。

この記事では、ベイズ則で「事前×尤度=事後」を直感と式でつなぎ、MLEとの違いを手短に整理します。

さらに事前つきの最尤=MAP、軽くて強いナイーブベイズを、コイントスやスパム判定の例でサクッと掴みます。

E検定の頻出式と要点に絞った最短ルートです。

ぜひ最後までご覧ください。

「演習」すぐ見たい方はこちら →『演習と解答』へ

ベイズ則

この章では「ベイズ則」について、以下の内容を解説します。

  • 用語を1分で整理:事前・尤度・事後は何?
  • コイントスの例で計算の流れを追う
  • ベイズ則は確信の更新という話に置き換える

1つずつ詳しく見ていきましょう。

用語を1分で整理:事前・尤度・事後は何?

「事前」は観測前の先入観、「尤度」はそのデータがパラメータでどれだけ起きやすいか、事後は更新後の確信です。分母は全体の起こりやすさ(周辺尤度)で、確率として正規化する役割を持ちます。

\[
p(\theta \mid x) = \frac{p(x \mid \theta)\,p(\theta)}{p(x)},
\]

\[
p(x) = \sum_{\theta} p(x \mid \theta)p(\theta)
\]

連続パラメータでは分母が積分に変わります。比例記号を使うと、更新のコアは「事前×尤度」で、最後に確率に直すために割っていると考えられます。

\[
p(\theta \mid x) \propto p(x \mid \theta)\,p(\theta),
\]

\[
p(x) = \int p(x \mid \theta)p(\theta)\,d\theta
\]

ベイズ則は「事前(先入観)」に「尤度(データの筋の良さ)」を掛けて「事後(更新後の確信)」を得て、分母で確率に整える式です。

コイントスの例で計算の流れを追う

コインの表が出る確率を \(\theta\) とし、観測前は一様な事前 \(\theta \sim \mathrm{Beta}(1,1)\) を置きます。
\(3\) 回投げて表が \(2\) 回(\(n=3,\ k=2\))出たとします。

\[
p(k \mid n,\theta) = \frac{n!}{k!\,(n-k)!}\,\theta^{k}(1-\theta)^{\,n-k}
\]

\[
(\text{二項尤度})
\]

ベイズ更新では「事前 \(\times\) 尤度」を計算します。ベータ事前と二項尤度は相性が良く、事後分布もベータになります(共役事前)。

\[
p(\theta \mid k,n) \propto \theta^{1-1+k}(1-\theta)^{1-1+(n-k)}
\]

\[
= \theta^{2}(1-\theta)^{1}
\ \Rightarrow\ \mathrm{Beta}(3,2)
\]

事後平均は次のように計算されます。

\[
\mathbb{E}[\theta \mid D]
= \frac{a+k}{a+b+n}
= \frac{1+2}{1+1+3}
= 0.6
\]

少ないデータでも極端すぎない推定になるのがポイントです。

コイントスでは「数え上げ(表・裏の加算)」がそのまま事後の形に反映され、直感的で計算もしやすいです。

ベイズ則は確信の更新という話に置き換える

2つの仮説 \(H_1\) を比べるとき、事後の確信の強さは「事前の確信 \(\times\) データの説得力(尤度比)」で更新できます。

\[
\frac{p(H_1 \mid x)}{p(H_0 \mid x)}
= \frac{p(x \mid H_1)}{p(x \mid H_0)} \times \frac{p(H_1)}{p(H_0)}
\]

対数を取ると足し算の更新になり、直感と計算がシンプルになります。

\[
\log \frac{p(H_1 \mid x)}{p(H_0 \mid x)}
= \log \frac{p(x \mid H_1)}{p(x \mid H_0)}+\log \frac{p(H_1)}{p(H_0)}
\]

例:スパム事前 \(p(H_1)=0.1\) (非スパム \(0.9\))。
単語 \(x\) の尤度比が \(5\) のとき、事後オッズは

\[
5 \times \frac{0.1}{0.9} = 0.555\dots
\]

したがって事後確率は

\[
\frac{0.555}{1+0.555} \approx 0.357
\]

確信の更新は「事前の確信」に「データの説得力」を掛ける(足す)だけ。足し引きの直感で比較がしやすくなります。

最尤推定とベイズ推定の違い

この章では「最尤推定とベイズ推定の違い」について、以下の内容を解説します。

  • 少ないデータだとどっちが有利?直感で比べる
  • グラフで見る:MLEは鋭く、ベイズはなだらか
  • 使い分け早見表:こういう時はMLE/ベイズ

1つずつ詳しく見ていきましょう。

少ないデータだとどっちが有利?直感で比べる

少ないデータでは、観測だけを信じるMLEは振れやすく、事前知識で補うベイズはブレにくいのが直感です。

MLEは点を1つ選ぶ方法、ベイズは「パラメータの不確かさごと扱う」方法だと捉えると違いが見えます。

例として、コイントスで表確率 \(\theta\) を推定します。

観測回数は \(n=2\) 回で、すべて表 \(k=2\) だったとします。

最尤推定 (MLE) は次のように定義されます。

\[
\hat{\theta}_{\text{MLE}}=argθmax​p(D∣θ)
\]

この場合、

\[
\hat{\theta}_{\text{MLE}} = \frac{k}{n} = \frac{2}{2} = 1.0
\]

となり、極端な推定をします。

一方、ベイズ推定では次のように表されます。

\[
p(\theta\mid D)=\frac{p(D\mid \theta)\,p(\theta)}{p(D)}
\]

\[
(\text{Bayes})
\]

事前分布として一様分布 \(\theta \sim \mathrm{Beta}(1,1)\) を仮定すると、事後分布は

\[
p(\theta\mid D)=\mathrm{Beta}(3,1)
\]

となります。

このとき事後平均は

\[
\mathbb{E}[\theta\mid D] = \frac{1+2}{1+1+2} = 0.75
\]

となり、行き過ぎた推定を抑えることができます。

一般形では次のように書けます。

\[
\theta \sim \mathrm{Beta}(a,b),\quad D=(k,n)\
\]

\[
\Rightarrow\ p(\theta\mid D)=\mathrm{Beta}(a+k,\ b+n-k),\qquad
\]

\[
\mathbb{E}[\theta\mid D]=\frac{a+k}{a+b+n}
\]

少ないデータでは、MLEは鋭く当てに行くぶん極端になりやすい。ベイズは事前にブレーキをかけ、より頑健になりやすい。

グラフで見る:MLEは鋭く、ベイズはなだらか

尤度の山(横軸:\(\theta\)、縦軸:確からしさ)を想像してください。

MLEはこの山の頂点だけを見るため、山が細いと推定も鋭くなります。

ベイズは「事前の山」と「尤度の山」を掛け合わせた合成の山(事後)を見るので、全体としてなだらかになります。

\[
p(\theta\mid D)\ \propto\ p(D\mid \theta)\,p(\theta)
\]

連続モデルで形が明確です。

母平均 \(\mu\) を推定する正規モデル(分散既知)で、事前 \(\mu\sim \mathcal{N}(\mu_0,\tau^2)\)、データ平均 \(\bar{x}\)・標本数 \(n\) のとき、事後は正規で、平均は精度(逆分散)の加重平均になります。

\[
\mu \mid D \sim
\mathcal{N}!\left(
\frac{\frac{n}{\sigma^2}\,\bar{x} + \frac{1}{\tau^2}\,\mu_0}{\frac{n}{\sigma^2}+\frac{1}{\tau^2}},
\ \left(\frac{n}{\sigma^2}+\frac{1}{\tau^2}\right)^{-1}
\right)
\]

グラフで見ると、MLEは尤度の山の頂点、ベイズは事前×尤度の合成の山を採用。結果、ベイズの方が滑らかで過度な尖りを避けやすい。

使い分け早見表:こういう時はMLE/ベイズ

実務・試験での判断軸は「データ量」「先行知識の有無」「予測の形(点か分布か)」です。MLEは速くてシンプル、ベイズは頑健で不確かさも出せます。

予測(点): \(\hat{y}=f(x;\hat{\theta}_{\text{MLE}})),\quad\)

予測(確率): \(p(y\mid x,D)=\int p(y\mid x,\theta)\,p(\theta\mid D)\,d\theta\)

正則化との対応で見分けも容易です。MAPは「事前を足したMLE」で、ガウス事前は \(L_2\)、ラプラス事前は \(L_1\) と一致します(重み \(\lambda\) は事前の強さ)。

簡易早見

データが十分多い/事前が弱いMLE
データが少ない/領域知識が強いベイズ/MAP
不確かさも提示したいベイズ(事後分布・予測分布)

速さ・単純さ重視ならMLE、安定性と不確かさ表現が要るならベイズ(MAP含む)。

正則化=事前という対応を押さえると使い分けがスムーズです。

MAP推定

この章では「MAP推定」について、以下の内容を解説します。

  • ひとことで言うと「事前つきの最尤」
  • 手計算ミニ例:平均のMAPを出してみる
  • 正則化との関係を理解(L2/L1)

1つずつ詳しく見ていきましょう。

ひとことで言うと「事前つきの最尤」

最尤推定(MLE)は「観測データに一番合うパラメータ」を選びます。

MAP推定は「観測に合う × 事前に合う」を同時に最大化する方法で、直感的には事前つきの最尤です。

\[
\hat{\theta}_{MAP}
= \underset{\theta}{\arg\max}\ p(D \mid \theta)\,p(\theta)
\]

\[
= \underset{\theta}{\arg\max}\ \bigl[\log p(D \mid \theta) + \log p(\theta)\bigr]
\]

事前が一様なら \(\log p(\theta)\) は定数になり、MAPはMLEに一致します。

逆に、事前を強くするとデータに引きずられ過ぎない安定した推定になります。

\[
\hat{\theta}_{\mathrm{MLE}}
= \underset{\theta}{\arg\max}\ \log p(D \mid \theta)
\]

MAP=「尤度+事前」を最大化。

事前が弱いとMLE、強いとほどよいブレーキが効く。

具体例:平均のMAPを出してみる

平均 \(\mu\) を推定する正規モデルを考えます(分散 \(\sigma^2\) は既知)。
事前は \(\mu \sim \mathcal{N}(\mu_0,\tau^2)\)、
データは独立同分布 \(x_1,\dots,x_n \sim \mathcal{N}(\mu,\sigma^2)\) とします。

\(\lambda\) は「事前の強さ」と「ノイズ分散」で決まり、MAP は確率的に正則化を説明する視点です。

\[
\mu \mid D \sim
\mathcal{N}!\left(
\frac{\frac{n}{\sigma^2}\,\bar{x} + \frac{1}{\tau^2}\,\mu_0}{\frac{n}{\sigma^2}+\frac{1}{\tau^2}},
\ \Bigl(\frac{n}{\sigma^2}+\frac{1}{\tau^2}\Bigr)^{-1}
\right)
\]

数値例:\(n=3,\ \bar{x}=2.0,\ \sigma^2=1.0,\ \mu_0=0,\ \tau^2=4.0\) のとき

\[
\hat\mu_{\mathrm{MAP}}
=\frac{\frac{3}{1}\cdot 2.0+\frac{1}{4}\cdot 0}{\frac{3}{1}+\frac{1}{4}}
=\frac{6}{3.25}
=\frac{24}{13}
\approx 1.846 ,
\]

\[
\mathrm{Var}(\mu\mid D)
=\left(3+\frac14\right)^{-1}
=\frac{4}{13}
\approx 0.308
\]

少データでも、MLE の \(\bar{x}=2.0\) よりやや中心に寄る推定になっています。

正規 \(\times\) 正規では MAP = 事後平均 = 重み付き平均となり、重みは「データの精度 \(n/\sigma^2\)」と「事前の精度 \(1/\tau^2\)」になります。

正則化との関係を理解(L2/L1)

MAPは「データ当てはまり + 事前の好み」を最小化する形になり、機械学習の正則化と同じ見た目になります(絵としては、目的関数の等高線に円形/L2やひし形/L1の制約が重なるイメージ)。

\[
-\log p(D\mid\theta) - \log p(\theta)
\;\;\longrightarrow\;\;
\min_{\theta}
\]

線形回帰の場合 \(y \sim \mathcal{N}(X\theta,\sigma^2 I)\)、

ガウス事前 \(\theta \sim \mathcal{N}(0,\tau^2 I)\) を置くと ridge(L2)になります:

\[
\hat\theta_{\mathrm{MAP}}
=\arg\min_\theta \left(
\frac{1}{2\sigma^2}|y-X\theta|_2^2
+\frac{1}{2\tau^2}|\theta|_2^2
\right)
\]

\[
\equiv
\arg\min_\theta \left(
|y-X\theta|_2^2
+\underbrace{\frac{\sigma^2}{\tau^2}}_{\lambda}|\theta|_2^2
\right)
\]

ラプラス事前(スケール (b)) \(\theta_j \sim \mathrm{Laplace}(0,b)\) の場合、Lasso(L1)に対応します:

\[
\hat\theta_{\mathrm{MAP}}
=\arg\min_\theta \left(
\frac{1}{2\sigma^2}|y-X\theta|_2^2
+\frac{1}{b}|\theta|_1
\right)
\]

\[
\equiv
\arg\min_\theta \left(
|y-X\theta|_2^2
+\underbrace{\frac{2\sigma^2}{b}}_{\lambda}|\theta|_1
\right)
\]

  • ガウス事前→L2(滑らかに縮む=連続的な円)
  • ラプラス事前→L1(疎になる=角のあるひし形)

\(\lambda\) は「事前の強さ」と「ノイズ分散」で決まり、MAPは確率的に正則化を説明する視点です。

ナイーブベイズ分類器

この章では「ナイーブベイズ分類器」について、以下の内容を解説します。

  • スパム判定の例で仕組みをつかむ
  • 計算は「かけ算の積み重ね」→ログで足し算に
  • 精度が落ちる時:独立していない特徴の見分け方

1つずつ詳しく見ていきましょう。

スパム判定の例で仕組みをつかむ

テキスト分類の定番が「スパム(spam)か非スパム(ham)か」を当てる課題です。ポイントは、メール中の各単語がクラス(spam/ham)を条件にほぼ独立と仮定して、単語ごとの出やすさを掛け合わせることです。

スパム判定は「事前×単語尤度の積」による多数決。未出語は平滑化で対処します。

計算は「かけ算の積み重ね」→ログで足し算に

単語が多いと確率の積が極小になり、桁落ちが起こります。

そこで対数を取り、積を和へ変換して安定・高速に計算します(定数は比較では無視可)。

対数を取ると、文書のクラス尤度は

\[
\log p(y\mid \mathbf{x})
= \log p(y)
\sum_{i=1}^{V} \mathrm{tf}_i \,\log p(w_i\mid y)
\text{const}.
\]

連続特徴(例:メールの長さや数値的特徴)は、ガウス分布を仮定すると

\[
\log p(x_j\mid y)
= -\frac{1}{2}\log\bigl(2\pi\sigma_{jy}^2\bigr)
\frac{(x_j-\mu_{jy})^2}{2\sigma_{jy}^2}.
\]

したがって、ナイーブベイズの実装は「クラスごとにログ尤度を加算 → 最大のスコアを持つクラスを予測」という形になります。

精度が落ちる時:独立していない特徴の見分け方

「free」と「offer」のように一緒に出やすい単語が多いと、独立仮定が破れて二重カウントになり、精度が下がります。独立性の崩れは相関共起を見ると検知できます。

\[
\rho(X_i,X_j)
=\frac{\mathrm{Cov}(X_i,X_j)}
{\sqrt{\mathrm{Var}(X_i)\,\mathrm{Var}(X_j)}}
\]

\[
\text{(強い相関なら要注意)}
\]

より原理的には、クラスを固定した上での条件付き相互情報量が有効です。値が大きいほど「独立ではない」ことを示します。


\[
I(X_i;X_j \mid Y)
\]

\[
= \sum_{y} p(y)\sum_{x_i,x_j} p(x_i,x_j \mid y)\,
\log \frac{p(x_i,x_j \mid y)}{p(x_i \mid y)\,p(x_j \mid y)}
\]

対策は、以下のものが上げられます。

  • n-gram(2語フレーズ)や特徴結合でセットとして扱う
  • 高相関語を選択・削減
  • TF-IDFや正規化で影響を均す
  • Complement NBなど派生法の採用

独立仮定が崩れると過信が生まれる。相関/共起を測って検知し、n-gram・特徴選択・TF-IDF・Complement NBで補強しましょう。

総まとめチートシート

ベイズ則(離散・連続)

\[
p(\theta\mid x)=\frac{p(x\mid\theta)p(\theta)}{p(x)},
\]

\[
p(x)=\sum_{\theta}p(x\mid\theta)p(\theta)\ \text{or}\ \int p(x\mid\theta)p(\theta)\,d\theta
\]

オッズ更新(ベイズ因子)

\[
\frac{p(H_1\mid x)}{p(H_0\mid x)}
=\frac{p(x\mid H_1)}{p(x\mid H_0)}\cdot\frac{p(H_1)}{p(H_0)},
\]

\[
\log\text{版}:\
\log\frac{p(H_1\mid x)}{p(H_0\mid x)}
=\log\frac{p(x\mid H_1)}{p(x\mid H_0)}+\log\frac{p(H_1)}{p(H_0)}
\]

MLE vs ベイズ

\[
\hat\theta_{\text{MLE}}=\arg\max_\theta p(D\mid\theta),
\]

\[
p(\theta\mid D)\propto p(D\mid\theta)p(\theta)
\]

ベイズは不確かさ(事後分布)まで出せる。少データに強い。

MAP=事前つきの最尤

\[
\hat\theta_{\text{MAP}}
=\arg\max_\theta{\log p(D\mid\theta)+\log p(\theta)}
\]

ガウス事前 → \(L_2\)、ラプラス事前 → \(L_1\) 正則化に対応。

\[
\text{ridge}:\ |y-X\theta|_2^2+\lambda|\theta|_2^2,
\]

\[
\text{lasso}:\ |y-X\theta|_2^2+\lambda|\theta|_1
\]

共役事前の代表例

Beta–Binomial:\(\theta\sim\mathrm{Beta}(a,b),\ k\mid\theta\sim\mathrm{Bin}(n,\theta)\)

\[
p(\theta\mid k,n)=\mathrm{Beta}(a+k,\ b+n-k),
\]

\[
\mathbb{E}[\theta\mid D]=\frac{a+k}{a+b+n}
\]

Normal–Normal(分散既知):\(\mu\sim\mathcal N(\mu_0,\tau^2)\)

\[
\mu \mid D \sim \mathcal{N}!\Big(
\frac{\frac{n}{\sigma^2}}{\frac{n}{\sigma^2}+\frac{1}{\tau^2}}\bar{x}
+\frac{\frac{1}{\tau^2}}{\frac{n}{\sigma^2}+\frac{1}{\tau^2}}\mu_0,\
\left(\frac{n}{\sigma^2}+\frac{1}{\tau^2}\right)^{-1}
\Big)
\]

ナイーブベイズ(多項型)

\[
p(y\mid\mathbf{x})
\propto p(y)\prod_{i=1}^{V}p(w_i\mid y)^{\mathrm{tf}_i},
\]

\[
p(w\mid y)=\frac{\mathrm{count}(w,y)+\alpha}{\sum_v \mathrm{count}(v,y)+\alpha|V|}
\]

対数化で安定計算:

\[
\log p(y\mid\mathbf{x})
=\log p(y)+\sum_i \mathrm{tf}_i\log p(w_i\mid y)+\text{const}
\]

独立仮定が崩れると精度低下。相関や条件付き相互情報量で検知。

演習と解答

問題1(ベイズ則)

問題文:
2仮説 \(H_1,H_0\) がある。事前確率は
\(p(H_1)=0.3,\ p(H_0)=0.7\)。
観測 (x) の尤度が
\(p(x\mid H_1)=0.6,\ p(x\mid H_0)=0.2\) のとき、
(p(H_1\mid x)) を求めよ。

解答

途中式:
\[
p(H_1\mid x)
=\frac{p(x\mid H_1)p(H_1)}
{p(x\mid H_1)p(H_1)+p(x\mid H_0)p(H_0)}
\]

\[
=\frac{0.6\cdot 0.3}{0.6\cdot 0.3+0.2\cdot 0.7}
\]

解答:
\[
p(H_1\mid x)=\frac{0.18}{0.32}=0.5625
\]

\[
(\,p(H_0\mid x)=0.4375\,)
\]

問題2(ベイズ推定と最尤推定)

問題文:
コイントスで \(n=10\) 回中 \(k=7\) 回が表。
(1) \(\hat\theta_{\text{MLE}}\) を求めよ。
(2) 事前 \(\theta\sim \mathrm{Beta}(2,2)\) としたときの事後分布と事後平均を求め、(1)と比較せよ。

解答

途中式:
(1)
\[
\hat\theta_{\text{MLE}}=\frac{k}{n}=\frac{7}{10}=0.7
\]

(2)
\[
\theta\mid D \sim \mathrm{Beta}(2+7,\ 2+(10-7))=\mathrm{Beta}(9,5)
\]

\[
\mathbb{E}[\theta\mid D]=\frac{9}{9+5}=\frac{9}{14}\approx 0.6429
\]

解答:
MLEは \(0.7\)。ベイズは事前を反映して \(\mathrm{Beta}(9,5)\)、事後平均は約 \(0.643\)(少し中心寄り)。

問題3(MAP推定)

問題文
標本は \(x_i \sim \mathcal{N}(\mu,\sigma^2)\)(\(\sigma^2=1\) 既知)、事前分布は \(\mu \sim \mathcal{N}(0,\tau^2)\)(\(\tau^2=4\))。標本数は \(n=3\)、標本平均は \(\bar{x}=2.0\)。\(\mu\) の MAP を求めよ。

解答

途中式
\[
\hat{\mu}_{\mathrm{MAP}}
=\frac{\frac{n}{\sigma^2}\,\bar{x}+\frac{1}{\tau^2}\,\mu_0}{\frac{n}{\sigma^2}+\frac{1}{\tau^2}}
=\frac{\frac{3}{1}\cdot 2+\frac{1}{4}\cdot 0}{\frac{3}{1}+\frac{1}{4}}
\]

\[
=\frac{6}{3+\frac{1}{4}}
=\frac{6}{\frac{13}{4}}
=\frac{24}{13}
\]

解答
\[
\hat{\mu}_{\mathrm{MAP}}=\frac{24}{13}\approx 1.846
\]
(MLE は \(\bar{x}=2.0\)。MAP は事前平均 \(0\) へわずかに縮みます。)

問題4(ナイーブベイズ分類器)

問題文
語彙は \({w_1=\text{free},\, w_2=\text{win}}\)。
事前確率は \(p(\text{spam})=0.4,\ p(\text{ham})=0.6\)。
尤度は \(p(w_1\mid \text{spam})=0.2,\ p(w_2\mid \text{spam})=0.1,\)
\(p(w_1\mid \text{ham})=0.02,\ p(w_2\mid \text{ham})=0.01\)。
メール \(x\) に \({w_1,w_2}\) が各1回出現したとき、どちらに分類されるか。

解答

途中式
\[
\begin{aligned}
\text{score}(\text{spam}) &\propto 0.4 \times 0.2 \times 0.1 = 0.008, \
\text{score}(\text{ham}) &\propto 0.6 \times 0.02 \times 0.01 = 0.00012.
\end{aligned}
\]

解答
\[
\text{score}(\text{spam}) \gg \text{score}(\text{ham})
\]
したがって spam に分類する。事後比はおよそ
\[
0.008 : 0.00012 \;\simeq\; 98.5\% : 1.5\%.
\]

おわりに

ここまでで「ベイズ則→MLEとの違い→MAP→ナイーブベイズ」の流れが見えたと思います。

ベイズ則は「確信を少しずつ更新する道具」です。

MLEはデータだけ、MAPは事前の知識も足して安定させます。

ナイーブベイズは手軽に試せる入門モデルです。

まずは小さな例で式を動かし、平滑化や設定の違いを体験しましょう。

仕上げに『演習と解答』で手を動かして、理解を自分のものにしてください。

-E検定