8.2 ベイズ法・EMアルゴリズム・MCMC

コインを5回投げて5回全部表が出た。このコインは公平なのか、それとも偏っているのか? この問いへの答え方が、統計の2つの哲学——頻度主義とベイズ主義——で根本的に異なります。

Chapter 8.2では、「不確かさを明示的に扱い、それを活用する」という共通テーマのもと、 3つの強力な手法を探ります:ベイズ法(事後分布による推論)、EMアルゴリズム(潜在変数の推定)、 そしてバギング/モデル平均化(複数モデルの統合)。

「信念を更新する」ベイズの視点

コインを5回投げて5回全部表が出た。このコインは公平なのか、それとも偏っているのか? この問いへの答え方が、統計の2つの哲学——頻度主義とベイズ主義——で根本的に異なります。

頻度主義の立場では、パラメータ θ は固定された未知の値です。 データを集めてその値を「推定」します。コイン問題なら「表が出る確率 p を、データから推定する」というアプローチです。

ベイズ主義の立場では、パラメータ θ もまた不確かさを持つ確率変数として扱います。 「p は最初から 0.5 に近いはずだ」という事前の信念(事前分布 Pr(θ))を持ち、 データを見た後でその信念を更新します。

事前分布が観測データによって事後分布へと変化するアニメーション
幅広い青い曲線(事前分布)が、観測データを見た後にオレンジの狭い曲線(事後分布)へと変化する

まず「尤度(ゆうど)」という概念を導入します。 尤度 Pr(Z|θ) とは「パラメータが θ のとき、このデータ Z が観測される確率」のことです。 例えばコインの表確率が p = 0.7 なら、5回全部表の尤度は 0.7⁵ = 0.168。 p = 0.5 なら 0.5⁵ = 0.031。データから見て p = 0.7 のほうが「もっともらしい」ことがわかります。

ベイズ法では、この尤度と事前分布を組み合わせて事後分布 Pr(θ|Z) を計算します:

$$\Pr(\theta | Z) = \frac{\Pr(Z|\theta) \cdot \Pr(\theta)}{\int \Pr(Z|\theta) \cdot \Pr(\theta) \, d\theta}$$

これがベイズの定理です。分母の積分は「確率の総和を1にするための正規化定数」で、θ によらない定数です。 つまり事後分布は:

$$\text{事後分布} \propto \text{尤度} \times \text{事前分布}$$

データを見た後の知識 = データが与えるエビデンス × データを見る前の信念、というシンプルな掛け算です。

将来の観測値 znew に対する予測も、事後分布を使って積分で求めます:

$$\Pr(z^\text{new} | Z) = \int \Pr(z^\text{new} | \theta) \cdot \Pr(\theta | Z) \, d\theta$$

これは「θ が不確かならば、その不確かさも予測に反映させるべき」という考え方です。 1つの θ で予測するのではなく、ありうる θ すべてについて予測を平均するのです。

事前分布の強さ——どれくらい「信念」を持つか

ベイズ法の鍵は事前分布 Pr(θ) の選び方にあります。 これを上手く設定することで、データが少ないときでも合理的な推論ができます。

スプライン回帰(なめらかな曲線をデータに当てはめる手法)の例で考えましょう。 スプライン係数 β に対して以下の事前分布を置きます:

$$\beta \sim \mathcal{N}(0, \tau \Sigma)$$

ここで τ は事前分布の「強さ」を決めるパラメータです。

τの値によって事後分布の形が変わる様子(上段:強い事前分布、下段:弱い事前分布)
上段(緑:強い事前分布)では曲線が密集して安定、下段(オレンジ:弱い事前分布)では曲線が広がる

アニメーションの2段を見比べてみてください:

τ → ∞ の極限では、事前分布はほぼ「何も教えてくれない」情報になり、事後分布は最尤推定と一致します。

これは重要なメッセージを持っています:最尤法はベイズ法の特殊ケースなのです。 無情報事前分布を使ったベイズ推論は、最尤法と同じ答えを与えます。

しかし、ベイズ法には最尤法にない強みがあります。「点推定」ではなく「分布」を使うため、 予測の不確かさを自然に表現できるのです。

ベイズ積分の壁——見えないデータという難問

ベイズ法の理論は美しいですが、実用上の大きな壁があります。 事後分布の分母——あの積分 ∫Pr(Z|θ)Pr(θ)dθ ——が多くの場合、解析的に計算できないのです。

特に困るのが、データに「見えない情報」が含まれている場合です。

身長データを例に考えましょう。20人のデータがあり、ヒストグラムが二山(バイモーダル:2つの山を持つ形状)になっているとします。 「男性グループ」と「女性グループ」の2つのガウス分布が混ざっているのかもしれません:

$$g_Y(y) = (1 - \pi) \phi_{\theta_1}(y) + \pi \phi_{\theta_2}(y)$$

π は「女性グループの割合」、φθ₁ と φθ₂ はそれぞれのガウス分布です。

2つのガウス分布が混ざったデータと帰属の不確かさを表すアニメーション
数直線上に2つのクラスタ(青・オレンジ)が現れる。中間の紫の点は、どちらに属するか不明な状態を表す

アニメーションの紫色の点に注目してください。 その点は青(左クラスタ)とオレンジ(右クラスタ)の間で揺れています。 これが「帰属の不確かさ」です。

問題は、どのデータ点がどちらのグループに属するかわからないことです。 グループ帰属がわかっていれば、各グループのガウス分布を簡単に推定できます。 しかし帰属がわからないので、それを「推測」しながらパラメータを推定しなければなりません—— まさに「鶏と卵」の問題です。

この難問を解くのがEMアルゴリズム(Expectation-Maximization、期待値最大化アルゴリズム)です。

EMの2ステップ——「責任」を割り振り、パラメータを更新する

EMアルゴリズムは、2つのステップを交互に繰り返します:

Eステップ(期待値ステップ):現在のパラメータ推定値を使って、 各データ点が第2成分(例:女性グループ)に属する「責任(responsibility)」γᵢ を計算します:

$$\gamma_i(\theta) = \frac{\pi \phi_{\theta_2}(y_i)}{(1-\pi)\phi_{\theta_1}(y_i) + \pi \phi_{\theta_2}(y_i)}$$

これはベイズの定理の直接適用です:分子は「第2成分から来る確率 × 第2成分での密度」、 分母は「全体の密度」です。γᵢ は「このデータ点が第2成分から来た確率」を表します。

Mステップ(最大化ステップ):責任の値を重みとして使い、パラメータを更新します:

$$\mu_1^{\text{new}} = \frac{\sum_{i=1}^N (1-\gamma_i) y_i}{\sum_{i=1}^N (1-\gamma_i)}, \quad \mu_2^{\text{new}} = \frac{\sum_{i=1}^N \gamma_i y_i}{\sum_{i=1}^N \gamma_i}$$

新しい平均 μ₁ は「第1成分の責任が高いデータ点」の加重平均、 μ₂ は「第2成分の責任が高いデータ点」の加重平均です。 分散 σ² と混合割合 π も同様に責任を使って更新します。

EMアルゴリズムの反復収束。上段でガウス曲線が収束し、下段で対数尤度が上昇する
上段:2つのガウス曲線がデータに向かって収束する。下段:各反復で対数尤度が単調に増加する

アニメーションの上下2段を見てください:

この2ステップを繰り返すと、対数尤度は単調に増加し続け、やがて収束します。 EMアルゴリズムは局所最大値への収束が保証されています。

直感的に言えば:「暫定的なグループ帰属を仮定し(Eステップ)、 その仮定でパラメータを最適化し(Mステップ)、また帰属を更新する」——このサイクルです。

MCMCサンプリング——「地図を描く」確率的探索

EMアルゴリズムはパラメータの最頻値(最も確率が高い点、MAP推定とも呼ばれます)を求めます。 しかし真のベイズ推論では、最頻値だけでなく事後分布全体が必要です。 分布全体を持つことで、予測の不確かさを正確に表現できるからです。

問題は、事後分布の計算に必要な積分が高次元では事実上不可能なことです。 ここで登場するのがMCMC(マルコフ連鎖モンテカルロ)法 です。

MCMCは事後分布を直接計算するのではなく、その分布からサンプルを引くことで近似します。 十分な数のサンプルがあれば、分布の形が推定できます。

ギブスサンプリングの軌跡。2次元パラメータ空間を直角ジグザグで確率的に探索するアニメーション
等高線(同心楕円)上を点が直角に折れ曲がりながら進む。これがギブスサンプリングの特徴的な動き

ギブスサンプリングはシンプルなMCMC手法の一つです。 パラメータ θ = (θ₁, θ₂, ..., θₖ) を持つ問題で:

  1. 他のパラメータを固定したまま、θ₁ だけを条件付き分布 Pr(θ₁ | θ₂, ..., θₖ, Z) からサンプリング
  2. 次に θ₂ だけを Pr(θ₂ | θ₁, θ₃, ..., θₖ, Z) からサンプリング
  3. 全パラメータについて順番に繰り返す

「なぜ一度に全パラメータをサンプリングしないのか?」——高次元では難しいからです。 しかし1次元の条件付き分布からのサンプリングは簡単。 ギブスサンプリングはこの「簡単な問題」を繰り返すことで、難しい問題を解きます。 これがアニメーションで見た「直角に曲がるジグザグ運動」として現れます (1ステップずつ縦か横に動く)。

この手続きを繰り返すと、得られるサンプルの分布が事後分布 Pr(θ|Z) に収束します。

EMとMCMCを比較すると:

バギング——「多数決」で不安定さを克服する

ベイズ法・EM・MCMCは「不確かさ」をパラメータレベルで扱いました。 ここでは、もう少し実践的なアプローチを見てみましょう—— モデル自体の「不安定さ」への対処です。

ある種のモデル(特に決定木)は不安定です。 訓練データをほんの少し変えるだけで、全く異なる形の木が生まれます。 この不安定さは「バリアンスが高い」状態であり、汎化性能を損ないます。

バギング(Bootstrap Aggregation)の手順:

  1. 元のデータから B 個のブートストラップサンプルを作成(元データから同じ個数をランダムに復元抽出)
  2. 各ブートストラップサンプルでモデルを学習し、予測 f*b(x) を得る
  3. B 個の予測を平均する
$$\hat{f}_{\text{bag}}(x) = \frac{1}{B} \sum_{b=1}^{B} f^{*b}(x)$$
バギングによるバリアンス低減。多数の不安定な予測線が平均されて安定した太い線になる
灰色の細い線(個別ブートストラップモデル)がバラバラに分布し、オレンジの太い線(バギング平均)が安定している

なぜ平均することでバリアンスが減るのでしょうか? 独立した B 個の確率変数を平均すると、分散は 1/B になります。 ブートストラップサンプルは完全に独立ではありませんが、それでも大幅なバリアンス削減が可能です。

重要な点:バギングが効果的なのは不安定なモデルに限ります。 線形回帰のような安定したモデルでは、ブートストラップサンプルで学習しても似たようなモデルになるため、 平均しても改善は小さいです。

モデル平均化——「最良の1つ」より「みんなの知恵」

バギングをさらに一般化した概念がモデル平均化です。 バギングが「同じモデルのブートストラップ版」を平均するのに対し、 モデル平均化は異なる種類のモデルを統合します。

ベイズ的モデル平均化では、事後確率で重み付けして予測を組み合わせます:

$$\Pr(\zeta | Z) = \sum_{m=1}^M \Pr(\zeta | M_m, Z) \cdot \Pr(M_m | Z)$$

良いモデルほど高い重み Pr(Mm | Z) を持ちます。ただし事後確率の計算は複雑です。

3つのモデルの予測が重み付きで統合されるアニメーション
3つの異なるモデル(青の直線・緑の曲線・赤の折れ線)から矢印で中央へ収束し、オレンジの統合モデルが出現する

より実践的な方法がスタッキングです。 最適な重み w = (w₁, ..., wM) をデータから直接学習します:

$$\hat{w} = \arg\min_w \sum_{i=1}^N \left[y_i - \sum_{m=1}^M w_m \hat{f}_{-i}^m(x_i)\right]^2$$

記法の読み解き:

数学的に証明されていることがあります:最適な重み付き組み合わせは、常に最良の単一モデルより優れています(少なくとも同等以上)。

この章で学んだこと

この章で学んだ手法を振り返ると、共通のテーマが見えてきます:

「不確かさを無視するのではなく、明示的に扱い、活用する」

  • ベイズ法:パラメータの不確かさ → 事後分布として保持
  • EMアルゴリズム:帰属の不確かさ → 「責任」という確率で表現
  • MCMC:高次元の事後分布 → サンプリングで近似
  • バギング/モデル平均化:モデルの不確かさ → 複数モデルの統合

これらは一見バラバラに見える手法ですが、実は「不確かさへの向き合い方」という 統一されたフレームワークの上に立っています。