ベイズ最適化で利用されているガウス過程回帰ですが、データ数Nが1000を超えると逆行列の計算が難しくなり実用性が薄くなってしまいます。近年、ガウス過程も進展しておりデータ数が多くてもデータ点を補助変数法と呼ばれる手法でデータ点を近似することにより実用上問題なく動作することが言われています。インターンの取り組みで、その理論的な部分の導出を試みました。
 
作成者 Onoue Keisuke 作成日 2022/05/14 更新日 2023/05/18
 
目次

0. 導入

ガウス過程とは、平均関数 と共分散関数 によって定義される確率過程で、あらゆる 個の入力点 の関数 による出力値 の分布が、平均 を要素とする分散共分散行列 の多次元ガウス分布に従うものというふうに定義されます。
直感的な説明としては、「サイコロ」を振ると 1 ~ 6 の自然数が出てくる箱と表現されるのに対して、「ガウス過程」は振ると関数 が出てくる箱のようなものだと言われます。
このガウス過程を、分析したいデータの背後にある構造だと仮定して行う回帰の手法がガウス過程回帰です。
ガウス過程回帰の魅力は様々ですが、非線形な関係性をモデル化できる、つまりモデルとしての表現能力がとても高いことや、予測値に対しての自信の度合いを出力できることなどが挙げられます。
対して、計算量がデータ点数の3乗に比例するために、データ点数が大きくなると現実的な時間内で計算を終えるのが難しくなるといった問題もあります。
このガウス過程回帰の最大の問題点である多大な計算コストに対応するための手段の1つとして、スパース近似(補助変数法)などが提案されてきました。
この記事は、直感的にわかりやすい説明というよりは、「ガウス過程と機械学習(講談社)」を読んでいて私が躓いた箇所、式変形や論理展開などを補足する形で書いたものです。
以下を導出することをこの記事のゴールとします。
  • スパースガウス過程回帰モデルの予測分布
  • スパースガウス過程回帰モデルの対数周辺尤度の変分下界(ELBO)

1. ガウス過程回帰モデル

通常のガウス過程回帰モデルには基本的に紹介だけに留めます。
前提は、観測誤差 の観測データ が与えられていて、 は平均が になるように正規化してあるとすると、入力 と出力 の間に
の関係があるとします。ここで を要素とする共分散行列とすると
と表せます。
ここで、新たな入力 に対して、観測値の集合 を考えます。新たな入力は1つでなくて良いので、それぞれ とすれば、その予測分布は、
で与えられます。
ハイパーパラメータの最適化については、 の対数周辺尤度 をカーネル関数のパラメータと観測ノイズについて最大化します。
まず周辺尤度
とかけて、これは正規分布同士の畳み込みであることがわかるので、
となります。
この対数をとって最適化に関係のある部分、つまりカーネル関数のハイパーパラメータと観測ノイズを含む項だけを残せばよいので
となって最適化のための目的関数が得られました。

2. スパースガウス過程回帰モデル

補助変数法にはいくつかの流儀があるようですが、ここでのモデルは、Fully independent training conditional (FITC) approximation と呼ばれるものです。

2.0 前提

基本的に、1章での通常のガウス過程回帰の設定を引き継ぎます。ここで、 定義域内に、 個の補助入力点 を配置し、 上の による出力値 を導入し、これを補助変数ベクトルと呼びます。ここで、 となり、 の同時分布 は、
で与えられます。
補助変数法では、新しい入力点 の予測分布に
という近似を行い、この近似が精度良く成り立つなら、新しい入力点の代わりに観測データの入力点 を入れても
が成り立ちます。ここで 観測点 の生成過程は
とします。

2.1 予測分布の導出

補助変数の事後確率

次に、補助変数の事後確率 を求めます。まず、ベイズの定理より
となります。 は畳み込みにより、
となります。 の左辺に代入して、 に関して偏微分すると
で、 はそれぞれ、
となので、
となります。一般の多変量ガウス分布の場合と見比べれば、
となって補助変数の事後確率が得られました。

予測分布

ここで の近似分布に戻ります。
まず について、
なので、多変量ガウス分布の線形変換より
となります。
も同様に考えれば、
と予測分布が求まります。

2.2 ハイパーパラメータの最適化

周辺尤度

ハイパーパラメータの最適化にそのまま使用するわけではありませんが、周辺尤度
つまり補助変数法の確率的生成モデルのエビデンスについても求めておきます。まずは
を見ると、 はアフィン変換 を平均とした精度 の多変量ガウス分布に従っているので、多変量ガウス分布の線形変換により
が得られ、畳み込みにより
となり、目的のエビデンスが得られます

ELBO

最適化の場合にはこちらを目的関数として用います。先ほど上で考えた周辺尤度の対数をとれば
となり、ここから導出したいのはこれを下から抑える表現です。まず、イェンセンの不等式を用いて
ここで、 は二次形式の期待値で、
となるので、
となります。最初の対数周辺尤度に戻って、得られた の下界を代入すると対数周辺尤度の下界の表現が得られて、これを ELBO とします。
ここで、周辺尤度を求めたときに使用したアフィン変換のロジックをもう一度使えば
となるので、これを代入して、
となり、これで ELBO の導出は完了です。

3. 数学の補足

3.1 多変量正規分布の対数とその微分

次元の多変量正規分布の確率密度関数は、
となので、対数をとると
となる。これを について微分すると
となる。確率変数が多変量正規分布に従うことが分かっているとき、確率密度関数全体を計算する代わりに部分的に計算して一般の式と比較すると楽に望む結果が得られることがある。

3.2 多変量ガウス分布の畳み込み

確率分布の畳み込み

確率分布が連続の場合のみを紹介します。まず、2つの独立な確率分布 から、 という確率分布を考えます。ここで の累積分布関数は、
となるので、 について微分すれば
となり、新たな確率変数 の確率密度関数が得られました。

多変量ガウス分布の畳み込み

2つの独立な 次元の多変量正規分布 を考えます。その確率密度関数はそれぞれ
として、新たな確率変数 の従う確率密度関数を導出します。
まずは、一般の式から変形していきます。
ここで、 が対称行列のとき、
なので、
となり、
となって、 の確率密度関数が得られた。

3.3 多変量ガウス分布の線形変換

平均 、共分散 をもつガウス分布に従う確率変数 に対して、アフィン変換 を平均とした精度 のガウス分布に従う確率変数 を考えます。すなわち、
とするとき、
となります。これの証明については、参照した「ベイズ深層学習」に載っている以上のことが書けなかったので与えないことにします。他には下のサイトにも載っています。

3.4 共分散行列が零行列の多変量ガウス分布

たまに、計算をしているとガウス分布の分散が になってしまう時があります。例えば、ガウス過程回帰モデルの観測ノイズをカーネル関数に含めた形で表すと、
で、この周辺尤度を考えると、
となって、 のように共分散行列が のガウス分布が出てきます。ガウス分布の確率密度関数を考えると、共分散行列の逆行列を求める操作が含まれるのでこれはおかしいのですが、 のときに必ず を返すと形式的にみなすことで、ある種の正規分布として考えられます。すると
となって、ノイズを含めない形の の周辺尤度と同じものが得られました。
このような確率変数を “degenerate” あるいは、 “deterministic” などと言ったりするようです。

3.5 二次形式の期待値

期待値 、共分散行列 の確率変数 (n x 1 の確率変数ベクトル)があるとして、二次形式 の期待値を考えます。ここで、 は対象行列なので、
となり、
で、 は、
なので、最終的には
となります。
 

4. まとめ

この記事では、ガウス過程回帰の計算コスト削減アルゴリズムである補助変数法について紹介しました。当然のことながら、この記事で紹介したことは補助変数法のすべてではありません。ELBO をグローバル変数を明示的な形で定義することによって、データをミニバッチに分けてのハイパーパラメータの最適化が可能になり、より巨大なデータに立ち向かうことができるようになるようです。他にも「ガウス過程と機械学習(講談社)」では KISS-GP なる手法も紹介されています。
ガウス過程回帰に限らず、機械学習のアルゴリズム全般は、広い範囲の数学を用いて記述されているため、初学者にとってはなかなか勉強するのが大変だと思います。この記事が少しでもそんな人の助けになれば光栄です。