Tunny Icon
TunnyDocs

The next-gen Grasshopper optimization tool.

PDP信頼帯

概要

GP-FITC または GP-VFE(ガウス過程)を使った 1D PDP では、各グリッド点での予測分散をトレーニングデータ全点で平均することが理論的に正確です。 ただし、計算コストが O(G×N×N2)=O(GN3)O(G \times N \times N^2) = O(G \cdot N^3)GG = グリッド数、 NN = 訓練点数)になります。

セントロイド近似は、非着目次元の代表点として重心(centroid)を 1 点だけ選び、分散をその 1 点で評価することで、計算量を O(G×N2)O(G \times N^2) に削減する近似法です。

手法 分散計算コスト N=100, G=30 での呼び出し回数
完全平均(理論値) O(GNN2)=O(GN3)O(G \cdot N \cdot N^2) = O(G N^3) 30,000 回
セントロイド近似 O(GN2)O(G \cdot N^2) 30 回

理論背景

完全 PDP 分散の定義

1D PDP の信頼帯には、グリッド点 vv における予測標準偏差が必要です:

σ^PDP(v)=1Ni=1Nσ2(v,xC,i)\hat{\sigma}{\mathrm{PDP}}(v) = \sqrt{ \frac{1}{N} \sum{i=1}^{N} \sigma^2(v, x_{C,i}) }

ここで:

  • xC,ix_{C,i} = ii 番目のトレーニング点の非着目次元成分
  • σ2(v,xC,i)\sigma^2(v, x_{C,i}) = GP の予測分散(後述)

GP の予測分散計算自体が O(N2)O(N^2) なので、これを全 NN 点で評価すると O(N3)O(N^3)、グリッド GG 点分で O(GN3)O(G N^3) になります。


セントロイド近似

近似の定義

非着目次元の代表点として各次元の算術平均(重心) xˉC\bar{x}_C を使います:

xˉC,d=1Ni=1NxC,i,d,dj\bar{x}{C,d} = \frac{1}{N} \sum{i=1}^{N} x_{C,i,d}, \qquad \forall d \ne j

jj = 着目パラメータの次元インデックス)

これを用いた近似:

σ^centroid(v)=σ2(v,xˉC)\hat{\sigma}_{\mathrm{centroid}}(v) = \sqrt{ \sigma^2(v, \bar{x}_C) }

1回の分散評価( O(N2)O(N^2))で GG グリッド点の信頼帯を計算できます。

平均値の代表性

非線形関数 g(xC)g(x_C) の平均に対して、一般には g(xˉC)E[g(xC)]g(\bar{x}_C) \ne \mathbb{E}[g(x_C)] が成り立ちます(Jensen の不等式)。 しかし、以下の条件が成立すると近似精度が高くなります:

  1. 分散の空間的変化が緩やか(典型的な GP では長さスケール ldl_d が大きい)
  2. トレーニング点が概ね対称に分布(一様サンプリングなど)
  3. 非着目次元数が多い(高次元の平均は集中することが多い、集中不等式)

ベイズ最適化の探索点はおおよそ空間を覆うように配置されるため、条件 1 と 2 は多くの場合成立します。


GP の予測分散(Gaussian Process)

GP の予測分散の計算式:

σ2(x)=k(x,x)kTK1k\sigma^2(x^) = k(x^, x^) - \mathbf{k}_^T K^{-1} \mathbf{k}_*

=k(x,x)kT(LTL1)k= k(x^, x^) - \mathbf{k}*^T (L^{-T} L^{-1}) \mathbf{k}*

=k(x,x)vTv,v=L1k= k(x^, x^) - \mathbf{v}^T \mathbf{v}, \qquad \mathbf{v} = L^{-1} \mathbf{k}_*

ここで:

  • K=LLTK = L L^T: Cholesky 分解( O(N3)O(N^3) の訓練時のみ計算)
  • k=[k(x,x1),,k(x,xN)]T\mathbf{k}_* = [k(x^, x_1), \ldots, k(x^, x_N)]^T: 予測点とトレーニング点間のカーネルベクトル
  • v=L1k\mathbf{v} = L^{-1}\mathbf{k}_*: 前進代入( O(N2)O(N^2)

1 回の分散予測は O(N2)O(N^2)(カーネルベクトル計算 O(N)O(N) + 前進代入 O(N2)O(N^2))です。


Tunny Dashboard での計算方法

非着目次元の重心は、サロゲートの学習に使ったのと同じ正規化入力空間上で、PDP の計算ごとに 1 回だけ求めます。 各グリッド点について、PDP 本体の折れ線は依然として全ての訓練点にわたる GP 予測平均の周辺化であり(近似ではなく厳密な平均)、近似されるのは信頼帯の分散だけです。 分散は訓練点ごとにではなく、重心の 1 点だけで評価します。 求めた分散は元のスケールに戻し、PDP の折れ線を中心とした 95% 信頼帯( ±1.96σ\pm 1.96,\sigma)に変換します。

コストの削減手法

上記の平均計算(全 NN 訓練点にわたる完全 MC)は、全 N×NN \times N 訓練共分散に対して評価すると O(GNN2)=O(GN3)O(G \cdot N \cdot N^2) = O(G N^3) になります。 実際には GP-FITC / GP-VFE が M100M \le 100 個の誘導点(inducing points、ガウス過程 参照)によってこのコストをあらかじめ抑えており、これは NN に依存しない FITC/VFE 近似そのものの性質です。 これは訓練行 NN のサブサンプリングではありません。 平均計算は依然として全 NN 訓練点を周辺化します。

操作 コスト(N=100, G=30)
GP 訓練(Cholesky、 M100M \le 100 の誘導点で抑制) O(N3)=106O(N^3) = 10^6 演算(1回)
平均計算(全グリッド点・全 NN 訓練点) O(GNN2)=3×107O(G \cdot N \cdot N^2) = 3 \times 10^7(前進代入×3000回)
分散計算(セントロイド近似) O(GN2)=3×105O(G \cdot N^2) = 3 \times 10^5(前進代入×30回)

各グリッド点について全訓練点で分散を評価する場合(セントロイドで 1 点だけ評価する代わりに)と比べ、この例では分散ステップだけでおよそ NN 倍高速化されます。


精度の考察

過小評価傾向

セントロイドはトレーニング点の「内側」にあるため、データが疎な領域(探索空間の周辺部)での分散を過小評価する傾向があります。

σ2(v,xˉC)1Niσ2(v,xC,i)(一般には成立しない)\sigma^2(v, \bar{x}C) \le \frac{1}{N}\sum_i \sigma^2(v, x{C,i}) \quad \text{(一般には成立しない)}

実際には凸性や凹性に依存しますが、GP では遠い点ほど分散が大きくなる傾向があり、重心は各点より近いため、わずかに過小評価になりやすいです。

実用的な正確さ

信頼帯はあくまで視覚的な参考指標として使われるため、実用上は問題ありません。 正確な信頼帯が必要な場合は、Monte Carlo 近似( NN をサブサンプリングして分散の平均を取る)に切り替えます。


参考文献

  • Friedman, J. H. (2001). Greedy function approximation: A gradient boosting machine. Annals of Statistics, 29(5), 1189–1232.(PDP の原典) https://doi.org/10.1214/aos/1013203451
  • Goldstein, A., et al. (2015). Peeking inside the black box: Visualizing statistical learning with plots of individual conditional expectation. Journal of Computational and Graphical Statistics, 24(1), 44–65. https://doi.org/10.1080/10618600.2014.907095