sarrrrry's diary

機械学習ML系の日々の色々の知見のアウトプット

ガウス過程とその周辺

ガウス過程とその周辺

強化学習マルコフ過程を勉強し始めて そもそも「過程」ってなんだ?? という疑問から、 ガウス過程や、カーネル関数、カーネルトリックにまで遡り 昔読んだはずなのに記憶から飛んでいるPRMLの復習をした。

過程とは

google) 物事の進行・変化してゆく途中の段階。経過のみちすじ。プロセス

  • ガウス過程[^1]
    • 関数f(x)上の確率分布で、任意の点集合x1,⋯,xnに対するf(x)の値の同時分布が正規分布になるものをガウス過程と呼ぶ。
  • マルコフ過程[^2]
    • 次に起こる事象の確率が、現在の状態のみによって決まり、過去の振る舞いに一切依存しない確率過程。
  • 確率過程[^2]
    • 時間とともに推移する確率現象、あるいはその数学的モデル。

何かが起こったとき、次どうなる確率が高いと思う〜〜〜??? みたいなことを予測できるモデル 回帰との違いがいまいちわかっていない。 現状は「モデルを使って予測するのが回帰。」みたいなイメージ

一旦カーネルトリック

f:id:sarrrrry-ml:20180727224917p:plain[^3] youtube カーネルトリック(カーネル法)とは高次元に飛ばしてSVM等で線形分離しやすくする手法。

youtubeをみてわかるように 線形分離不可能なデータセットが、高次元に飛ばすことで線形分離可能になる。 これすごくない!?!? って思ってもともと好きじゃなかった数学が好きになったの思い出した。

カーネル関数

ガウスカーネル

カーネル関数の一種、以下の式で定義される2変数関数のことをガウスカーネルと呼ぶ。

K(x, x') = \exp{-a(x-x')^2}
a: \text{正の定数}

K(x, x')はx とx' の「近さ」を表す。

カーネル関数

データx に対する特徴ベクトルが \phi(x) であるとき、それに対応するカーネル関数は

k(x, x') = \phi(x)^T \phi(x')

になる。

このカーネル関数を使用して特徴空間へデータを飛ばすのがカーネルトリックと呼ばれる手法。

カーネルトリック

カーネルが特徴空間に飛ばす。っていう言葉がいまいちわかってなかったが、 このサイトの「ガウスカーネルの特徴ベクトルとは」がわかりやすかった。 f:id:sarrrrry-ml:20180727224937p:plain

上記のようにしてカーネル関数を使用することで 前述のような特徴空間へとデータを飛ばして、 解析しやすくなる。

まとめ

数学って楽しい

マルコフ過程まではたどり着かなかったけどゆっくりやってきます

参照: [^1] yasuhisay's blog [^2] kotobank [^3] めもめも