ガウス過程を観て理解

はじめに

構成

この記事は

  • 前半:観測データと推測点
  • 後半:ベイズ更新と共分散行列

と分かれています。

(ゆるい)前提

一応、前記事

 https://qiita.com/Spike23645/items/7b202b75e3a4e20cd823

を読んでいること前提でお話しします。

ただ、記事の独立性はある程度あるので、
わからない単語があればそちらを見るようにする程度で(多分)結構です。

前半:観測データと推測点

要するに

ガウス過程はいかに、
図1→図2へと、どのように推測の信頼度を向上させていくか?
(図でいうピンク色の、推定の信頼区間の幅を減らしていくか?)

というお話です。

図1
Screenshot_2020-03-13 A Visual Exploration of Gaussian Processes(1).png

図2
Screenshot_2020-03-13 A Visual Exploration of Gaussian Processes.png

図1 図2 https://distill.pub/2019/visual-exploration-gaussian-processes/

前半では、入力データセットを一回だけ入れて、
ガウス過程がどう変化するかを観ます。
(学習の過程は後半に書きます)

データ入力する前

データ入力前の、ガウス過程の出力はこうなります

図3 入力データなし出力
Screenshot_2020-03-14 A Visual Exploration of Gaussian Processes.png

図3 https://distill.pub/2019/visual-exploration-gaussian-processes/

まあ……当然ですね。直線。

事前分布が多変量ガウス分布、平均0で正規化されているので。

この直線が、実際はどう生まれたのか?
どう計算されたか?

について理解するため、
ガウス過程の理論的な側面に少し触れます。

ベイズ的背景

そもそも、ガウス過程はベイズ系機械学習です。

ここで、ベイズ系機械学習という言葉で意味しているのは。

  • 事前分布
  • 尤度計算
  • ベイズ更新(学習)  「事後分布 = 尤度×事前分布」

となっているもののことです。

これに、ガウス過程も属します。

ベイズ系機械学習と、ガウス過程について、絵で見て見ると
下のようになります。
(ベイズの、主観的確率、の説明に
よく赤い球と青い球が入った袋、サイコロが使われます)

図4
DSC_0413~2.JPG

 図4 持橋『ガウス過程と機械学習』より

つまり、事前分布に従い取り出すものが、

  • 赤い球や青い球
  • サイコロの目
  • 関数の束

になっているのが、
ガウス過程と言えます。

ここでいう関数の束、の「関数」とは、
「多変量ガウス分布」、の一次元の場合。

なのですが、
「多変量ガウス分布」について、
詳しくは、いずれ触れます。

 未来の記事への参照(予定)

今回は「観て理解」のコンセプトなので、
参考の図を貼っておきます。

下図5は、二次元の場合の、多変量ガウス分布の例です。
(正確にはそれからのサンプリングですが)

図5
DSC_0417~2.JPG

 図5 持橋『ガウス過程と機械学習』より

共分散行列(ガウス過程の文脈では、カーネルとも言います)
のΣの値によって、散布図が変わっているのがわかると思います。

後半:ベイズ更新と共分散行列

さきほど、

共分散行列=カーネル

と言いました。

  • その共分散行列とは何か、
  • ベイズ更新に従う変化について、理解しましょう!

共分散行列(=カーネル)

ガウス過程が「関数の箱」から取り出す、
多変量ガウス分布とは。

n個のガウス分布(正規分布)が、
その学習時点での共分散行列(=カーネル)
に従って相関して出てきたもの

を指します。

つまり、ガウス過程は

ベイズ更新するカーネル法

とも言えます。

ここが、共分散行列が、ガウス過程で「カーネル」と
呼ばれるゆえんでもあります。

学習の前は、大抵RBFカーネル
(Radial Basis Function = ガウス分布 なので、ガウスカーネルともいう)
を、共分散行列の初めの値として設定することが多いです。
(ガウス過程の共分散行列がさらにガウス分布カーネル、というと「ガウス」という
言葉が出過ぎて混乱を招くので、RBFカーネルということが多いです)

学習をまだしていないRBFカーネルと、その出力のガウス過程は、
図6のようになります。

図6
DSC_0426~3.JPG

図6 持橋『ガウス過程と機械学習』

n次共分散行列、のnの値が大きいほど、
RBFカーネルは、
滑らかな関数を出す(そこからのサンプルが取れる)ことが
観て分かると思います。

(実際、RBFカーネルを共分散行列とする多変量ガウス分布は、

C

級です)

学習法(視覚的理解)

共分散行列の値をベイズ更新していくのが、
ガウス過程における「学習」です。

いわゆるベイズ更新とは、

事後分布=尤度*事前分布

で表されるものです。

これにより、事前分布、事後分布のガウス過程が変わっていきます。

ガウス過程のもともとRBFカーネルだった共分散行列が
変化していくと、例えば次のようになります。

図7
DeepKernelLearning.png

図7 (実は、そのうち紹介する「深層ベイズ学習」の一種の、学習過程動画のスクショです)https://youtu.be/Tjjq2fCY8Fc

学習法のベイズ更新については、
次回以降にまわします(今回は視覚的理解をする記事なので)

さらっとだけ具体的な数式と、
学習過程のガウス過程の出力に触れると、

図8
DSC_0427~2.JPG

図9
DSC_0428~2.JPG

図8、図9 持橋『ガウス過程と機械学習』

おわりに

記事が長くなりすぎると良くないので、
数式的な理解は次回以降に飛ばします。

あと、深層ベイズについても
(最後の出力がガウス過程だったり、ガウス過程を複数段重ねたりします)
いずれ触れます。

ご覧になっていただきありがとうございました。

ご意見などはコメントで。

ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
コメント
この記事にコメントはありません。
あなたもコメントしてみませんか :)
すでにアカウントを持っている方は
ユーザーは見つかりませんでした