【ML-17-1】MCMC-モンテカルロ法(モンテカルロ)

 

ディレクトリ

  1. モンテカルロ法の概要
  2. サンプリング方法
  3. まとめ

名前から、MCMCは2つのMC、つまりモンテカルロシミュレーション(MC)とマルコフチェーン(MC)で構成されていることがわかります。これは、制限付きボルツマンマシン(RBM)を適用する必要があるためです。最初にその原理を学びます。この記事では、まずモンテカルロ法について説明します。

1.モンテカルロ法の概要

モンテカルロ(モンテカルロ)は、もともとのカジノの名前だった、とモンテカルロ法は、内部のゲームをギャンブルサイコロを投げるなどの多くの確率的シミュレーションの方法、手順、ですので、おそらく名前として使用します。初期のモンテカルロ法は、円の面積など、あまり良くないいくつかの合計または積分の問題を解決するために設計されました。別の例はポイントです:

この時点でf(x)が元の関数を見つけるのが難しい場合、この積分を見つけるのは非常に困難です。もちろん、関数f(x)が次の図に示されていると仮定すると、モンテカルロ法によって近似値をシミュレートできます。

それは高校の学習知識から知ることができます:xのサンプリングデータが[a、b]の間で均一に分布していると仮定すると、次の式に示すように、微分と積分のアイデアによって解決できます(nが無限大の場合、必要な値は積分値です):

上記の仮定は均等に分散されていますが、ほとんどの場合、[a、b]の間で均等に分散されていません。上記の方法を使用する場合、シミュレーションの結果は真の値から離れている可能性があります。この問題を解決するには?

一般に、仮想的なアプローチを採用します。[a、b]のxの確率分布関数p(x)を仮定すると、定積分の合計は次のように実行できます。

(最終的には、前者の期待値にほぼ等しい、ほぼ同じになることに注意してください)

確率分布が均一分布であると仮定すると、高校で学習した積分に変換するのは簡単です。

2つの積分形式は、一般的なケースと特殊なケースの関係であることがわかります。

第二に、サンプリング方法

モンテカルロ法の鍵は、得られる確率分布です。確率分布が見つかった場合、確率分布を使用して基底をサンプリングできます

この確率分布のn個のサンプルセットは、モンテカルロ合計式を導入することで解決できます。ただし、解決すべき重要な問題、つまり、この確率分布のサンプリングに基づいてn個のサンプルセットを取得する方法がまだあります。

2.1 確率分布サンプリング

一般的な一様分布の均一(0、1)の場合、サンプルをサンプリングするのは非常に簡単です。他の一般的な確率分布の場合、離散分布であっても連続分布であっても、一様な(0、1)のサンプルを変換することによってそれらのサンプルを取得できます。たとえば、2次元正規分布サンプル(Z1、Z2)は、次の式のボックスミュラー変換による独立したサンプリングによって取得された均一(0、1)サンプルペア(U1、U2)によって取得できます

正規分布に加えて、他の多くの一般的な連続分布(t分布、F分布、ベータ分布、ガンマ分布など)も一様な0-1分布で表すことができますが、多くの場合、私たちの分布は一般的ではありません分布。サンプルセットの確率分布は、これらの変換では取得できません。

ただし、多くの場合、遭遇する確率分布は一般的な分布ではありません。つまり、これらの非常にまれな確率分布のサンプルセットを簡単に取得することはできません。この問題を解決するには?

2.2 承認- サンプリングを拒否

上記の問題については、受け入れ-拒否サンプリングを使用して分布のサンプルを取得することを検討できます。p(x)は複雑すぎてプログラムで直接サンプリングできないため、プログラムがガウス分布などのサンプリングできる分布q(x)を設定し、特定の方法に従って特定のサンプルを拒否してp(x)に近づけます配布の目的。ここで、q(x)は提案配布と呼ばれます。

具体的な操作は次のとおりです。便利なサンプリング関数q(x)と定数kを設定して、p(x)が常にkq(x)未満になるようにします。(上の画像を参照してください)

1)x軸方向:q(x)分布サンプリングからzを取得します。

2)y軸方向:uは均一分布(0、kq(z))からサンプリングされます。

3)グレー領域に該当する場合:u> p(z)、拒否します。それ以外の場合は、このサンプリングを受け入れます。

4)上記のプロセスを繰り返して、n個の受け入れられたサンプルz0、z1、z2 ... z(n-1)を取得します。

5)モンテカルロ法最終解は次のとおりです。

プロセス全体を通じて、一連の受け入れと拒否の決定を使用して、確率p(x)分布をq(x)でシミュレートする目的を達成します。

3.まとめ

 Accept-Rejectサンプリングを使用すると、サンプリングセットを取得し、確率分布が一般的でない場合にモンテカルロ法で合計するという目的を解決できます。ただし、受け入れ拒否のサンプリングでは、部分的にしかニーズを満たすことができず、多くの場合、確率分布のサンプルセットを取得することは依然として困難です。たとえば、次のとおりです。

1)一部の2次元分布p(x、y)では、条件付き分布p(x | y)とp(y | x)の合計しか得られないことがありますが、2次元分布p(x、y)を取得することは困難です。一般的な形式では、サンプルセットを取得するためにAccept-Rejectサンプリングを使用することはできません。

2)いくつかの高次元の複雑な珍しい分布p(x1、x2、...、xn)の場合、適切なq(x)とkを見つけるのは非常に困難です。

主にから:https : //www.cnblogs.com/jiangxinyang/p/9358822.html

別紙1:

1. Box-Muller変換原理のリンク:https : //blog.csdn.net/weixin_41793877/article/details/84700875

2.次の不等式の説明:

変換の最後のステップでは、左側の積分は、確率分布p(x)に基づくf(x)/ p(x)の期待値と見なすことができます。これは、期待される平均、つまりf(x)/ p(x)を解くことによって解決できます。 )分布p(x)のサンプリングポイントに基づいて、同値を求めます。

付録2:手書きの練習

おすすめ

転載: www.cnblogs.com/yifanrensheng/p/12729160.html