ガウス過程と機械学習を読む1

講談社の機械学習プロフェッショナルシリーズガウス過程と機械学習が追加される。 ガウス過程の専門家によるガウス過程に特化した日本語書籍ってこれが初なんじゃないだろうか。

現在(2018/12/02)、著者の一人である統数研の持橋さんによるサポートサイトにて、 原稿の一部(γ版)がPDFで無償公開されている。一部というか前半全部なのですごい。講談社太っ腹すぎないか。 出版にあわせて公開停止されるらしいので読みたい人は早めのダウンロードをおすすめする。

γ版とはいえ公開されている第3章まではほぼ完成しているように思える。公開範囲(3章まで)で線形回帰からガウス過程の基本までが学べる。 素晴らしすぎるしありがたすぎる。絶対買うわこんなん。 ちなみに発売予定は2019年3月とのこと。

サポートサイトにはPDF以外にも本書で使用する MatlabPython のコードとデータ、ライブラリ あと、ガウス過程に関する参考資料・動画、ライブラリ情報がまとまっている。

せっかく無償公開して頂いているので、一通り読んで感想を書いておくことにする。 理解に誤りがある場合はご指摘いただけると助かる。 あと、読みながらうだうだ書いていくので、内容と感想がごちゃまぜになってるのは許してください。ごめんなさい。 問題があれば修正します。

第0章

ガウス過程が5分でわかるらしいが読むのに5分以上かかった。 機械学習とはなにか、モデルを決定論的でなく確率的に推定するとはどういうことかという話が書かれている。 で、ガウス過程とは何かを一言で述べている。 曰く「関数 f(x) を確率変数と見たてた確率分布です」とのことである。 後ろの章でちゃんとやる話を簡単に書いているだけので、 これだけで全部理解できる人はこの本の対象読者ではないだろう。

0章の感想

ちょっとだけ冗長に感じたが、ガウス過程やガウス回帰がどういうものかの雰囲気を掴むことはできる。

第1章

線形回帰の復習である。PRML3章に対応する。 PRMLは6章でガウス過程が出てくるが、その基礎に当たる部分、モチベーションが線形回帰であるため、 まずは何でこんなモデルを考えるのかというところをきちんと抑えておくという意味でも 「センケイカイキなにそれ美味しいの」って人から「線形回帰完全に理解した」という人まで読んでおくと良いと思われ。 「線形回帰チョットダケワカル」って人は読み飛ばしてもよいと思う。

内容は至って普通の線形回帰の話である。 一行でまとめると、単回帰、重回帰、線形モデルの一般的表現と解、正則化(リッジ回帰)の話である。

ガウス過程は線形回帰の無限次元版であることが冒頭で述べられている。 回帰とはなにか、分類とはなにかというはなしから始まるので初学者も安心である。 (10月版では一部誤植があった((P.13 (2.1)式直後のN=8)も、11月28 日v1.1ではN=7に修正されているようだ)

単回帰で最小二乗法を例に取り、パラメータ微分から正規方程式を導出する。 計算がこれでもかというくらいに非常に丁寧である。

つぎに重回帰のはなしがきて計画行列でモデルを書き下し、 あとは本質的には単回帰と同様にパラメータ微分から重回帰の解を導出する。 ここでも具体的な数値で計算例が載っており親切丁寧である。

で、次にこれらの知識からPRML3章相当の話をする。 線形モデルを基底関数で一般的に表現して計画行列もこれにあわせて一般化する(X \rightarrow \Phi)。

最後に正則化のはなしである。 正規方程式に現れる\Phi^{T}\Phi が非正則あるいは非正則に近いときのはなし。統計でいうランク落ちの状況である。 実際的には\Phi^{T} \Phi逆行列をもたない、あるいは非常に大きい固有値をとってしまうときに正規方程式が解を持たないか不安定になる。 そのときにどうすればよいかという話である。ここではリッジ回帰を紹介している。 で、リッジ回帰のときも結局解析解はあって、 \Phi^{T} \Phi単位行列の定数倍だけシフトさせることに対応するということを紹介している。

1章の感想

一切の余計なことを排除しエッセンスだけが抽出されており非常に見通しが良いと感じた。 ガウス過程関係なく線形回帰だけを知りたい人もこの章を読めばよいと思う。

第2章

正規分布の復習である。 冒頭でも述べられているが、多変量正規分布を知っている人は飛ばしてもよいだろう。

P.39, 3行目に「正規分布は情報量最小 (=エントロピー最大) である」とあるが、情報量最大の誤植だろうか。

Box-Muller 法が紹介されている。 いまどき Python や R では一行で正規分布からのサンプリングができるので Box-Muller 法を聞いたことすらないという人も結構いそうである。

第1章で二乗誤差を最小にする戦略で最適解を求めたが、ここではそうではなく確率モデルとして焼き直す。 つまり、観測値には誤差がのっており、その誤差にガウシアンを仮定し尤度を最大化するとういう戦略をとる。 で、実はこれが第1章の二乗誤差最小化することと等価ですよということを示す。これも基本事項だろう。

2.2で事前分布がほとんど未定義であらわれる。一応0章ででてきているので、そこはOKとするべきなのか。

1章で出てきたリッジ回帰の正則化パラメータ\alphaに理解を与えるために事前分布の概念が必要なのである。 ベイズ推論の枠組みを少しでも理解していないと何を言っているかわからないのではないかと思った。 結論的には\alphaは事前分布のガウシアンの分散と観測ノイズの分散の比\alpha = \sigma ^{2}/ \lambda ^{2}として理解できる。

次に多変量のとき。分散共分散行列とか精度行列が紹介されている。 この辺は知ってる人はとばしてもよいだろう。

「精度行列の行列式が張る空間の大きさ」という表現は何を言ってるのかわからなかった。 行列式の説明なのか? 1次元のときの拡張といっているのでそうではなさそうである。 単に精度パラメータとガウス分布のピークの急峻さのことを言っているのかな?

あとは道具として多変量ガウス分布の基本的な性質知っておくべきことで、 その線形変換もまたガウス分布であるということが示されている。おそらくあとで使うのであろう。

多変量ガウス分布からのサンプリング方法も、自分でサンプリングする場合にコレスキー分解を使い1次元ガウス分布からサンプリングする方法が紹介されている。

最後に多変量ガウス分布について、その一部の変数で周辺化 or 条件づけたとき、 どういう表式になるかを具体的な計算付きで示している。 計算は相変わらず丁寧であり迷うことはなさそうである。途中でウッドベリーの公式を使う。

最後に一部を観測した(条件づけた)ときの新しい正規分布に関して、その平均(2.66)と分散(2.67)に関する意味を与えてくれている。 x2の平均の更新量は、観測量x1の分散が小さいほど大きくなり、分散が大きいほど小さくなる。 つまり、一部の観測量の精度が高ければ高いほどそれがもつ情報量は大きく残りの部分に強く影響を及ぼすと理解できる。 分散も同様に観測量x1の分散の大きさ(精度の小ささ)を得られた情報量と思えば定性的に理解できるのである。

第2章の感想

ガウス分布の基本的な内容である。 PRML2章を(おそらく)本書に必要なところだけ抜粋して超特急で解説した感じ。説明や計算は丁寧でわかりやすい。 最後に一部を観測したときのパラメータの挙動に定性的な理解を与えてくれているところもよかった(小並感)。

第3章

いよいよ本題のガウス過程に入る。

まずはモチベーションから。 ナイーブな線形モデルに関する次元の呪いがそれ。 基底関数をガウシアンで構成しようとすると、 学習パラメータwの次元が入力データxの次元について指数的に増大することを示す。 これも具体的に計算されていてイメージが付きやすく親切である。

でこれに対処する方法がガウス過程であるということを言う。

具体的にはパラメータwを積分消去するのである。 それが3.9式以降の展開である。 積分消去の意味は周辺化と同じ意味でありこれは前の章で説明済みである。 具体的には期待値をとる操作に対応する。期待値をとるのでwの確率分布が必要なのだが、ちゃんとこれも前の章で説明済みで、 パラメータwの事前分布として正規分布を考えるのである。 すると、前章で示した正規分布の線形変換もまた正規分布であるという事実をちゃんと使って、予測値の分布がガウス分布として得られるのである(3.14)。 ここで重要なのは、yを評価するのにwを直接評価しないところ。 これが意味するのは、入力次元が大きくなることによって重み空間の次元が指数的に増大し次元の呪いにトラップされることを防いでいる(というかそんな概念すらない、と言ったほうが正確かもしれない)。 つまり、これがガウス過程の本質的なところで定義3.1として与えられる。

最後に、本来ガウス過程は無限次元であり、観測データで周辺化し有限次元にしたのが(3.14)であるということが書かれている。 なるほど、と思った。

図の3.3のように分散共分散行列Kの要素は特徴ベクトル空間におけるデータxの内積に対応 特徴空間での入力xの類似度の大小が、ガウス分布の共分散の大小を通してyが近い値をとりやすいことに対応する

続く