Main Content

厳密 GPR 法

ガウス過程回帰 (GPR) モデルの応答 y のインスタンスは、次のようにモデル化できます。

P(yi|f(xi),xi) ~N(yi|h(xi)Tβ+f(xi),σ2)

したがって、GPR モデルから新しいデータを予測するには、以下が必要です。

  • 固定基底関数の係数ベクトル β が既知である。

  • カーネル パラメーターまたはハイパーパラメーター θ が与えられた場合に、任意の x および x について共分散関数 k(x,x|θ) を評価できる。

  • 密度 P(yi|f(xi),xi) に現れるノイズ分散 σ2 が既知である。

つまり、はじめにデータ (X,y) から βθ および σ2 を推定する必要があります。

パラメーター推定

GPR モデルのパラメーター βθ および σ2 を推定するアプローチの 1 つに、βθ および σ2 の関数として尤度 P(y|X) を最大化するというものがあります[1]。つまり、β^θ^ および σ^2 がそれぞれ βθ および σ2 の推定値である場合、次のようになります。

β^,θ^,σ^2=arg maxβ,θ,σ2logP(y|X,β,θ,σ2).

なぜならば

P(y|X)=P(y|X,β,θ,σ2)=N(y|Hβ,K(X,X|θ)+σ2In),

周辺対数尤度関数は、次のようになります。

logP(y|X,β,θ,σ2)=12(yHβ)T[K(X,X|θ)+σ2In]1(yHβ)n2log2π12log|K(X,X|θ)+σ2In|.

ここで、H は明示的な基底関数のベクトル、K(X,X|θ) は共分散関数行列です (詳細についてはガウス過程回帰モデルを参照してください)。

パラメーターを推定するため、ソフトウェアは与えられた θ および σ2 に対して対数尤度関数を β に関して最大化する β^(θ,σ2) をはじめに計算します。そして、この推定を使用して、β でプロファイルした尤度を計算します。

log{P(y|X,β^(θ,σ2),θ,σ2)}.

θ および σ2 が与えられた場合、β の推定値は次のようになります。

β^(θ,σ2)=[ HT[K(X,X|θ)+σ2In]1 H]1HT[K(X,X|θ)+σ2In]1 y.

したがって、β でプロファイルした対数尤度は、次のようになります。

logP(y|X,β^(θ,σ2),θ,σ2)=12(yHβ^(θ,σ2))T[K(X,X|θ)+σ2In]1(yHβ^(θ,σ2))n2log2π12log|K(X,X|θ)+σ2In|

そして、ソフトウェアは β でプロファイルした対数尤度を θ および σ2 に対して最大化して推定値を求めます。

予測

既知のパラメーターを使用して GPR モデルから確率的な予測を行うには、密度 P(ynew|y,X,xnew) が必要です。条件付き確率の定義を使用すると、次のように記述できます。

P(ynew|y,X,xnew)=P(ynew,y|X,xnew)P(y|X,xnew).

分子の同時密度を求めるには、それぞれ ynew および y に対応する潜在的変数 fnew および f を導入する必要があります。すると、ynewyfnew、および f の同時分布を使用して P(ynew,y|X,xnew) を計算できます。

P(ynew,y|X,xnew)=P(ynew,y,fnew,f|X,xnew)dfdfnew=P(ynew,y|fnew,f,X,xnew)P(fnew,f|X,xnew)dfdfnew.

ガウス過程モデルでは、対応する潜在的変数 fi および特徴ベクトル xi のみに各応答 yi が依存すると仮定します。P(ynew,y|fnew,f,X,xnew) を条件付き密度の積として記述し、この仮定に基づくと、次が得られます。

P(ynew,y|fnew,f,X,xnew)=P(ynew|fnew,xnew)i=1nP(yi|f(xi),xi).

ynew に関して積分すると、結果は fX のみに依存します。

P(y|f,X)=i=1nP(yi|fi,xi)=i=1nN(yi|h(xi)Tβ+fi,σ2).

したがって

P(ynew, y|fnew, f, X, xnew)=P(ynew|fnew, xnew)P(y|f,X).

条件付き確率の定義を再び使用します。

P(fnew,f|X,xnew)=P(fnew|f,X,xnew)*P(f|X,xnew),

P(ynew,y|X,xnew) は、次のように記述できます。

P(ynew,y|X,xnew)=P(ynew|fnew, xnew)P(y|f,X)P(fnew|f,X,xnew)P(f|X,xnew)dfdfnew.

次の事実を使用します。

P(f|X,xnew)=P(f|X)

および

P(y|f,X)P(f|X)=P(y,f|X)=P(f|y,X)P(y|X),

すると、P(ynew,y|X,xnew) を次のように書き直すことができます。

P(ynew,y|X,xnew)=P(y|X)P(ynew|fnew, xnew)P(f|y,X)P(fnew|f,X,xnew)dfdfnew.

次のように表すこともできます。

P(y|X,xnew)=P(y|X).

したがって、必要な密度 P(ynew|y,X,xnew) は次のようになります。

P(ynew|y,X,xnew)=P(ynew,y|X,xnew)P(y|X,xnew)=P(ynew,y|X,xnew)P(y|X)=P(ynew|fnew, xnew)(1)P(f|y,X)(2)P(fnew|f,X,xnew)(3)dfdfnew.

次のように表すことができます。

(1)P(ynew|fnew,xnew)=N(ynew|h(xnew)Tβ+fnew,σnew2)

(2)P(f|y,X)=N(f|1σ2(Inσ2+K(X,X)1)1(yHβ),(Inσ2+K(X,X)1)1)

(3)P(fnew|f,X,xnew)=N(fnew|K(xnewT,X)K(X,X)1f,Δ),whereΔ=k(xnew,xnew)K(xnewT,X) K(X,X)1K(X,xnewT).

積分と必要な代数計算を行うと、yX が与えられた場合の新しい点 xnew における新しい応答 ynew の密度は次のようになります。

P(ynew|y,X,xnew)=N(ynew|h(xnew)Tβ+μ,σnew2+Σ),

ここで

μ=K(xnewT,X)(K(X,X)+σ2In)1(yHβ)α

および

Σ=k(xnew,xnew)K(xnewT,X)(K(X,X)+σ2In)1K(X,xnewT).

与えられた y および X とパラメーター βθ および σ2 に対して、新しい点 xnew における予測 ynew の期待値は次のようになります。

E(ynew|y, X,xnew,β,θ,σ2)= h(xnew)Tβ+ K(xnewT,X|θ)α= h(xnew)Tβ+i=1nαik(xnew,xi|θ),

ここで

α=(K(X,X|θ)+σ2In)1(yHβ).

厳密なパラメーター推定および予測の計算量

(FitMethod'Exact' の場合に) 厳密法を使用して GPR モデルに学習をさせるには、n 行 n 列のカーネル行列 K(X,X) の逆行列を計算する必要があります。K(X,X) をメモリに格納しなければならないので、このステップで必要なメモリのスケールは O(n2) です。logP(y|X) を 1 回評価するスケールは O(n3) です。したがって、計算量は O(kn3) になります。ここで、k は最大化に必要な関数評価の数、n は観測値の数です。

新しいデータの予測には、α^ の計算が含まれます。予測区間が必要な場合、後で使用する (K(X,X)+σ2In) のコレスキー因子の計算および格納もこのステップに含まれる可能性があります。α^ を直接計算すると、このステップの計算量は O(n3) になり、O(n2) のメモリが必要になります。

したがって、n が大きい場合、パラメーターの推定または予測の計算には非常に時間がかかる可能性があります。通常、近似法では、n 行 n 列の行列の逆行列を計算しないように計算を再編成します。使用可能な近似法については、ページの最後にある関連リンクを参照してください。

参照

[1] Rasmussen, C. E. and C. K. I. Williams. Gaussian Processes for Machine Learning. MIT Press. Cambridge, Massachusetts, 2006.

参考

|

関連するトピック