本ページにはプロモーションが含まれています。
この記事で解決できる疑問
- ベイズ則、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θmaxp(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は事前の知識も足して安定させます。
ナイーブベイズは手軽に試せる入門モデルです。
まずは小さな例で式を動かし、平滑化や設定の違いを体験しましょう。
仕上げに『演習と解答』で手を動かして、理解を自分のものにしてください。