ガウス過程回帰(GPR)の概要・導出と計算例大阪大学 石黒研究室 博士後期課程2年 浦井健次
機械学習勉強会@大阪大学豊中キャンパス
参考文献
[1] 中村泰, 石黒浩: Gaussian process regression を用いた確率
的方策に対する方策勾配法, IEICE, 2012.
[2] 大羽成征, 石井信, 佐藤雅昭: ガウス過程法のオンライン学習,
IEICE, 2001.
[3] Carl Edward Rasmussen and Christopher K. Williams:
Gaussian Processes for Machine Learning. Massachusetts
Institute of Technology: MIT-Press, 2006.
[4] C.M. ビショップ, 元田, 栗田, 樋口, 松本, 村田: パターン認識と機
械学習(上)(下) ベイズ理論による統計的予測, Springer, 2007.
[5] Duy Nguyen-tuing and Jan Peters: Local gaussian
process regression for real time online model learning and
control, In In Advances in Neural Information Processing
Systems 22 (NIPS), 2008.
[6] Yuya Okadome, Kenji Urai, Yutaka Nakamura, Tetsuya
Yomo, and Hiroshi Ishiguro: Adaptive LSH based on the
particle swarm method with the attractor selection model
for fast approximation of Gaussian process regression,
Journal of Artificial Life and Robotics, 2014.
発表アウトライン
②ガウス過程回帰の導出
③ガウス過程回帰による関数近似
①ガウス過程回帰概要
① ガウス過程回帰は様々な分野に応用されているカーネル法の一種であり,多様な課題に対しての応用が期待されている[1].
② また,回帰(関数近似)やクラスタリングにおいてガウス過程回帰などのカーネル法の有効性が知られている[2].
③ カーネル法では入力空間が高次元であっても,空間内の各点間の近傍関係をカーネル関数で表現するため,問題は高々データ数のオーダーに落ち
る.さらに,ノイズの多いデータに対して過学習の心配がなく,汎用性に優れるという特徴を有する.
[1] 中村泰, 石黒浩: Gaussian process regression を用いた確率的方策に対する方策勾配法, IEICE, 2012.
[2] 大羽成征, 石井信, 佐藤雅昭: ガウス過程法のオンライン学習, IEICE, 2001.
ガウス過程回帰(Gaussian Process Regression : GPR)
ガウス過程回帰による推定では,各サンプルは互いに独立で同一の分布に従って生成される(i.i.d)ものと仮定し,データセットの持つ統計的性質を再現するように,入力点に対する出力の推定を行うことが目的となる.その推定値を計算する方法,つまりガウス過程回帰の導出方法を説明する.まず,以下のようなガウス雑音を伴う線形回帰モデルを考える.
ガウス過程回帰の定義
発表アウトライン
②ガウス過程回帰の導出
③ガウス過程回帰による関数近似
①ガウス過程回帰概要
ガウス雑音を伴う線形回帰モデル
ガウス過程回帰の導出(1/15)
ここで, とし,このノイズは別の入力に対して独立に定まるとする.また は,モデルのパラメータである.ここで,得られた入力ベクトルをまとめて行列 として改めて定義する.また,それぞれの入力に対する出力 もまとめてベクトル として定義する.このとき,入力 が得られた時に出力 が得られる確率を文献[3][4]を参考に,途中式を埋めながら,次ページ以降で計算していく.
[3] Carl Edward Rasmussen and Christopher K. Williams: Gaussian Processes for Machine Learning. Massachusetts Institute of Technology: MIT-Press, 2006.
[4] C.M. ビショップ, 元田, 栗田, 樋口, 松本, 村田: パターン認識と機械学習(上)(下) ベイズ理論による統計的予測, Springer, 2007.
ガウス過程回帰の導出(2/15)
入力 が得られた時に出力 が得られる確率:
平均 ,分散 のガウス分布となる.
ガウス過程回帰の導出(3/15)
ここで,事前分布を導入する. と仮定すると,データ , が得られたときのモデルパラメータ の事後確率 :
ガウス過程回帰の導出(4/15)
ここで と置くと:
続く→
ガウス過程回帰の導出(5/15)
がいえ,平均 ,分散 のガウス分布に従うことが求められる.つまり,データセット( , ) より, と の対応を示す関数の分布が得られることがわかる.
ガウス過程回帰の導出(6/15)
以上の結果を用いて予測を行う.つまり,新たに入力 が得られた時に,この入力に対して構築された分布関数(データセット により学習した予測器)が出す値を予測する.ここで予測するのはノイズが加わる前の値 である.つまり,の下で が出力される確率 を計算すればよい.先ほどの結果より,
次式がいえる.
つまり, が定数であることに注意すると :
続く→
ガウス過程回帰の導出(7/15)
つまり : →
が得られた時の の分布は,平均 ,分散 のガウス分布に従う.
ガウス過程回帰の導出(8/15)
以上の結果より :
さらに計算を進めるため :
ここまでに得られた結果のまとめ
結局,これらを計算したい
①
ガウス過程回帰の導出(9/15)
以上の結果より :
ここまでに得られた結果のまとめ
結局,これらを計算したい
①より
ガウス過程回帰の導出(10/15)
以上の結果より :
ここまでに得られた結果のまとめ
結局,これらを計算したい
左辺: 右辺:
よって
ここで逆行列の補題: に以下を代入
ガウス過程回帰の導出(11/15)
以上の結果より :
ここまでに得られた結果のまとめ
結局,これらを計算したい
よって分散は以下のように書ける:
ガウス過程回帰の導出(12/15)
これら の期待値と分散の結果は という記法を導入し,
この時の入力ベクトル の次元を 次元,サンプルサイズを とした上で,
※
と定義することで・・・
ガウス過程回帰の導出(13/15)
ガウス過程回帰の導出(14/15)
ガウス過程回帰の導出(15/15)
を代入する:
よって が得られた.これらはガウス過程回帰における重要な結果である.
ガウス過程回帰
発表アウトライン
②ガウス過程回帰の導出
③ガウス過程回帰による関数近似
①ガウス過程回帰概要
問題設定: にガウス性のノイズを加えたデータ:
GPRによる関数近似(入力次元1:出力次元1)
が与えられた場合に,元の関数 を推定する関数近似を行った.
※次ページ以降にある実験結果について,予測値から上下に伸びる灰色のライン部分は,その幅が標準偏差の2倍であり,95%の信頼区間を表している.
訓練データ数: 0
GPRによる関数近似(入力次元1:出力次元1)
訓練データ数: 5
GPRによる関数近似(入力次元1:出力次元1)
訓練データ数: 10
GPRによる関数近似(入力次元1:出力次元1)
訓練データ数: 50
GPRによる関数近似(入力次元1:出力次元1)
訓練データ数:500
GPRによる関数近似(入力次元1:出力次元1)
訓練データ数の数が大きいほど,予測分布の分散が小さくなり,平均値が真の値sin(x)に近づく.また,オーバーフィッティングも生じておらず,良好な推定結果が得られた.
N=5 N=10 N=500
関数sin(x)の推定 訓練データ数:N
多くの訓練データがあれば,より正確な予測が可能
データ数と推定結果
が与えられた場合に,元の関数 を推定する関数近似を行った.
問題設定:
GPRによる関数近似(入力次元2:出力次元1)
入力次元を2次元に増やした,関数 にガウス性のノイズを加えたデータ:
※次ページ以降に示す実験結果の右図は, の断面における回帰の様子を示している.
GPRによる関数近似(入力次元2:出力次元1)
訓練データ数: 0
GPRによる関数近似(入力次元2:出力次元1)
訓練データ数: 25
GPRによる関数近似(入力次元2:出力次元1)
訓練データ数:100
GPRによる関数近似(入力次元2:出力次元1)
訓練データ数:400
訓練データ数:900
GPRによる関数近似(入力次元2:出力次元1)
入力次元1の場合と同様,データ数の増加に伴い,予測分布の分散が小さくなり,平均値が真の値に近づく.以上の結果より,ガウス過程回帰によって,全ての対応点を探すことなく高い精度で非線形回帰を実現できることが確かめられた.
ガウス過程回帰を実際に計算する上で,最も大きな計算量を要する部分は,の行列の逆行列を計算する部分であり,通常の方法では の計算量がかかる.
また,新しいテスト点が与えられたとき,予測器から得られる予測値の計算には,ベクトルと行列の掛け算を要し,その計算量は である.
このように,ガウス過程回帰では大きな訓練データ集合に対して,その直接的な適用は不可能になるため,様々な近似手法が提案されており[4],厳密な手法と比較して,より高速に,より大きな訓練集合に大して適用可能となっている.
サンプルサイズの増加が憂慮される実問題においては,その適用に向けた高速化が大きな課題である.近年,データセットを局所で分割することでガウス過程回帰の計算を高速化するlocal GP等が提案されており[5],他にはハッシュ関数を利用したガウス過程回帰の高速化も提案されている[6].
おわりに:ガウス過程回帰の計算コストと高速化
[4] C.M. ビショップ, 元田, 栗田, 樋口, 松本, 村田: パターン認識と機械学習(上)(下) ベイズ理論による統計的予測, Springer, 2007.
[5] Duy Nguyen-tuing and Jan Peters: Local gaussian process regression for real time online model learning and control, In In Advances in Neural Information Processing Systems 22 (NIPS), 2008.
[6] Yuya Okadome, Kenji Urai, Yutaka Nakamura, Tetsuya Yomo, and Hiroshi Ishiguro: Adaptive LSH based on the particle swarm method with the attractor selection model for fast approximation of Gaussian process regression, Journal of Artificial Life and Robotics, 2014.