はじめよう実験計画

実験を早く終わらせるための技術

ガウス過程回帰の理論と実装(Rコード付き完全解説)

この記事について

本記事では、ガウス過程回帰(Gaussian Process Regression)を数式とRコードを用いて、実際に計算しながら理解します。

ガウス過程回帰とは

ガウス過程回帰は「データが多変量正規分布に従う」というシンプルな仮定から、予測値の平均と不確実性(分散)を同時に計算できる手法です。プロセス開発・材料開発・実験自動化などができるベイズ最適化の、内部モデルとしてよく使われます。私自身、ガウス過程回帰を半導体の材料開発で活用してきました。

本記事では以下の内容を解説します:

  • ガウス過程モデルの定式化
  • カーネル行列の計算方法と意味
  • ガウス過程回帰を計算するためのRコード
  • ガウス過程回帰の外挿における問題点

統計学の基礎知識(正規分布・行列演算)があれば読めるように書きました。

サンプルデータ

本記事では、下図のサンプルデータ(黒点)を例に計算を進めます。ここで、xは入力変数、yは観測値です。

図 サンプルデータ(黒点)と真の関数(実線)

このデータに対して、ガウス過程回帰モデルを適用し、下図のような予測分布を計算できるようにするのが、本記事の目標です。

図3 GP による予測(青線=予測平均、青帯=±1SD、黒線=真の関数、黒丸=訓練データ)。オレンジ縦線の外側が外挿領域。

Rコード

外部パッケージを使用せず、すべての行列計算を実装していますので、ガウス過程回帰の中身がちゃんとわかる内容になっています。Rコード全文は本記事の付録に含まれていますので、Rの実行環境がある場合はコピペで動かすことができます。

また、Rの実行環境がない場合もShinyliveを使って、こちらのリンクから試すこともできます。

Shinylive editorの画面

記事の構成

  • 1章 ガウス過程回帰とは
  • 2章 新しい点での予測値
  • 3章 カーネルの計算方法と意味
  • 4章 予測分布を実際に計算
  • 5章 ガウス過程回帰を計算するRコード
  • 6章 外挿の危険性について

最終章の外挿の危険性については、こちらの記事でいかに克服するかを解説しましたので、合わせてお読みください。
www.doe-get-started.com

この続きはcodocで購入