HELLO CYBERNETICS

深層学習、機械学習、強化学習、信号処理、制御工学、量子計算などをテーマに扱っていきます

【書籍紹介】ガウス過程と機械学習

 

 

follow us in feedly

はじめに

既に機械学習界隈の中で気になった方は手に取っているであろう「MLP ガウス過程と機械学習」の紹介です。

ガウス過程と機械学習 (機械学習プロフェッショナルシリーズ)

ガウス過程と機械学習 (機械学習プロフェッショナルシリーズ)

ガウス過程と言えば、「ベイズ」や「カーネル法」、「確率過程」など、難しそうな言葉のオンパレードで、どうも機械学習を学びたての人にとっては敬遠しがちなものである印象があります。

結論を述べれば、この本は機械学習を知っている人がガウス過程を学びたい場合にはもちろん、機械学習を学びたての人にもオススメできる書籍となっています。

ただし、数式に対して抵抗がある場合は読み切るのは難しいでしょう。「機械学習を学びたて」というのは決して「数理分野を学びたて」という意味ではありません。線形代数や微積分周りの話は知っている前提で話が進みますので、ご注意ください。

仮に「線形代数や微積分周りの数式は大丈夫だ」ということであれば、この1冊を読み切れば機械学習に関する考え方の多くに触れることが出来、機械学習入門レベルから一気にジャンプアップできること間違いありません。

目次とコメント

0章 たった5分でガウス過程が分かってしまう

数式を必要最小限に抑え、ガウス過程とは結局どういうものであるのかの全体像を説明しています。 もちろん実際にはここを読んだからガウス過程を理解した!というふうに言えるかは分かりません。しかしそれでもガウス過程をこれから学ぶという前提で、難しそうに感じていた心の霧を晴らすには十分な説明がなされています。

1章 線形回帰モデル

機械学習の最も基本となるモデルであり、かつガウス過程へと続く第一歩でもあります。手計算でできるレベルの簡単な具体例があり、機械学習自体が初めてであったとしても問題なく読めるでしょう。近年の深層学習では手計算など全く行われませんが、ガウス過程では手計算で解析的になんらかの解を書き下していく部分が多いので、このレベルは必ず抑えておきたいところです。

2章 ガウス分布

1変数のガウス分布から始まり、多変量ガウス分布の諸性質を見ていきます。ガウス分布は統計で最も重要な分布と言え、至るところに顔を出します。また非常に扱いやすい性質を有しており、ガウス過程でもガウス分布の諸性質が上手に利用されています。

3章 ガウス過程

有限のデータ点と多変量ガウス分布によって平易にガウス過程を説明していきます。ここで多変量ガウス分布の分散共分散行列を記述するものとしてカーネル関数が自然と出てきます。カーネル法に対する難しい厳密な話は出てきません。カーネル関数を使って多変量ガウス分布の振る舞いを変えられること見ていきます。また、ここで予測分布の導出や、ハイパーパラメータ最適化の話が一通り終わり、ひとまず最もベーシックなガウス過程の話がここで完結します。

4章 確率的生成モデルとガウス過程

3章までで、一応ガウス過程のベーシックな話は説明しきっています。ここは確率的生成モデルの基本から説明が始まり、その観点でみた場合のガウス過程がどのようなものかを確認していく形になります。多くの機械学習手法は、必ずしも確率的生成モデルという観点を入れなくても扱えるため、この領域に中々慣れられずにいる人も(私の肌感覚では)結構いるような気がします。 ガウス過程ではもちろんのこと、多くの統計モデリング全般、あるいは深層生成モデル等でも重要になってくる基本概念なのでしっかりマスターしたいところです。

5章 ガウス過程の計算法

ガウス過程の綺麗な部分は4章までで説明し終えています。この章では、コンピュータに実際にガウス過程の計算を行わせようとした場合の、具体的な方法について書かれています。ただし、プログラミングをするということではなく、「計算量」を現実的なレベルに落とすための数式上の工夫を見ていくということになります。 ポイントはガウス過程の計算が(というかカーネル法が)データ点数の累乗の計算量オーダーを持つというところです。累乗をどれだけ小さくできるかが勝負になり、補助変数法という手法によって計算量を落とす方法を見ていきます。ここからは明らかに4章までの内容をしっかりと理解していなければ、全く話がわからないということになってしまうと思われます。

逆に、ここで行われている工夫と影響(そんな近似をして良いのか?という疑問等)について自身で納得できるのであれば、しっかりとガウス過程のことを分かっているとも言えるでしょう。正直古今はガウス過程を自分でスクラッチするようなことは無いと思いますが、非常に面白い部分なので是非ここを理解することを目標に頑張ってみてください。

6章 ガウス過程の適用

空間統計とベイズ最適化の話です。5章などを飛ばしてしまっても読める内容です。ARDは若干難しいかもしれません。

7章 ガウス過程による教師なし学習

ガウス過程潜在変数モデル(GPLVM)の紹介です。機械学習の入門者にとっては若干これまでの話から飛躍しているような気もしますが、4章を確実に理解していれば読むことができるかな…?という具合です。機械学習自体が初めてではなく、ガウス過程を学ぶという用途で本書を手に取った場合は、「階層モデル」という概念を何となくでも理解(+4章の理解)していれば十分に読めると思われます。

ガウス過程のライブラリ

GPy

NumPy上で作られています。 github.com

GPyTorch

PyTorch上で作られています。PPLであるPyroと一緒に利用可能(つまりPyTorchで書いたモデルに自然と組み込める設計になっている)。 github.com

GPflow

TensorFlow上で作られています。TF2.0に向けて改修が必要であると提言されています。 インターフェースがGPyに準拠するように設計されているようです。