ベイズ最適化とガウス過程による代理モデル
ベイズ最適化は、評価コストが高い関数の最適化を効率的に行う手法です。ガウス過程を代理モデルとして使用し、獲得関数に基づいて次の評価点を決定します。
ベイズ最適化の基本枠組み
ベイズ最適化は以下の要素から構成されます:
- 代理モデル:ガウス過程による目的関数の確率的モデル
- 獲得関数:次の評価点を決定する基準(Expected Improvement等)
- 最適化ループ:観測→モデル更新→次点決定の反復
この手法により、少ない評価回数で効率的な最適化が可能になります。
Step 1: 問題設定の整理
- 観測データ:$(x_1, f(x_1)) = (0, 1.0)$, $(x_2, f(x_2)) = (1, 0.5)$
- カーネル関数:RBF(ガウス)カーネル
- カーネルパラメータ:$\\sigma^2 = 1$(信号分散), $\\gamma = 1$(長さスケール逆数)
- 予測点:$x^* = 0.5$
Step 2: RBFカーネル関数の定義
RBF(Radial Basis Function)カーネルは:
$$k(x, x') = \\sigma^2 \\exp\\left(-\\gamma (x - x')^2\\right)$$
パラメータの意味:
- $\\sigma^2$:信号の分散(関数値の変動幅)
- $\\gamma$:長さスケールの逆数($\\ell = 1/\\sqrt{2\\gamma}$)
Step 3: カーネル行列の計算
観測点間のカーネル行列 $\\mathbf{K}$:
$$\\mathbf{K} = \\begin{pmatrix} k(x_1, x_1) & k(x_1, x_2) \\\\ k(x_2, x_1) & k(x_2, x_2) \\end{pmatrix}$$
各要素の計算:
- $k(0, 0) = 1 \\exp(-1 \\cdot (0-0)^2) = 1$
- $k(0, 1) = 1 \\exp(-1 \\cdot (0-1)^2) = e^{-1} ≈ 0.3679$
- $k(1, 0) = k(0, 1) = e^{-1} ≈ 0.3679$
- $k(1, 1) = 1 \\exp(-1 \\cdot (1-1)^2) = 1$
$$\\mathbf{K} = \\begin{pmatrix} 1 & e^{-1} \\\\ e^{-1} & 1 \\end{pmatrix} = \\begin{pmatrix} 1 & 0.3679 \\\\ 0.3679 & 1 \\end{pmatrix}$$
Step 4: 予測点と観測点間のカーネルベクトル
$$\\mathbf{k}_* = \\begin{pmatrix} k(x^*, x_1) \\\\ k(x^*, x_2) \\end{pmatrix} = \\begin{pmatrix} k(0.5, 0) \\\\ k(0.5, 1) \\end{pmatrix}$$
各要素の計算:
- $k(0.5, 0) = 1 \\exp(-1 \\cdot (0.5-0)^2) = e^{-0.25} ≈ 0.7788$
- $k(0.5, 1) = 1 \\exp(-1 \\cdot (0.5-1)^2) = e^{-0.25} ≈ 0.7788$
$$\\mathbf{k}_* = \\begin{pmatrix} 0.7788 \\\\ 0.7788 \\end{pmatrix}$$
Step 5: ガウス過程の事後平均の公式
ガウス過程回帰における事後平均は:
$$\\mu(x^*) = \\mathbf{k}_*^T \\mathbf{K}^{-1} \\mathbf{f}$$
ここで:
- $\\mathbf{f} = (f(x_1), f(x_2))^T = (1.0, 0.5)^T$:観測値ベクトル
- $\\mathbf{K}^{-1}$:カーネル行列の逆行列
Step 6: カーネル行列の逆行列計算
2×2行列の逆行列公式:
$$\\mathbf{K}^{-1} = \\frac{1}{\\det(\\mathbf{K})} \\begin{pmatrix} 1 & -e^{-1} \\\\ -e^{-1} & 1 \\end{pmatrix}$$
行列式の計算:
$$\\det(\\mathbf{K}) = 1 \\cdot 1 - e^{-1} \\cdot e^{-1} = 1 - e^{-2} = 1 - 0.1353 = 0.8647$$
$$\\mathbf{K}^{-1} = \\frac{1}{0.8647} \\begin{pmatrix} 1 & -0.3679 \\\\ -0.3679 & 1 \\end{pmatrix} = \\begin{pmatrix} 1.1565 & -0.4254 \\\\ -0.4254 & 1.1565 \\end{pmatrix}$$
Step 7: 事後平均の計算
$$\\mu(x^*) = \\mathbf{k}_*^T \\mathbf{K}^{-1} \\mathbf{f}$$
$$= \\begin{pmatrix} 0.7788 & 0.7788 \\end{pmatrix} \\begin{pmatrix} 1.1565 & -0.4254 \\\\ -0.4254 & 1.1565 \\end{pmatrix} \\begin{pmatrix} 1.0 \\\\ 0.5 \\end{pmatrix}$$
中間計算:
$$\\mathbf{K}^{-1} \\mathbf{f} = \\begin{pmatrix} 1.1565 & -0.4254 \\\\ -0.4254 & 1.1565 \\end{pmatrix} \\begin{pmatrix} 1.0 \\\\ 0.5 \\end{pmatrix}$$
$$= \\begin{pmatrix} 1.1565 \\times 1.0 + (-0.4254) \\times 0.5 \\\\ (-0.4254) \\times 1.0 + 1.1565 \\times 0.5 \\end{pmatrix}$$
$$= \\begin{pmatrix} 1.1565 - 0.2127 \\\\ -0.4254 + 0.5783 \\end{pmatrix} = \\begin{pmatrix} 0.9438 \\\\ 0.1529 \\end{pmatrix}$$
最終計算:
$$\\mu(0.5) = 0.7788 \\times 0.9438 + 0.7788 \\times 0.1529$$
$$= 0.7788 \\times (0.9438 + 0.1529) = 0.7788 \\times 1.0967 = 0.8537$$
Step 8: ベイズ最適化の獲得関数
主要な獲得関数
獲得関数 | 定義 | 特徴 |
---|
Expected Improvement (EI) | $E[\\max(f(x) - f_{best}, 0)]$ | 改善への期待値 |
Upper Confidence Bound (UCB) | $\\mu(x) + \\beta \\sigma(x)$ | 楽観的な上界 |
Probability of Improvement (PI) | $P(f(x) > f_{best})$ | 改善確率 |
Entropy Search | 情報エントロピーベース | 情報理論的 |