確率的コンピューターモデルの最適化


11

検索で「optimization and stochastic」という単語を使用すると、ほとんどの場合、デフォルトで確率的最適化が検索されるため、これはGoogleにとって難しいトピックです。しかし、私が本当に知りたいのは、コンピュータモデルの出力が確率論的、つまり決定論的ではない場合に、コンピュータモデルを最適化するためにどのような方法があるかです。

たとえば、コンピュータモデルの出力を表す未知の関数が存在するコンピュータモデルを考えた場合、次のような問題を解決するための多くの統計的方法が存在します。f(x)

minf(x)xX

場合f(x)決定的です。しかし、f(x)が確率的である場合はどうなりますか?問題の解決策はありますか、またはせいぜい私たちは解決することしかできません

minE[f(x)]xX

ここで、E()は通常の期待演算子です。


1
これは非常に興味深い質問です。最適化は、本当に可能な唯一のものです。この質問に関連する統計アプリケーションはMCEMアルゴリズムです。MCEMアルゴリズムでは、完全な尤度関数はMCMCエラーの上にのみ観測できます。同様に、MCMCパーティクルフィルターアルゴリズムにも同じ問題があります。どちらの文献でも、これに答えるための最先端の方法が何であるかを知るのに十分な記事を読んでいません。E[f(x)]
クリフAB

2
それはあなたの目標に依存します。は、可能な選択肢の1つにすぎません。一部のアプリケーションでは、「平均が良い」ソリューションだけでなく、「信頼できる」ソリューションが必要になる場合があります。このシナリオでは、wrtを分布の分位数に最適化します。ベイジアン最適化は、コストのかかる(時にはノイズの多い)関数評価を扱います。たとえば、この質問を確認してください。f x E[f(x)]f(x)
lacerbi

1
@lacerbiはこれらの例のどれかがうるさいですか?彼らは決定論的だと思います。
RustyStatistician

@RustyStatistician:そうです、ほとんどの例は決定論的であるか、一般的にベイジアン最適化について話します。「騒々しい」部分により焦点を当てたリファレンスについては、以下を参照してください。
lacerbi

選択した入力自分で実行できるように、コンピュータープログラムにアクセスしますか?すると実験計画法が使えるようになります!このサイトを検索。x
kjetil b halvorsen

回答:


10

私のコメントを適切な答えに拡大します

私が述べたように、それはあなたの目標次第です。

期待値は、最適化ターゲットの多くの可能な選択肢の1つにすぎません。たとえば、が正規分布であると仮定すると、次のようにできます。f x E[f(x)]f(x)

κRκ>0κκ

xopt=argminx{E[f(x)]+κVar[f(x)]}
ためリスク感度を操作するいくつかの。もしあなたが探している堅牢最高と意欲大きな正の変動である可能性が高いソリューションを提供します。逆に、負のは、大きな負の変動を探す "楽観的"な最適化を優先します(最小化しているため、負の値が適切です)。正規分布の分位に基づいてを選択できます(下の参考2を参照)。κRκ>0κκ

一般に、ベイジアン最適化(BO、これはガウス過程とクリギングに関連しています)は、コストが高く、ノイズの多い関数評価を扱います。文献の焦点のほとんどは前者に向けられていますが。この質問でベイジアン最適化のレビューを見つけることができます。

何人かの人々がノイズの多い機能にBOを適用しました。このトピックの紹介として、David Ginsbourgerがワークショップ「グローバル最適化のためのガウスプロセスに関するワークショップ(2015年9月17日、シェフィールド)」で、「期待される改善に関するバリエーション」という素晴らしい講演を行いました。彼の講演はここで見つけることができ、すべての講演はこのページで入手できます(BOの優れた一般的な紹介として、他のすべての講演もお勧めします)。

参考として、Ginsbourgerと同僚、およびGramacyと同僚が行った作業から始めます。

  1. Picheny、V.およびGinsbourger、D.、2014。「ノイズの多いクリギングベースの最適化手法:DiceOptimパッケージ内の統合された実装」。計算統計とデータ分析、71、pp.1035-1053。(リンク

  2. Picheny、V.、Ginsbourger、D.、Richet、Y。およびCaplin、G.、2013。テクノメトリクス、55(1)、2-13ページ。(リンク

  3. Gramacy、RB and Lee、HK、2012。「コンピュータモデリングへの応用を伴うベイジアンツリー化ガウスプロセスモデル」。アメリカ統計協会誌。(リンク

  4. Gramacy、RBおよびApley、DW、2015。「大規模なコンピュータ実験のためのローカルガウスプロセス近似」。Journal of Computational and Graphical Statistics、24(2)、pp.561-578。(リンク

GinsburgerとGramacyの両方に、それぞれDiceOptimtgpの BOメソッドを実装するRパッケージがあります


1
答えのはどこですか、それともですか?κkκ
RustyStatistician

1
もう1つのアルゴリズムは、私が使用していません*が、面白い名前の部門で勝っていますが、SNOBFITです。(ただし、作成者最適化コミュニティで注目されており、ソフトウェアは確定的なベンチマークで問題なく動作したため、推奨事項はクールな名前に基づいているだけではありません!)
GeoMatt22

4

現在の回答は、確率的最適化ターゲットの適切な(数学的)定義に焦点を当てています-もう少し応用的な視点を提供したいと思います。

この問題は、非公式または合成の可能性などを使用して確率モデルを近似するときに頻繁に発生します。リファレンス(1)は、確率モデルとデータの間の距離を定義するために使用できるオプションのリストを提供します。

この方法でターゲットを定義した後、残っている問題は、ノイズの多いターゲットの平均の最適値を見つけることです。2つの方法があります。a)最適化、b)MCMCサンプリングです。特に最適化について質問していましたが、MCMCはこのタスクに適していることが多いため、MCMCを持ち込みたいと思います。

a)最適化を続ける場合は、行き詰まらないようにし、オプティマイザが確率論的ターゲットを処理できることを確認する必要があります。Matteo Fasioloの博士論文の第4章は、いくつかのヒントを与えます(2)を参照してください。

b)(1)で述べたように、MCMCは一般に確率的ターゲットに対してより堅牢です-ノイズの分布に関する穏やかな条件下では、MCMCはノイズを平均化し、サンプリングされたターゲットはノイズのないものと区別がつきませんノイズの多いターゲットの平均値を持つターゲット。ただし、MCMCも特に優れた評価に遭遇するとスタックする可能性があります。今してはいけないことは、次の「明白な」アイデアを得ていることです。MCMCの各反復で現在の値と提案された値の両方を単純に計算します。ここで検索するキーワードは「疑似限界」ですここここ参照してください

1)ハーティグ、F。カラブレーゼ、JM; Reineking、B。Wiegand、T.&Huth、A.(2011)確率論的シミュレーションモデルの統計的推論-理論と応用。Ecol。Lett。、14、816-827。

2)Fasiolo、M.(2016)Statistical Methods for Complex Population Dynamics。バース大学


4

とように、離散確率空間にいるとします。直感的に、最適化できるように、関数が必要です。最適化できるのは1つの目標のみです。 U R NR U F X f(x)RnU:RnRU(f(x))

単一の目的関数を最適化することは、かなり制約に聞こえるかもしれませんが、そうではありません!むしろ、単一の目的が、より良いまたはより悪いソリューションであるものに関してあなたが持つかもしれない信じられないほど多様な好みを表すことができます。

先にスキップして、開始する簡単な場所は、ランダム変数選択して解決することです。λ

E[FX]

minimize (over x)E[λf(x)]subject toxX
これは、単純な線形再重み付けです。とにかく、ここで、複数の目的を単一の目的に縮小することが通常は問題ない理由についての議論があります。E[f(x)]

基本的なセットアップ:

  • 選択変数と実行可能なセットます。XxX
  • 選択はランダムな結果を導きますY = F X xy~=f(x)
  • あなたは持っている合理的な好み ランダムな結果オーバー。(基本的に、あるランダムな結果を別のものよりも好むかどうかを言うことができます。)Yy~

あなたの問題はを選択することです:xX

、X * X F X *

xXf(x)f(x)
英語では、を選択して、実行可能な選択がよりも好ましい結果にないようにします。xxf(x)

実用性を最大化することとの同等性(特定の技術的条件下で)

技術を簡単にするために、結果を持つ離散確率空間にいるとしましょう。ランダムな結果をベクトルます。n YRnはy~yRn

特定の技術的条件(実際的な意味での制限ではない)では、上記の問題は効用関数を最大化することと同等です。(効用関数は、より好ましい結果に高い数値を割り当てます。)U(y)

このロジックは、選択が複数の結果変数につながるすべての問題に適用されます。

maximize (over x)U(f(x))subject toxX

ユーティリティ関数により多くの構造を与える:期待されるユーティリティ仮説:U

確率的な設定にあり、ノイマン・モルガーンスターンの公理を受け入れる場合、全体的な効用関数は特別な形を取る必要があります。U

p i i u u U

U(y)=E[u(yi)]=ipiu(yi)
ここで、は状態の確率、は凹型効用関数です。の曲率はリスク回避を測定します。この特殊な形式の置き換えるだけで、次の結果が得られます。piiuuU

maximize (over x)ipiu(yi)subject toxXy=f(x)

単純なケースが期待値を最大化している(つまり、リスク回避がないください。u(yi)=yi

別のアプローチ:重みλ

もう1つのことは、次のとおりです。

maximize (over x)iλiyisubject toxXy=f(x)

直観的に、状態の発生確率よりも大きいまたは小さい重みを選択できます。これにより、状態の重要性がわかります。のp Iλipi

このアプローチのより深い正当化は、特定の技術的条件下で、上記の問題と以前の問題(たとえば、最大化)が同じ解を持つようなラムダの重みが存在することです。U F X λU(f(x))


しかし、この設定では、すべてのユーティリティ関数が同じ答えを正しく導くわけではありませんか?
RustyStatistician 2016

また、ユーティリティ関数には一般的な選択肢がありますか?私の問題は、実際にはブラックボックスシミュレーターである確率的コンピューターシミュレーターです。そのため、基礎となるメカニズムに関する情報がわからないので、ユーティリティ関数を割り当てることもできますか?
RustyStatistician 2016

問題のロジック、良い結果を構成するものを考え、次に、より良い結果に高い数値を割り当てるいくつかの目的関数を見つける必要があります。(または同等に、これを最小化問題として設定し、より悪い結果に高い数値を割り当てることができます。たとえば、二乗誤差などの概念を最小化します。)
Matthew Gunn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.