確率的最適化手法の研究に興味があるようですね。サンプリング問題の一種として最適化を再フレーム化すると、確率的最適化方法が得られます。この後者の方法は、類似の決定論的最適化方法よりも改善されている場合にのみ有利です。
一般的に言えば、この種の確率的最適化手法は、最適化される関数に依存する方法でランダム値を生成することになるため、対応する決定論的手法よりも少なくとも計算集約的(そしておそらく計算集約的)になる可能性があります。 。確率論的方法はまた、一般に理解するのがより複雑です。したがって、(適切に構築された)確率的最適化手法で発生する可能性が高い唯一の利点は、決定論的手法では見落とされる可能性があるドメインの領域を「検索」する確率がゼロでないことです。それらを長期間実行する意思がある場合は、おそらくより堅牢です。
ほとんどの標準的な決定論的最適化手法では、決定論的な移動方向を選択し、その方向に何らかの決定論的な量(たとえば、勾配ベクトルの方向に最も急な上昇で移動)で移動することにより、オプティマに向かって反復ステップを実行します。ステップの方向と長さは、通常、関数の勾配を確認することで決定されます。実際には、小さな動きの増分で勾配を確認することで計算されます。最適化をサンプリング問題に変えると、事実上、ランダムな量だけランダムな方向に移動しますが、関数の勾配に関する情報を使用して、この移動の確率的動作を決定します。後者の方法は前者と同じ情報を使用する可能性が高く、より複雑な(したがって、より計算集約的な方法)。以下では、あなたの説明に基づいて、MHアルゴリズムを使用してメソッドを構築します。
メトロポリスヘイスティングアルゴリズムを使用した実装: 1次元の分布の最大化問題を扱っているとし、ガウス偏差を使用したメトロポリスヘイスティングサンプリングの方法を検討します。これは、サンプリング密度による厄介な動作に対して非常に堅牢な、よく知られたサンプリング方法です。
アルゴリズムを実装するには、ランダムな偏差のシーケンスを生成します。これは、後で「帯域幅」パラメーターを乗算します(したがって、このパラメーターは、提案されたステップの標準偏差を表します)。また、一様確率変数のシーケンスを生成します。開始値任意に選択し、次のようにサンプル値のシーケンスを再帰的に生成します。ε1,ε2,ε3,...∼IID N(0,1)λ>0U1,U2,U3,...∼U(0,1)x0
xt+1=⎧⎩⎨xt+λεt+1xtif Ut+1⩽exp(k(f(xt+λεt+1)−f(xt))),otherwise.
MHアルゴリズムはターゲット密度に等しい定常分布を持っているので、大きなの近似分布があります(帯域幅パラメーターに対して)に大きな値をとると、つまり、オプティマの方向の偏差は高い確率で受け入れられ、オプティマからの偏差(またはオプティマのオーバーシュート)は高い確率で拒否されます。したがって、実際には、サンプル値は最大化点の近くに収束する必要があります。密度(これが発生しない場合もあります。たとえば、密度がバイモーダルで、アルゴリズムが間違った勾配を登る場合)値を大きくすると、分布Xn∼exp(k(f(x))nkfkexp(k(f(x))は最大化値の近くに非常に集中しているため、この場合、サンプル値のサンプル平均(バーンイン値を破棄)は、最適化での最大化値の適切な推定値を提供します。 。
ここで、帯域幅を小さく設定して、の大きな値を相殺するとします。その場合、偏差の小さな値が得られるため、おおよその受け入れ確率が得られます。kλ
exp(k(f(xt+λεt+1)−f(xt)))≈exp(kλ⋅εt+1⋅f′(xt)).
この場合、許容確率は密度の導関数、偏差の大きさと方向、および値によって決定されることがわかります。εt+1kλ
それで、このアルゴリズムは実際に適用可能な決定論的最適化アルゴリズムよりも優れていますか?アルゴリズムでは、各潜在的なステップで密度を計算する必要があることがわかります。帯域幅パラメーターが小さい場合、これは関数の導関数を計算することと同じです。したがって、これは、確率的勾配上昇の形式に非常に似ており、対応する決定論的方法よりも計算処理が多くなります。利点があれば、提案された偏差はランダムであり、すべてがゼロ以外の確率で発生します(非常に迅速に消失します)。そのため、アルゴリズムには、密度は高いが最大化しない領域を「エスケープ」する可能性があります。 。