🦁

MCMCと変分推論(VI)の違いと使い分け

2025/03/01に公開

1. はじめに

ベイズ統計や機械学習の分野では、未知のパラメータの分布を推定するためにマルコフ連鎖モンテカルロ法(MCMC)変分推論(VI, Variational Inference)が使われます。どちらも確率分布を推定する方法ですが、計算方法や適用場面が異なります。

このブログでは、MCMCと変分推論の違いをシンプルに解説し、それぞれのメリット・デメリット、使い分けのポイントを紹介します。


2. MCMCとは?

✅ 確率分布をサンプリングで推定する方法

MCMC(Markov Chain Monte Carlo)は、サンプルをたくさん生成することで確率分布を近似する手法です。

MCMCの基本的な流れ

  1. 適当な初期値を設定する。
  2. マルコフ連鎖(現在の状態に基づいて次の状態を決める)を使って、新しいサンプルを生成する。
  3. 多くのサンプルを集めることで、目的の確率分布に近づく。

代表的なMCMCアルゴリズム

  • メトロポリス・ヘイスティングス法(MH法):サンプルをランダムに受け入れる or 拒否することで、正しい分布に近づける。
  • ギブスサンプリング:パラメータを一つずつ更新しながらサンプルを得る。

MCMCのメリット・デメリット

メリット デメリット
精度が高い(真の分布に近いサンプルが得られる) 計算コストが高い(サンプルを大量に生成する必要がある)
高次元の複雑な分布でも推定可能 収束が遅く、サンプルの依存性が高い
ノンパラメトリックなモデルにも適用可能 調整パラメータ(バーンイン期間・ステップ数など)が必要

3. 変分推論(VI)とは?

✅ 確率分布を関数で近似する方法

変分推論(Variational Inference, VI)は、複雑な確率分布を計算しやすい分布(ガウス分布など)で近似する手法です。

変分推論の基本的な流れ

  1. 近似する確率分布(q分布)を設定する。
  2. q分布のパラメータを調整し、目的の確率分布(p分布)にできるだけ近づける。
  3. 収束したq分布を推定結果として利用する。

VIのメリット・デメリット

メリット デメリット
計算が速い(最適化問題として解ける) 近似の誤差が発生する(本来の分布と異なる形になることがある)
大規模データにも適用可能 高次元データでは適切なq分布を選ぶのが難しい
収束が速い(MCMCよりも早く結果を得られる) 計算可能な近似分布に限定される

代表的なVIアルゴリズム

  • ブラックボックス変分推論(BBVI):確率分布をニューラルネットなどで表現。
  • ステップサイズ調整付きの最適化(ADVI):自動的にスケール調整して最適化。

4. MCMC vs. 変分推論(VI):どちらを使うべき?

どちらの手法を使うかは、目的や計算リソースによって異なります

比較項目 MCMC 変分推論(VI)
精度 高い(真の分布に近い) 近似(本来の分布とはズレる可能性あり)
計算時間 遅い(大量のサンプリングが必要) 速い(最適化で解ける)
高次元問題への対応 可能(ただし計算負荷が大きい) 難しい(適切な近似分布が必要)
大規模データへの適用 難しい(計算コストが大きい) 可能(スケールしやすい)

✅ MCMCを使うべきケース

  • 高い精度が必要な場合(近似誤差を許容できない)
  • データサイズが小さく、計算コストが許容できる場合
  • 高次元の複雑な分布を扱う場合

✅ 変分推論を使うべきケース

  • 高速な推論が必要な場合(リアルタイムでの推定など)
  • 大規模データを扱う場合(ビッグデータ向き)
  • 計算リソースが限られている場合

5. まとめ

MCMCと変分推論(VI)は、確率分布を推定するための代表的な手法ですが、それぞれ異なる強みがあります。

  • MCMC は「精度重視」、しかし「計算コストが高い」。
  • 変分推論 は「計算効率重視」、しかし「近似誤差がある」。

💡 実務では、両者を組み合わせて使うことも多い!
例えば、まずVIで大まかに推定した後にMCMCで精度を上げるといったアプローチが取られることもあります。

MCMCとVIの特性を理解し、状況に応じて適切な手法を選択しましょう!🚀

Discussion