ガウス過程:多変量正規分布の関数空間への拡張

Bayesian Optimization 第2章

Ryo Nakagami

2026年04月27日

Index

regmonkey_index:
  title_fontsize: 1.1em
  bullet_fontsize: 0.9em
  children:
    - title: 1. ガウス過程の定義
      description:
        - 任意有限部分集合の周辺分布が <strong>多変量正規</strong>となる確率過程
        - 平均関数 $\mu$ と共分散関数 $K$ で <strong>完全に指定</strong>される
      width: [38, 62]
    - title: 2. Exact観測下の事後 GP
      description:
        - 観測 $\mathcal{D}=(\mathbf{x},\boldsymbol{\phi})$ で事後 GP は <strong>Cloased form</strong>で書ける
        - 観測点で <strong>事後分散はゼロ</strong>,平均は観測値を補間する
      width: [38, 62]
    - title: 3. 加法ガウスNoise下の事後 GP
      description:
        - $\mathbf{y}=\boldsymbol{\phi}+\boldsymbol{\varepsilon}$ では $\boldsymbol{\Sigma}\to\boldsymbol{\Sigma}+\mathbf{N}$ に置換するだけ
        - SN 比に応じて観測の影響が <strong>連続的に減衰</strong>
      width: [38, 62]
    - title: 4. 事後モーメントの解釈
      description:
        - 事後平均は <strong>z-score × 相関 $\rho$</strong> による更新公式で書ける
        - 事後標準偏差は $\rho$ にのみ依存(観測値には依存しない)
      width: [38, 62]
    - title: 5. Coding Example
      description:
        - 結合 GP で $f$ と $g$ の事後を <strong>NumPy で同時推論</strong>する実装
        - $K_{fg}=0.9K$ のクロス共分散経由で <strong>$g$ の観測が $f$ の事後も update</strong>
      width: [38, 62]

1. ガウス過程の定義

  • 1. ガウス過程の定義

  • 2. Exact観測下の事後 GP

  • 3. 加法ガウスNoise下の事後 GP

  • 4. 事後モーメントの解釈

  • 5. Coding Example

ガウス過程は多変量正規分布の関数空間への拡張である

任意の有限部分集合に対して周辺分布が多変量正規となる確率過程として定義される

Definition:ガウス過程

関数 \(f\colon \mathcal{X} \to \mathbb{R}\) 上の確率過程 \(p(f) = \mathcal{GP}(f;\mu, K)\)ガウス過程であるとは,

  • 平均関数 \(\mu\colon \mathcal{X}\to\mathbb{R}\)
  • positive semidefiniteの共分散関数 \(K\colon \mathcal{X}\times\mathcal{X}\to\mathbb{R}\)

が存在して,任意の有限点列 \(\mathbf{x}=(x_1,\dots,x_n)\subset\mathcal{X}\) に対し関数値ベクトル \(\boldsymbol{\phi}=f(\mathbf{x})\) が次を満たすことをいう:

\[ p(\boldsymbol{\phi} \mid \mathbf{x}) \;=\; \mathcal{N}(\boldsymbol{\phi}; \boldsymbol{\mu}, \boldsymbol{\Sigma}), \qquad \boldsymbol{\mu} = \mu(\mathbf{x}),\ \ \boldsymbol{\Sigma} = \operatorname{cov}[\boldsymbol{\phi}; \vert \mathbf{x}] = K(\mathbf{x}, \mathbf{x}). \]

  • Kolmogorov 拡張定理により,有限次元周辺分布の整合的な族から無限次元の確率過程を構成できる
  • \(\mathcal{X}\) が有限集合のときは多変量正規分布と区別がない1
    • 多変量正規分布の場合はインデックスは有限.例: \(n\) 次元の多変量正規分布であれば,インデックスは \(\{1,2,\cdots,n\}\) という有限集合

共分散関数 \(K\) の基本的性質

二乗指数カーネルを例に,距離 \(|x-x'|\) と相関の関係を確認する

カーネルの設計

  • 二乗指数共分散(squared exponential)\[ K(x, x') = \exp\!\left(-\tfrac{1}{2}\,|x - x'|^2\right) \]
  • 周辺分散:\(\mathrm{var}[\phi \mid x] = K(x, x) = 1\)
  • 相関:\(\mathrm{corr}[\phi, \phi' \mid x, x']\)距離 \(|x-x'|\) のみの関数

サンプル経路の振る舞い

  • \(|x-x'|\to 0\) で相関 \(\to 1\)近傍点は強く依存し,関数は連続・滑らか
  • \(|x-x'|\gtrsim 3\) で相関 \(\to 0\)遠い点は実質独立
  • 結果として,観測点は近傍にだけ非自明な情報を提供する

2. Exact観測下の事後 GP

  • 1. ガウス過程の定義

  • 2. Exact観測下の事後 GP

  • 3. 加法ガウスNoise下の事後 GP

  • 4. 事後モーメントの解釈

  • 5. Coding Example

観測 \(\mathcal{D}=(\mathbf{x},\boldsymbol{\phi})\) で条件付けた事後 GP はCloased formで書ける

多変量正規の自己共役性により,事後過程もガウス過程となる

  • 事前 GP \(p(f) = \mathcal{GP}(f;\mu, K)\) にExact観測 \(\boldsymbol{\phi} = f(\mathbf{x})\) を条件付けると,事後も GP\[ p(f \mid \mathcal{D}) \;=\; \mathcal{GP}(f;\,\mu_{\mathcal{D}},\,K_{\mathcal{D}}) \]
  • 事後の平均関数・共分散関数は多変量正規の条件付き分布の公式そのもの: \[ \begin{aligned} \mu_{\mathcal{D}}(x) &= \mu(x) + K(x,\mathbf{x})\,\boldsymbol{\Sigma}^{-1}(\boldsymbol{\phi} - \boldsymbol{\mu}) \\ K_{\mathcal{D}}(x,x') &= K(x,x') - K(x,\mathbf{x})\,\boldsymbol{\Sigma}^{-1}K(\mathbf{x},x') \end{aligned} \]
  • \(\boldsymbol{\Sigma} = K(\mathbf{x},\mathbf{x})\) は観測点におけるGram 行列

補間性

  • 観測位置 \(x_i\) では \(\mu_{\mathcal{D}}(x_i) = \phi_i\)\(K_{\mathcal{D}}(x_i, x_i) = 0\)
  • 95% 信用区間は観測点で縮小し,離れるほど広がる

影響範囲

  • 観測の影響は \(K(x,\mathbf{x})\)非自明な相関を持つ範囲にだけ及ぶ
  • 相関が消える領域では事前分布のまま

3. 加法ガウスNoise下の事後 GP

  • 1. ガウス過程の定義

  • 2. Exact観測下の事後 GP

  • 3. 加法ガウスNoise下の事後 GP

  • 4. 事後モーメントの解釈

  • 5. Coding Example

ノイズ共分散 \(\mathbf{N}\) を加えるだけでNoise観測に拡張できる

\(\mathbf{y} = \boldsymbol{\phi} + \boldsymbol{\varepsilon}\), \(\boldsymbol{\varepsilon} \sim \mathcal{N}(\mathbf{0},\mathbf{N})\) のとき,\(\boldsymbol{\Sigma} \to \boldsymbol{\Sigma}+\mathbf{N}\) に置換するだけで事後公式が成立

Noise観測モデル

  • 観測: \(\mathbf{y} = \boldsymbol{\phi} + \boldsymbol{\varepsilon}\)
  • Noise: \(p(\boldsymbol{\varepsilon} \mid \mathbf{N}) = \mathcal{N}(\boldsymbol{\varepsilon};\mathbf{0},\mathbf{N})\)
    • \(\mathbf{N}\) は既知の共分散行列とする
  • \(\boldsymbol{\varepsilon}\)\(\boldsymbol{\phi}\) から独立と仮定

事後 GP の更新公式

\[ \begin{aligned} \mu_{\mathcal{D}}(x) &= \mu(x) + K(x,\mathbf{x})(\boldsymbol{\Sigma}+\mathbf{N})^{-1}(\mathbf{y}-\boldsymbol{\mu}) \\ K_{\mathcal{D}}(x,x') &= K(x,x') - K(x,\mathbf{x})(\boldsymbol{\Sigma}+\mathbf{N})^{-1}K(\mathbf{x},x') \end{aligned} \]

  • \(\mathbf{N}\to\mathbf{0}\)Exact観測の式に一致
  • \(\mathbf{N}\) が大きいと観測の影響が弱まる

実務でよく使う2つのNoiseモデル

record1:
  Noiseモデル: 独立等分散(homoskedastic)
  共分散行列:
    - $\mathbf{N} = \sigma_n^2\,\mathbf{I}$
  特徴:
    - Noise強度が位置によらず一定
    - 解析・実装ともに最単純

record2:
  Noiseモデル: 独立非等分散(heteroskedastic)
  共分散行列:
    - $\mathbf{N} = \mathrm{diag}\bigl(\sigma_n^2(\mathbf{x})\bigr)$
  特徴:
    - Noise強度が観測位置 $x$ に依存
    - 領域ごとの SN 比の違いを表現できる

4. 事後モーメントの解釈

  • 1. ガウス過程の定義

  • 2. Exact観測下の事後 GP

  • 3. 加法ガウスNoise下の事後 GP

  • 4. 事後モーメントの解釈

  • 5. Coding Example

事後平均は「z-score × 相関 \(\rho\)」による更新公式で書ける

スカラ観測で事後の動きを分解すると,事前モーメントと観測の「驚きの度合い」に分かれる

  • 事前: \(\phi \sim \mathcal{N}(\mu, \sigma^2)\),観測: \(y \sim \mathcal{N}(m, s^2)\),相関 \(\rho = \mathrm{corr}[y, \phi \mid x]\) とする
  • 観測値 \(y\)z-score\(z = (y - m)/s\) と定義すると,事後モーメントは: \[ \mathbb{E}[\phi \mid y, x] \;=\; \mu + \sigma\rho z, \qquad \mathrm{sd}[\phi \mid y, x] \;=\; \sigma\sqrt{1-\rho^2} \]
  • \(z\) は観測の意外性の大きさを,\(\rho\)観測値が関数値をどれだけ語るかを表す

3 つの極端ケース

  • \(\rho = 0\):観測は無関係 → 事前のまま
  • \(|\rho| = 1\):観測は完全に決定的 → 平均は \(z\) 標準偏差分シフト,標準偏差 \(\to 0\)
  • \(|z|\) が大きい:意外な観測 → 事後平均が大きく動く

ベクトル観測への一般化

  • \(\mathbf{y}\) を観測したときの事後平均は同じ形: \[ \mu + \sigma\,\boldsymbol{\rho}^{\!\top}\mathbf{P}^{-1}\mathbf{z} \]
  • \(\mathbf{P}=\mathrm{corr}[\mathbf{y}]\)観測間の依存性を補正

事後標準偏差は相関 \(\rho\) にのみ依存する

観測値そのものは事後分散に影響を与えない

  • スカラ観測の事後標準偏差: \[ \mathrm{sd}[\phi \mid y, x] \;=\; \sigma\sqrt{1-\rho^2} \]
  • \(y\)式に現れない
  • 不確実性の縮小は観測の精度(相関の強さ)のみが決める

実務的含意

  • ベイズ最適化の獲得関数評価では,観測前から事後分散を計算可能
  • Noise観測 \(\mathbf{N}\) を含む場合: \[ \bigl|K(\mathbf{x},\mathbf{x}) - \kappa^{\!\top}(\mathbf{C}+\mathbf{N})^{-1}\kappa\bigr| \;\le\; |K(\mathbf{x},\mathbf{x})| \]
  • Noise観測はExact観測より情報量が少ない

5. Coding Example

  • 1. ガウス過程の定義

  • 2. Exact観測下の事後 GP

  • 3. 加法ガウスNoise下の事後 GP

  • 4. 事後モーメントの解釈

  • 5. Coding Example

Setup:結合 GP で \(f\)\(g\) を共通領域上で同時推論する

\(f\) を直接観測する点と,\(g\)(関数変換を噛ませた別関数)を観測する点が異なる場面を扱う

  • 共通領域 \(\mathcal{X} = [0, 30]\) 上に,2 つの関数 \(f, g\) を結合 GP として置く
  • 周辺は両方とも同じ事前:\(\mu \equiv 0\) と二乗指数カーネル \(K(x, x') = \exp\!\bigl(-\tfrac{1}{2}|x-x'|^2\bigr)\)
  • クロス共分散 \(K_{fg}(x, x') = 0.9\,K(x, x')\)強くカップリング\(\mathrm{corr}[\phi(x), \gamma(x)\mid x] = 0.9\)
  • 観測パターン:\(f\) は領域の左半分で 5 点 (direct),\(g\)右半分で 5 点 (other function)

\[ p(f, g) = \mathcal{GP}\!\left(\begin{bmatrix}f\\g\end{bmatrix};\,\begin{bmatrix}0\\0\end{bmatrix},\,\begin{bmatrix}K & K_{fg}\\ K_{gf} & K\end{bmatrix}\right),\qquad K_{gf}(x,x') = K_{fg}(x',x) \]

ねらい

  • 直接観測のない領域でも,カップリング経由で他関数の belief が事後を引き締める様子を確認する

学習アルゴリズム:観測を1本のベクトルに束ねて閉形式公式に流す

結合 GP の事後は,多変量正規の条件付き分布の公式 (2.10) を観測ベクトル \(\mathbf{a}=[\boldsymbol{\phi};\boldsymbol{\gamma}]\) にそのまま適用するだけ

\begin{algorithm} \caption{Joint GP Posterior Inference} \begin{algorithmic} \Procedure{JointGPPosterior}{$x^*,\, (x_f, \phi),\, (x_g, \gamma)$} \State $a \gets [\phi;\, \gamma]$ \Comment{観測ベクトルを連結} \State $C \gets \begin{bmatrix} K(x_f, x_f) & K_{fg}(x_f, x_g) \\ K_{fg}(x_g, x_f) & K(x_g, x_g) \end{bmatrix}$ \Comment{結合カーネル} \State $\kappa_f \gets [\,K(x^*, x_f),\; K_{fg}(x^*, x_g)\,]$ \State $\kappa_g \gets [\,K_{fg}(x^*, x_f),\; K(x^*, x_g)\,]$ \State $L \gets \textsf{Cholesky}(C)$ \Comment{$O(n^3)$ で安定に解く} \State $\alpha \gets \textsf{Solve}(L^\top,\; \textsf{Solve}(L,\, a))$ \State $\mu_f^* \gets \kappa_f\, \alpha,\quad \mu_g^* \gets \kappa_g\, \alpha$ \Comment{事後 mean} \State $V_f \gets \textsf{Solve}(L,\, \kappa_f^\top),\quad V_g \gets \textsf{Solve}(L,\, \kappa_g^\top)$ \State $\sigma_f^{*2} \gets \mathrm{diag}\,K(x^*, x^*) - \mathrm{colSum}(V_f^2)$ \Comment{事後 variance} \State $\sigma_g^{*2} \gets \mathrm{diag}\,K(x^*, x^*) - \mathrm{colSum}(V_g^2)$ \Return $(\mu_f^*, \sigma_f^*),\; (\mu_g^*, \sigma_g^*)$ \EndProcedure \end{algorithmic} \end{algorithm}

Keypoiints

  • 結合 GP の観測は1 本の多変量正規ベクトルに積み上げる
  • カーネル行列 \(C\)4 つのブロック:自己ブロック 2 つとクロスブロック 2 つ
  • 評価点ごとのクロスカーネル \(\kappa_f, \kappa_g\) は,問い合わせる関数に応じて行を切り替える
  • \(f\) を問うとき:\(x^\ast\) vs \(x_f\) は自己,\(x^\ast\) vs \(x_g\) はクロス
  • 数値的には \(\mathrm{inv}(C)\) ではなく \(\mathrm{solve}(C, \cdot)\)Cholesky 分解を用いるのが望ましい

Python 実装:NumPy で結合カーネル → 事後 mean / variance を計算

結果の解釈:\(g\) の観測が \(f\) の事後にも情報を伝える

直接観測のない領域でも,cross-covariance 経由で belief が引き締まる:これが結合 GP の本質

\(f\) の事後 \(p(f \mid \mathcal{D})\)

  • 左半分 \(x \in [2, 14]\):直接観測 5 点で事後分散が縮小し,平均は観測値を補間
  • 右半分 \(x \in [16, 28]\):直接観測なし.しかし \(g\) の観測経由で事後分散が事前より小さくなる
  • \(\rho = 0.9\) なので \(g\) の観測 1 点が \(f\) の同位置の belief を約 9 割語る

\(g\) の事後 \(p(g \mid \mathcal{D})\)

  • 右半分:直接観測 5 点で信用区間が縮小
  • 左半分:\(f\) の観測経由で事後分散が縮小し,事後平均が \(f\) の観測値方向にシフト
  • 結果として \(f\)\(g\) の事後 mean は領域全体で強く相関した形になる
  • \(\rho \to 0\) の極限では \(K_{fg} = 0\) となり,結合 GP は 2 つの独立 GP に分解\(f\)\(g\) を別々に推論したのと結果が一致する
  • \(|\rho| \to 1\) の極限では \(f\)\(g\)ほぼ同じ関数になり,どちらの観測も両方の belief を等しく update する