主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

ベイズ最適化のアルゴリズム

アルゴリズムの概要

ベイズ最適化のアルゴリズムでは,有界領域でスカラー目的関数f (x)をxについて最小化しようとします。関数は確定的でも確率的 (同じ点 x で評価したときに異なる結果を返す可能性がある) でもかまいません。x の成分は、連続的な実数、整数、カテゴリカル (離散的な名前の集合) のいずれにすることもできます。

メモ

この説明全体でDはxの成分の個数を表します。

最小化の主な要素は以下になります。

  • f (x)のガウス過程モデル。

  • f (x)の新しい評価位置のそれぞれでガウス過程モデルを変更するためのベイズ更新法。

  • 次の評価点xを決定するために最大化する(fのガウス過程モデルに基づく)"獲得関数"(x)。詳細は,獲得関数のタイプ獲得関数の最大化を参照してください。

アルゴリズムの概要:

  • 変数の範囲内で無作為に選択したNumSeedPoints個の点xについてy= f (xを評価します。NumSeedPointsbayesoptの設定です。評価の失敗がある場合は,評価がNumSeedPoints回成功するまで無作為な点を選択します。各成分の確率分布は,optimizableVariable变换の値に応じて均等スケールまたは対数スケールのいずれかになります。

次に,以下の手順を繰り返します。

  1. f (x)のガウス過程モデルを更新して,问(f | xyFor I = 1,…,t)の各関数に対する事後分布を取得します(内部的に,bayesoptfitrgpを使用してガウス過程モデルをデータにあてはめます)。

  2. 獲得関数(x)を最大化する新しい点xを求めます。

このアルゴリズムは次のいずれかに達すると停止します。

並列におけるアルゴリズムの違いについては,並列ベイズアルゴリズムを参照してください。

モデルをあてはめるためのガウス過程回帰

目的関数fの基となる確率モデルは,観測値にガウスノイズが追加されたガウス過程の事前分布です。つまり,f (x)の事前分布は,平均がμ(x;θ),共分散カーネル関数がk (x, x ';θ)のガウス過程です。ここで,θ はカーネル パラメーターのベクトルです。bayesoptが使用する特定のカーネル関数については,カーネル関数を参照してください。

少し詳しく説明すると,一連の点X = Xは関連する目的関数の値F = Fで表されます。関数値 F の事前分布の同時分布は、平均が μ(X)、共分散行列が K(X,X) の多変量正規分布になります。ここで、Kij= k (x, xjです。

一般性を失うことなく,事前平均は0になります。

さらに,分散がσ2のガウスノイズが観測値に追加されていると考えられます。したがって,事前分布の共分散はK (X, X;θ)+σ2になります。

ガウス過程回帰モデルを観測値にあてはめるには,ノイズ分散σ2とカーネルパラメーターθを求めることになります。このあてはめは,fitrgpによって実行される計算負荷の高いプロセスです。

観測値へのガウス過程のあてはめの詳細については,ガウス過程回帰を参照してください。

カーネル関数

カーネル関数k (x, x ';θ)はガウス過程回帰の品質に大きく影響を与える可能性があります。bayesoptは,カーネル(共分散)関数のオプションで定義されているARD Matern 5/2カーネルを使用します。

杖鱼,Larochelleおよび亚当斯[3]を参照してください。

獲得関数のタイプ

bayesoptでは6種類の獲得関数を使用できます。3つの基本タイプがありますが,expected-improvementには每秒または+による修正もあります。

  • “expected-improvement-per-second-plus”(既定の設定)

  • “expected-improvement”

  • “expected-improvement-plus”

  • “expected-improvement-per-second”

  • “lower-confidence-bound”

  • “probability-of-improvement”

獲得関数は,事後分布関数问に基づいて点xの適合度を評価します。エラー制約(目的関数のエラーを参照)など連結制約がある場合,すべての獲得関数は基尔巴特,杖鱼および亚当斯[2]の提案に従って”適合度”の推定を変更します。制約が満たされる確率の推定値を適合度に乗算することにより獲得関数が得られます。

期待改善量

“expected-improvement”群の獲得関数は,目的関数の増大要因となる値を無視して,目的関数の期待改善量を評価します。つまり,以下を定義します。

  • 最小の事後平均の位置としてx最好的

  • 事後平均の最小値としてμ(x最好的

その場合,期待改善量は

E x E 马克斯 0 μ x 最好的 f x

改善の確率

“probability-of-improvement”の獲得関数は,“expected-improvement”と同様の計算をよりシンプルな方法で行います。どちらの場合も,bayesoptはじめにx最好的μ(x最好的を計算します。そして,“probability-of-improvement”の場合,bayesoptはマージンパラメーターmで修正することにより新しい点xで目的関数の値が向上する確率πを計算します。

P x P f x < μ x 最好的

bayesoptは推定ノイズ標準偏差としてmを使用します。bayesoptはこの確率を次のように計算します。

P Φ ν x

ここで

ν x μ x 最好的 μ x σ x

ここで,Φ(·)は単位正規CDF,σはxにおけるガウス過程の事後標準偏差です。

信頼限界の下限

“lower-confidence-bound”の獲得関数は,各点で事後平均から標準偏差の2倍を減算した曲線Gを調べます。

G x μ x 2 σ x

G (x)は目的関数モデルの信頼包絡線より2σ小さくなります。そして,bayesoptはGの負数を最大化します。

l C B 2 σ x μ x

秒単位

目的関数を評価する時間は,領域によって異なる場合があります。たとえば,多くのサポートベクターマシンは特定の点の範囲で大幅に計算時間が変化します。このような場合,bayesoptは獲得関数で時間の重みを使用することにより,秒単位で向上させることができます。コストに重みを付けた獲得関数には,名前に每秒という語句が含まれています。

これらの獲得関数は以下のように機能します。目的関数の評価時に,bayesoptは目的関数の評価時間を点xの関数として別のベイズモデルに保持します。獲得関数が使用する毎秒の期待改善量は次のようになります。

E p 年代 x E x μ 年代 x

ここで,μ年代(x)は時間のガウス過程モデルの事後平均です。

プラス

目的関数の局所的な最小値を回避するため,名前に+がある獲得関数は,領域を"過剰利用"していると推定した場合に動作を変更します。過剰利用について理解するため,σF(x)がxにおける事後目的関数の標準偏差であるとします。σを加法性ノイズの事後標準偏差であるとします。したがって

σ2(x) =σF2(x) +σ2

正の数値であるExplorationRatioオプションの値になるようにtσを定義します。bayesopt+の獲得関数は,各反復後に次の点xが以下を満たすかどうかを評価します。

σF(x) < tσσ。

条件が満たされる場合,xは過剰利用であると判断されます。そして,公牛[1]が提案しているように,θに反復回数を乗算することにより獲得関数のカーネル関数が修正されます。この変更により,観測値の間にある点の分散σが大きくなります。次に,新しくあてはめたカーネル関数に基づいて新しい点が生成されます。新しいが点x再び過剰利用になる場合,θに10という追加係数を乗算して再度試します。これを最大5回繰り返して,過剰利用にならない点xを生成しようとします。このアルゴリズムでは,次の点として新しxいが受け入れられます。

したがって,ExplorationRatioは大域解を向上させる新しい点を探索するか,あるいは既に調べた点の近傍に集中するかのトレードオフを制御します。

獲得関数の最大化

内部的に,bayesoptは以下の一般的な手順を使用して獲得関数を最大化します。

  1. “expected-improvement”で始まるアルゴリズムの場合と“probability-of-improvement”の場合,bayesoptは変数の範囲内で数千個の点を抽出し,最良(平均値が小さい)実行可能点をいくつか選択し,局所探索を使用して改善を行い,表面上の最良実行可能点を見つけることにより,事後分布について最小実行可能平均μ(x最好的を推定します。実行可能とは,点が制約(ベイズ最適化の制約を参照)を満たすことを意味します。

  2. すべてのアルゴリズムの場合,bayesoptは変数の範囲内で数千個の点を抽出し,最良(獲得関数の値が大きい)実行可能点を選択し,局所探索を使用して改善を行い,表面上の最良実行可能点を見つけます。獲得関数の値は目的関数のサンプルではなくモデル化された事後分布に基づくので,高速に計算することができます。

参照

高效全局优化算法的收敛速度。https://arxiv.org/abs/1101.3501v3, 2011年。

格巴特,J.斯努克,R. P.亚当斯。含未知约束的贝叶斯优化。https://arxiv.org/abs/1403.5607, 2014年。

斯努克,J. H.拉罗谢尔,R. P.亚当斯。机器学习算法的实用贝叶斯优化。https://arxiv.org/abs/1206.2944, 2012年。

参考

|

関連するトピック