ガウス過程(ノンパラメトリック回帰)

ベイズ最適化などでは回帰式としてガウス過程(GP)を用いる場合が多いようだ.ということで勉強.

  • パラメトリック回帰ではモデル式を仮定して,モデルが最もフィットするようにモデルのパラメタを推定する.”最もフィットする”は実際には最小二乗誤差や最尤法が使われる.
  • 実際に課題となるのは陽に予めモデルが仮定でいないこと.パラメトリック回帰ではAICなどを基準としてモデル自体を評価することで対応しようとするが,そもそもモデルの形(仮定)をもう少し柔らかかくしてみようという試みがノンパラメトリック回帰.
  • ノンパラメトリック回帰ではモデル式を仮定せず,データだけから推定する.具体的にはデータだけから推定する方法として近傍との関連性を考えて推定する.例えば移動平均で内挿する方法や,データ間の距離の逆重み平均で内挿する方法もノンパラメトリック回帰と言える.
  • データ自体がパラメタになっていて,データ数に制限はない(無限)という意味なのかな.
  • ここで,ノンパラメトリック回帰で重要となるのが,推定するモデルの滑らかさ,つまり近傍との関係性をどんな風に仮定するか?この仮定がカーネルと呼ばれるもの.例えば,距離の逆数で指数的に関係性が依存する場合として, exp(-(x1-x2)^2)などが良く使われる.
  • ノンパラメトリック回帰とパラメトリック回帰の大きな違いとして,データを保持しておくかどうかがある.パラメトリック回帰では回帰係数が求まればデータ自体は捨ててもいい.対して,ノンパラメトリック回帰はデータから決めるんだから当然とっておかなければならない.
  • 同様に,パラメトリック回帰では予測するのに必要な計算量もデータ数が多くなるほど多くなる.パラメトリック回帰は回帰係数を求めるのにデータが多くなるほど時間はかかるが,モデルさえ求まれば予測自体はデータ数に依存しない点が異なる.
  • Krigingもガウス過程も含めて,ノンパラメトリック回帰は近傍との滑らかな関係性を仮定している.


ここまではノンパラメトリック回帰全般.で,ガウス過程とは?っていうと,,,わからん!!

  • 本来やりたいことは,「観測されたn個のデータを生成する現象のモデル(関数)は?」ということ.そこで,観測されたn個のデータがn変量正規分布からの一組の実現値であると見る(つまりn次元の多変量正規分布のサイコロを一回振って生成されるn個のデータが観測されたとみる)んだと思う.
  • で,そんなn変量の正規分布は?っていうのを,各データを平均値,各データ間の分散を共分散行列とする多変量正規分布から生成された,と考える.
  • ここで,共分散というのは平均からの変化量,とはせずに各データの類似度として距離のような関数を定義する.それがカーネルで,カーネルがあるデータとあるデータの相関を規定する.よく使われるカーネルは距離とともに指数的に減衰する指数カーネルなんかがあるみたい.
  • カーネルがあるデータとあるデータの相関(重ねあわせ方)を規定するから,カーネルの設計は重要.
  • ベイズ的なやり方で,データが観測されるたびに逐次的にn変量正規分布を更新することが可能.
  • 考え方から明らかなように,このやり方だた全てのデータを保持しておく必要があり,データが増えるにしたがって計算量は増加するため,回帰式生成の時間だけでなく予測の計算時間もデータ量に依存する.これはパラメトリックモデルはモデルパラメタだけ保持しておけば良くて,予測自体はデータ数に依存しないことに比べるとデメリット.(MCMCやギブスサンプリングでデータ数を削ったりするのかな?)