Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ガウス過程回帰の導出 ( GPR : Gaussian Process Regression )

13,282 views

Published on

ガウス過程回帰の概要と,導出過程および計算例を示します.最後に,計算コストや高速化の方法について議論します.

Published in: Engineering
  • @Teppei Yamada GitHub:https://github.com/ouv-kenji-u/gpr にプログラムを公開しました。実行することでスライド中の図を再現できます。勉強用に作成したものですので、あくまで参考程度でお願いします。
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ソースコードがありましたら是非公開して頂けると勉強になります。。。
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

ガウス過程回帰の導出 ( GPR : Gaussian Process Regression )

  1. 1. ガウス過程回帰(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.
  2. 2. 発表アウトライン ②ガウス過程回帰の導出 ③ガウス過程回帰による関数近似 ①ガウス過程回帰概要
  3. 3. ① ガウス過程回帰は様々な分野に応用されているカーネル法 の一種であり,多様な課題に対しての応用が期待されている[1]. ② また,回帰(関数近似)やクラスタリングにおいてガウス過 程回帰などのカーネル法の有効性が知られている[2]. ③ カーネル法では入力空間が高次元であっても,空間内の各点間の近傍 関係をカーネル関数で表現するため,問題は高々データ数のオーダーに落ち る.さらに,ノイズの多いデータに対して過学習の心配がなく, 汎用性に優れるという特徴を有する. [1] 中村泰, 石黒浩: Gaussian process regression を用いた確率的方策に対する方策勾配法, IEICE, 2012. [2] 大羽成征, 石井信, 佐藤雅昭: ガウス過程法のオンライン学習, IEICE, 2001. ガウス過程回帰(Gaussian Process Regression : GPR)
  4. 4. ガウス過程回帰による推定では,各サンプルは互いに独立で同 一の分布に従って生成される(i.i.d)ものと仮定し,データセット の持つ統計的性質を再現するように,入力点に対する出力の 推定を行うことが目的となる.その推定値を計算する方法,つ まりガウス過程回帰の導出方法を説明する.まず,以下のよう なガウス雑音を伴う線形回帰モデルを考える. ガウス過程回帰の定義
  5. 5. 発表アウトライン ②ガウス過程回帰の導出 ③ガウス過程回帰による関数近似 ①ガウス過程回帰概要
  6. 6. ガウス雑音を伴う線形回帰モデル ガウス過程回帰の導出(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.
  7. 7. ガウス過程回帰の導出(2/15) 入力 が得られた時に出力 が得られる確率: 平均 ,分散 のガウス分布となる.
  8. 8. ガウス過程回帰の導出(3/15) ここで,事前分布を導入する. と仮定すると,データ , が得られたときの モデルパラメータ の事後確率 :
  9. 9. ガウス過程回帰の導出(4/15) ここで と置くと: 続く→
  10. 10. ガウス過程回帰の導出(5/15) がいえ,平均 ,分散 のガウス分布に従 うことが求められる.つまり,データセット( , ) より, と の対応を示す関数の分 布が得られることがわかる.
  11. 11. ガウス過程回帰の導出(6/15) 以上の結果を用いて予測を行う.つまり,新たに入力 が得られた時に,この入力に 対して構築された分布関数(データセット により学習した予測器)が出す 値を予測する.ここで予測するのはノイズが加わる前の値 である.つまり, の下で が出力される確率 を計算すればよい.先ほどの結果より, 次式がいえる. つまり, が定数であることに注意すると : 続く→
  12. 12. ガウス過程回帰の導出(7/15) つまり : → が得られた時の の分布は,平均 ,分散 の ガウス分布に従う.
  13. 13. ガウス過程回帰の導出(8/15) 以上の結果より : さらに計算を進めるため : ここまでに得られた 結果のまとめ 結局,これらを計算したい ①
  14. 14. ガウス過程回帰の導出(9/15) 以上の結果より : ここまでに得られた 結果のまとめ 結局,これらを計算したい ①より
  15. 15. ガウス過程回帰の導出(10/15) 以上の結果より : ここまでに得られた 結果のまとめ 結局,これらを計算したい 左辺: 右辺: よって ここで逆行列の補題: に以下を代入
  16. 16. ガウス過程回帰の導出(11/15) 以上の結果より : ここまでに得られた 結果のまとめ 結局,これらを計算したい よって分散は以下のように書ける:
  17. 17. ガウス過程回帰の導出(12/15) これら の期待値と分散の結果は という記法を導入し, この時の入力ベクトル の次元を 次元,サンプルサイズを とした上で, ※ と定義することで・・・
  18. 18. ガウス過程回帰の導出(13/15)
  19. 19. ガウス過程回帰の導出(14/15)
  20. 20. ガウス過程回帰の導出(15/15) を代入する: よって が得られた. これらはガウス過程回帰における重要な結果である. ガウス過程回帰
  21. 21. 発表アウトライン ②ガウス過程回帰の導出 ③ガウス過程回帰による関数近似 ①ガウス過程回帰概要
  22. 22. 問題設定: にガウス性のノイズを加えたデータ: GPRによる関数近似(入力次元1:出力次元1) が与えられた場合に,元の関数 を推定する関数近似を行った. ※次ページ以降にある実験結果について,予測値から上下に伸びる灰色のライン部分は, その幅が標準偏差の2倍であり,95%の信頼区間を表している.
  23. 23. 訓練データ数: 0 GPRによる関数近似(入力次元1:出力次元1)
  24. 24. 訓練データ数: 5 GPRによる関数近似(入力次元1:出力次元1)
  25. 25. 訓練データ数: 10 GPRによる関数近似(入力次元1:出力次元1)
  26. 26. 訓練データ数: 50 GPRによる関数近似(入力次元1:出力次元1)
  27. 27. 訓練データ数:500 GPRによる関数近似(入力次元1:出力次元1)
  28. 28. 訓練データ数の数が大きいほど,予測分布の分散が小さくなり,平均値が真の値sin(x)に 近づく.また,オーバーフィッティングも生じておらず,良好な推定結果が得られた. N=5 N=10 N=500 関数sin(x)の推定 訓練データ数:N 多くの訓練データがあれば,より正確な予測が可能 データ数と推定結果
  29. 29. が与えられた場合に,元の関数 を推定する関数 近似を行った. 問題設定: GPRによる関数近似(入力次元2:出力次元1) 入力次元を2次元に増やした,関数 にガウス 性のノイズを加えたデータ: ※次ページ以降に示す実験結果の右図は, の断面における回帰の様子を 示している.
  30. 30. GPRによる関数近似(入力次元2:出力次元1) 訓練データ数: 0
  31. 31. GPRによる関数近似(入力次元2:出力次元1) 訓練データ数: 25
  32. 32. GPRによる関数近似(入力次元2:出力次元1) 訓練データ数:100
  33. 33. GPRによる関数近似(入力次元2:出力次元1) 訓練データ数:400
  34. 34. 訓練データ数:900 GPRによる関数近似(入力次元2:出力次元1) 入力次元1の場合と同様,データ数の増加に伴い,予測分布の分散が小さくなり,平均値が真 の値に近づく.以上の結果より,ガウス過程回帰によって,全ての対応点を探すことなく高い精度 で非線形回帰を実現できることが確かめられた.
  35. 35. ガウス過程回帰を実際に計算する上で,最も大きな計算量を要する部分は, の行列の逆行列を計算する部分であり,通常の方法では の計算量がかかる. また,新しいテスト点が与えられたとき,予測器から得られる予測値の計算には,ベク トルと行列の掛け算を要し,その計算量は である. このように,ガウス過程回帰では大きな訓練データ集合に対して,その直接的な適用 は不可能になるため,様々な近似手法が提案されており[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.

×