統計学において、ギブスサンプリング(またはギブスサンプラー)は、統計力学ではヒートバスアルゴリズムとも呼ばれ、同時分布からの直接サンプリングが困難な場合に、条件付き分布からのサンプリングの方が実用的であるような、指定された多変量確率分布からのサンプリングを行うためのマルコフ連鎖モンテカルロ(MCMC)アルゴリズムです。このシーケンスは、同時分布を近似する(例えば、分布のヒストグラムを生成する)、変数の1つまたは変数のサブセットの周辺分布を近似する(例えば、未知のパラメータや潜在変数)、または積分を計算する(例えば、変数の1つの期待値を計算する)ために使用できます。通常、変数の中には値が既知の観測値に対応するものがあり、それらはサンプリングする必要はありません。
ギブスサンプリングは、統計的推論、特にベイズ推論の手法として広く用いられています。これはランダム化アルゴリズム(つまり、乱数を用いるアルゴリズム)であり、期待値最大化アルゴリズム(EMアルゴリズム)などの決定論的アルゴリズムに代わる統計的推論手法です。
他のMCMCアルゴリズムと同様に、ギブスサンプリングはマルコフ連鎖を生成するサンプル群であり、各サンプルは近傍のサンプルと相関関係にある。そのため、独立したサンプルが必要な場合は注意が必要である。連鎖の最初(バーンイン期間)のサンプルは、目的とする分布を正確に表していない可能性があり、通常は破棄される。
ギブスサンプリングは、サンプリングアルゴリズムと統計物理学との類似性にちなんで、物理学者ジョサイア・ウィラード・ギブスにちなんで名付けられました。このアルゴリズムは、ギブスの死後約80年後の1984年にスチュアートとドナルド・ゲーマン兄弟によって記述され[ 1 ]、周辺確率分布、特に事後分布の計算のために統計学コミュニティで普及しました[ 2 ] 。
ギブスサンプリングは、基本バージョンではメトロポリス・ヘイスティングスアルゴリズムの特殊なケースです。しかし、拡張バージョン(下記参照)では、各変数(場合によっては各変数グループ)を順番にサンプリングすることで、多数の変数からサンプリングを行うための一般的なフレームワークとみなすことができ、メトロポリス・ヘイスティングスアルゴリズム(またはスライスサンプリングなどの手法)を組み込んで、1つ以上のサンプリングステップを実行できます。
ギブスサンプリングは、同時分布が明示的にわかっていない場合や、直接サンプリングするのが難しい場合に適用できますが、各変数の条件付き分布はわかっており、サンプリングが容易(または少なくとも容易)な場合にも適用できます。ギブスサンプリングアルゴリズムは、他の変数の現在の値を条件として、各変数の分布からインスタンスを順番に生成します。サンプルのシーケンスはマルコフ連鎖を構成し、そのマルコフ連鎖の定常分布がまさに求められる同時分布であることが示されます。[ 3 ]
ギブスサンプリングは、ベイジアンネットワークの事後分布をサンプリングするのに特に適しています。なぜなら、ベイジアンネットワークは通常、条件付き分布の集合として定義されるからです。
ギブスサンプリングは、その基本的な形態では、メトロポリス・ヘイスティングスアルゴリズムの特殊なケースです。ギブスサンプリングのポイントは、多変量分布が与えられた場合、同時分布で積分して周辺化するよりも、条件付き分布からサンプリングする方が簡単であるということです。 を得たいとしましょう。サンプル次元ランダムベクトル我々は反復的に進める。
このようなサンプリングを実施する場合、以下の重要な事実が当てはまります。
サンプリングを実施する際:
さらに、他のすべての変数が与えられた場合の1つの変数の条件付き分布は、結合分布に比例します。つまり、すべての可能な値に対して、の:
この場合の「比例」とは、分母がの関数ではないことを意味します。したがって、すべての値に対して同じである。; これは、分布の正規化定数の一部を形成する。実際には、因子の条件付き分布の性質を決定するために最も簡単なのは、変数に関するグラフィカルモデルによって定義された個々の条件付き分布に従って結合分布を因数分解し、関数ではないすべての因子を無視することです。(これらすべてと上記の分母を合わせて正規化定数を構成します)、そして必要に応じて最後に正規化定数を復元します。実際には、これは次の3つのいずれかを実行することを意味します。
ギブスサンプリングは、統計的推論(例えば、特定の日に特定の店舗で買い物をする人の数、有権者が最も投票する可能性の高い候補者など、パラメータの最適値を決定する)によく用いられます。この手法の考え方は、観測データごとに個別の変数を作成し、それらの変数からサンプリングするのではなく、対象となる変数を観測値に固定することで、観測データをサンプリングプロセスに組み込むというものです。残りの変数の分布は、観測データに基づいて条件付けられた事後分布となります。
目的のパラメータの最も可能性の高い値(最頻値)は、最も頻繁に出現するサンプル値を選択することで簡単に選択できます。これは、本質的にパラメータの最大事後推定に相当します。(パラメータは通常連続であるため、最頻値の意味のある推定値を得るには、サンプリングされた値を有限個の範囲または「ビン」のいずれかに「ビン化」する必要がある場合がよくあります。)しかし、より一般的には、サンプリングされた値の期待値(平均または平均値)が選択されます。これは、ベイズサンプリングから得られる分布全体に関する追加データを利用するベイズ推定器であり、期待値最大化(EM)などの最大化アルゴリズムは、分布から単一の点しか返すことができません。たとえば、単峰性分布の場合、平均(期待値)は通常、最頻値(最も頻繁に出現する値)と似ていますが、分布が一方の方向に歪んでいる場合、平均はその方向に移動します。これにより、その方向の余分な確率質量が効果的に考慮されます。 (分布が多峰性の場合、期待値は意味のある値を返すとは限らず、通常はいずれかの最頻値を用いる方が適切です。)
変数の中には、通常、関心のあるパラメータに対応するものもありますが、変数間の関係を適切に表現するためにモデルに導入される、関心のない(「邪魔な」)変数もあります。サンプリングされた値はすべての変数の同時分布を表しますが、期待値や最頻値を計算する際には、邪魔な変数は単純に無視できます。これは、邪魔な変数を周辺化することと同等です。複数の変数の値が必要な場合は、各変数について個別に期待値を計算します。(ただし、最頻値を計算する場合は、すべての変数をまとめて考慮する必要があります。)
教師あり学習、教師なし学習、半教師あり学習(欠損値を含む学習とも呼ばれる)はすべて、値が既知のすべての変数の値を固定し、残りの変数からサンプリングすることで処理できます。
観測データの場合、例えば一連の観測値の標本平均や標本分散に対応する変数ではなく、各観測値に対して1つの変数が存在します。実際には、一般的に「標本平均」や「標本分散」といった概念に対応する変数は全く存在しません。その代わりに、未知の真の平均と真の分散を表す変数が存在し、これらの変数の標本値はギブスサンプラーの動作によって自動的に決定されます。
一般化線形モデル(すなわち線形回帰の変種)も、ギブスサンプリングで処理できる場合があります。例えば、回帰係数に正規分布の事前分布を設定して、特定の二値(はい/いいえ)選択の確率を決定するプロビット回帰は、追加の変数を追加して共役性を利用できるため、ギブスサンプリングで実装できます。しかし、ロジスティック回帰はこの方法では処理できません。一つの方法として、ロジスティック関数を(通常7~9種類の)正規分布の混合で近似する方法があります。ただし、より一般的には、ギブスサンプリングの代わりにメトロポリス・ヘイスティングス法が使用されます。
サンプルを仮定しますパラメータベクトルに依存する分布から取得される長さ事前分布ありもしかしたらは非常に大きく、その周辺密度を求めるための数値積分は計算コストが高くなるだろう。そこで、周辺密度を計算する別の方法として、空間上にマルコフ連鎖を作成する方法がある。以下の2つの手順を繰り返すことで:
これらの手順は、目的の不変分布を持つ可逆マルコフ連鎖を定義する。これは次のように証明できます。もしすべての人々のためにそしてからジャンプする確率を表すにすると、遷移確率は次のようになる。
それで
以来これは同値関係である。したがって、詳細平衡方程式が満たされ、連鎖は可逆であり、不変分布を持つことを意味する。。
実際には、この指標ははランダムに選択されるのではなく、チェーンはインデックスを順番に巡回します。一般に、これは非定常マルコフ過程となりますが、個々のステップは可逆であり、全体的なプロセスは依然として望ましい定常分布を持ちます(チェーンが固定された順序の下で全ての状態にアクセスできる限り)。
させては、標本分布から生成された観測値を表す。そしてパラメータ空間でサポートされている事前分布であるベイズ統計学の中心的な目標の一つは、事後確率密度を近似することである。
周辺尤度すべての。
ギブスサンプラーを説明するために、パラメータ空間が分解すると
どこはデカルト積を表します。各コンポーネントのパラメータ空間スカラー成分、サブベクトル、または行列の集合である。
集合を定義するそれはギブスサンプラーの必須成分は各 の 番目の完全条件付き事後分布


以下のアルゴリズムは、一般的なギブスサンプラーの詳細を示しています。
ギブスサンプラーは、反復モンテカルロ法によってサイクル内で実行されることに注意してください。サンプル数上記のアルゴリズムによって描画されたマルコフ連鎖は、不変分布を目標密度として定式化します。。
さて、それぞれについて情報理論上の以下の量を定義する。
すなわち、事後相互情報量、事後微分エントロピー、事後条件付き微分エントロピーである。同様に情報理論的な量も定義できる。、、 そして交換することでそして定義された量において。次に、方程式は成り立つ。[ 4 ]
。
相互情報ランダム量の不確実性の減少を定量化する一度わかったら事後的に。それは、以下の場合に限り消滅する。そしては周辺的に独立しており、事後分布となる。相互情報量は、から伝達される量として解釈できます。への第 1 ステップギブスサンプラーの単一サイクル内の 番目のステップ。
基本的なギブスサンプラーには数多くのバリエーションが存在する。これらのバリエーションの目的は、計算コストの増加を相殺できる程度にサンプル間の自己相関を低減することである。
潜在ディリクレ配分や自然言語処理で使用されるさまざまなモデルなど、カテゴリ変数を含む階層ベイズモデルでは、カテゴリ変数の事前分布として一般的に使用されるディリクレ分布を縮約することがよく行われます。この縮約の結果、特定のディリクレ事前分布に依存するすべてのカテゴリ変数間に依存関係が生じ、縮約後のこれらの変数の同時分布はディリクレ多項分布になります。この分布における特定のカテゴリ変数の条件付き分布は、他のカテゴリ変数を条件とした場合、縮約を行わなかった場合よりもギブスサンプリングがさらに容易になるような非常に単純な形式をとります。ルールは次のとおりです。
一般に、共役事前分布は、その子ノードのみが共役分布を持つ場合、すべて縮約することができます。関連する数学的説明は、複合分布に関する記事で解説されています。子ノードが1つしかない場合、結果は既知の分布を仮定することがよくあります。たとえば、ガウス分布の子ノードが1つしかないネットワークから逆ガンマ分布の分散を縮約すると、スチューデントのt分布が得られます。(同様に、ガウス分布の子ノードの平均と分散の両方を縮約しても、両方が共役分布(平均がガウス分布、分散が逆ガンマ分布)であれば、スチューデントのt分布が得られます。)
子ノードが複数存在する場合、ディリクレ分布とカテゴリカル分布の場合と同様に、それらはすべて相互に依存するようになります。結果として得られる結合分布は、ある意味で複合分布に似た閉形式を持ちますが、各子ノードに対応する複数の因子の積が含まれます。
さらに、最も重要な点として、他の子ノードが与えられた場合(および縮約されたノードの親が与えられた場合、ただし子ノードの子は与えられない場合)の、ある子ノードの条件付き分布は、残りのすべての子ノードの事後予測分布と同じ密度を持ちます。さらに、事後予測分布は、パラメータは異なりますが、単一ノードの基本複合分布と同じ密度を持ちます。一般的な式は、複合分布に関する記事に記載されています。
例えば、条件付き独立で同一分布に従うガウス分布ノードの集合を持つベイズネットワークにおいて、平均と分散に共役事前分布が設定されている場合、平均と分散の両方を相殺した後の、他のノードが与えられたときの1つのノードの条件付き分布は、スチューデントのt分布になります。同様に、多数のポアソン分布ノードのガンマ事前分布を相殺した結果、他のノードが与えられたときの1つのノードの条件付き分布は、負の二項分布になります。
複合化によって既知の分布が得られる場合、効率的なサンプリング手順が存在することが多く、それらを使用することは、(必ずしもそうとは限りませんが)統合せずに、前のノードと子ノードを個別にサンプリングするよりも効率的であることが多いです。しかし、複合分布が既知でない場合は、一般的に指数型分布族に属さず、対数凹型でもないため(対数凹型であれば、常に閉形式が存在するため、適応型棄却サンプリングを使用して簡単にサンプリングできます)、サンプリングが容易ではない可能性があります。
縮約されたノードの子ノード自体が子ノードを持つ場合、グラフ内の他のすべてのノードが与えられたときのこれらの子ノードの条件付き分布は、これらの第2レベルの子ノードの分布を考慮に入れる必要があります。特に、結果として得られる条件付き分布は、上記で定義された複合分布と、親ノードが与えられたときのすべての子ノードの条件付き分布(ただし、子ノードは与えられない)の積に比例します。これは、完全な条件付き分布が結合分布に比例するという事実から導かれます。縮約されたノードの子ノードが連続である場合、この分布は一般に既知の形式ではなく、閉じた形式を記述できるにもかかわらず、上記で説明したよく知られていない複合分布と同じ理由で、サンプリングが困難になる可能性があります。ただし、子ノードが離散的である特定の場合には、これらの子ノードの子が連続か離散かに関係なく、サンプリングが可能です。実際、ここで関係する原理は、ディリクレ多項分布に関する記事でかなり詳細に説明されています。
ギブスサンプリングは、さまざまな方法で拡張することも可能です。例えば、条件付き分布からサンプリングするのが容易でない変数の場合、スライスサンプリングの1回の反復、またはメトロポリス・ヘイスティングスアルゴリズムを使用して、対象となる変数からサンプリングできます。また、ランダム変数ではないものの、他の変数から決定論的に値が計算される変数を組み込むことも可能です。 一般化線形モデル、例えばロジスティック回帰(別名「最大エントロピーモデル」)は、このように組み込むことができます。(例えば、BUGSはこの種のモデルの組み合わせを可能にしています。)
ギブスサンプリングが失敗する原因は2つあります。1つ目は、確率の高い状態が孤立して存在し、それらの間に経路がない場合です。例えば、2ビットベクトルの確率分布を考えてみましょう。ベクトル(0,0)と(1,1)はそれぞれ確率が1/2ですが、他の2つのベクトル(0,1)と(1,0)は確率が0です。ギブスサンプリングは、確率の高い2つのベクトルのうちの1つに閉じ込められ、もう一方のベクトルには到達できません。より一般的には、高次元の実数値ベクトルの任意の分布において、ベクトルの2つの特定の要素が完全に相関している(または完全に反相関している)場合、それらの2つの要素は固定されてしまい、ギブスサンプリングでは変更できなくなります。
2 つ目の問題は、すべての状態がゼロでない確率を持ち、高確率状態の島が 1 つしかない場合でも発生する可能性があります。たとえば、100 ビットのベクトルの確率分布を考えてみましょう。すべてゼロのベクトルは確率 1/2 で発生し、他のすべてのベクトルは等しく発生する確率を持ち、したがって確率は1/2です。それぞれ。ゼロベクトルの確率を推定したい場合は、真の分布から 100 または 1000 個のサンプルを取るだけで十分です。そうすれば、おそらく 1/2 に非常に近い答えが得られるでしょう。しかし、おそらくそれ以上のサンプルを取る必要があるでしょう。ギブスサンプリングによるサンプルを用いて同じ結果を得る。どんなコンピュータでも、一生かかってもこれは不可能だ。
この問題は、バーンイン期間の長さに関係なく発生します。これは、真の分布ではゼロベクトルが半分の確率で発生し、それらの発生が非ゼロベクトルとランダムに混ざり合っているためです。小さなサンプルでも、ゼロベクトルと非ゼロベクトルの両方が見られます。しかし、ギブスサンプリングでは、長期間(約連続して)、その後は長期間 (約連続して)。したがって、真の分布への収束は非常に遅く、これほど多くのステップを実行することは、妥当な時間内に計算上実現不可能です。ここで収束が遅いのは、次元の呪いの結果であると考えられます。このような問題は、100ビットベクトル全体を一度にブロックサンプリングすることで解決できます。(これは、100ビットベクトルがより大きな変数セットの一部であることを前提としています。このベクトルだけがサンプリングされる場合、ブロックサンプリングはギブスサンプリングを全く行わないことと同等であり、これは仮定上困難です。)
{{cite book}}: CS1 maint: 複数の名前: 著者リスト (リンク)