
「訓練データ から任意の未知の点
の値をどう予測すればよいか」という問を考えましょう。本質的に有限個の点の情報から無限個の点の情報を得ることはできません。考える関数
が訓練データの外でどうあるべきかについて僕たちは何も知らない。無限にある関数候補に優劣を付けられない。なのでそこは何か決め打つしかない。それには主に2つのアプローチがあるといっています。
- 考慮するべき関数のクラスを制限する。
- すべての関数に事前確率を割り当てる(Ex. より滑らかなものが好ましいなど)。
なので 2. が実現できないかという流れなのでしょう。こちらで関数のクラスを制限することは避けたい、ただある程度滑らかであることだけ要請しておきたい、と。しかし、こちらには即座にセルフ突っ込みが入っていますね。「有限の時間でどうやって無限の関数候補を検討するんだ」と。

ごめん、「助けにきてくれる」っていわれても、意味がわからなすぎて「熱い展開!」とか「これで勝てる!」とかならない…。

そうですね、まだイントロダクションなので続く記述はいくぶん抽象的ですが、ガウス過程があると助かるという心は以下だと思います。この箇所にかいていないことも適当に想像でかきましたが。
- 訓練データ外のことはわからないので、あらゆる関数の上の確率分布(=確率過程)を考えたい。
- ここでその確率過程はガウス過程であることを仮定する。そうすれば、距離が近い点どうしは共分散が大きいような分散共分散行列を選ぶことで、滑らかな関数の事前確率を大きくすることができる。そして、未知の点上の値の分布は直接求まるので、無限の関数候補を個々に検討する必要はない。
3ページから4ページの前半は Figure 1.1 で1次元→1次元の回帰のデモンストレーションをしていますね。(a) の事前分布が、2点を観測すると (b) の事後分布になると。 そして4ページの中ほどにはまさに「ガウス過程回帰するとは共分散を見出すことである」というような記述があります。
4ページの後半からは分類問題ならどうかという話ですね。座標 に検出された天体が星であるのか銀河であるのかを分類したいというシチュエーションのようです。座標
の天体が星である確率
を予測したいと。しかし、ガウス過程のある座標での実現値は
には収まりませんから、ロジスティック関数で変換するのが常套手段であるようですね。2次元平面上でのこの2値分類の事後分布が Figure 1.2 の (d) です。
後はこの本の章立てが紹介されていますね。各章の内容は概して以下でしょうか。

じゃあまずはともかく Chapter 2 の「回帰」だな…序文に「ガウス過程モデルの解釈は色々ある」ってあるな。このテキストで扱うのは「関数空間」派と「重み空間」派ってことかな? とりあえず後者を先にみていくのか。えっと、訓練データが であるのは変わらなくて、入力は
次元、出力は1次元の実数で、入力ベクトルを束ねた
行列
を計画行列とよぶと(これの転置を計画行列とする流儀の方が多いけど意図的に)。そしていまの状況は入力が与えられた下での出力の分布に興味がある(入力の分布自体には興味がない)のか。
それでまず、 というモデルを考えるのかな。これは入力の線形和に分散
の独立なガウスノイズがのっているというモデルか。そうすると訓練データに対するモデルの尤度
は式 (2.3) になって、
の事前分布を
として事後分布を求めるのかな? それがなんで式 (2.5) になるんだっけ?

式から による条件付けの部分を取った方がわかりやすいかもしれません。
これなら を変形しただけですね。しかしいま考えているモデルは
のみから
を出すモデルではありませんから、
による条件付けを入れましょう。
ここで の事前分布は計画行列
に応じて決めているのではないので
とするだけです。それでは実際に事後分布を求めておきましょうか。
よって、これは以下の形に平方完成できますから、係数比較で を求めましょう。
見比べると であることがわかりますね。つまり、事後分布は平均が
で分散共分散行列が
のガウス分布です。ときにハヤト、線形モデル
を最小2乗フィッティングしたときの
ってどうなりましたっけ。

それは だろ(下スライド)。リッジ正則化するなら
だっけ。あれ? これって
とすごい似てる?

似ているが混同するなと 10 ページにあります。

ええ…じゃあ訊くなよ…。

はペナルティ項付きの尤度を最大にする
であり、リッジ回帰の最終的な答えともいうべきものでしょう。他方、
はベイズ推測の事後分布の平均であり最大点ですが、それだけなんです。事後分布の特徴的な点ではあるがこの点での予測値が特別な役割をもつのではないといいたいようです。このケースではたまたまモデルも事後分布も対称なので予測値の分布の平均値が
による予測値と一致するんですが。…続く 11 ページにも「未知の点を予測するときは、すべてのありうるパラメータでの予測値を事後分布による重みで平均します」とありますから、ベイズ推測とはあくまでそういうもので、事後分布のある点での予測値を使用するものではないということなのかと。しかし、渡辺ベイズ本の1章にも事後確率最大化推測とか平均プラグイン推測とかありましたから「特別な役割をもたせる人もいるのでは」となりそうなんですが、あくまで「ベイズ推測」というとそういうことではないということなのかもしれません。

ふーん…? まあ何にせよ、未知の点 に対する予測値
の分布は (2.9) 式で…何でこうなるんだっけ?

渡辺ベイズ本 1.2.3 節の「計算できる例」を参照すれば計算できるでしょう。計算できるわけですから。

あー…事前分布から事後分布への変換がハイパーパラメータの更新で表せるのをつかうんだっけか。それで、今回の場合は予測値の分布はガウス分布で、その平均は で分散は
になるのか。ん? 「予測値の不確かさは入力の大きさが大きくなるほど大きくなり、これは線形モデルに期待する性質と合致している」みたいにあるけど、どういう意味? そんなこと線形モデルに期待してたっけ?


まあいいや。Figure 2.1 にこの推測の図示があって、図 (a) の等高線が事前分布で、図 (b) が訓練データで(3点だけなんだな)、図 (c) の等高線は尤度で、図 (d) の等高線は事後分布で、図 (b) に戻って実線と点線が予測分布の信頼区間って感じか。図のキャプションをみると、図 (a)(c)(d) の等高線は1シグマ、2シグマで、図 (b) の破線は2シグマか。というか図 (c) と図 (d) めっちゃ似てるな。

事前分布がかかっているかどうかの違いしかありませんから、それは似ているでしょう。図 (c)(d) で特筆すべきなのは、図 (c) で切片の不確かさはまだ大きいのに対し傾きの不確かさはずっと小さいこと、図 (d) では傾きの広がりは図 (c) とほぼ変わらないのに対し切片は平均も分散も図 (c) からやや変わっていることですね(とキャプションにあるんですが)。この例では切片より傾きがずっとよく特定されます。図 (b) の直線について、切片を 0.5 増やしたときの尤度の減り方と傾きを 0.5 増やしたときの尤度の減り方を想像すればこれはわかるでしょう。
ちなみにプロデューサーさんが Figure 2.1 を再現しました(gist)。


暇か。

ただもちろん線形モデルでは表現力が乏しいので、簡単に表現力をもたせる手法として入力 を基底関数
で適当な高次元空間に送ればよい、と続く 2.1.2 節にありますね。
などとしてしまえばいいわけです。後の方の5章ではこの基底関数をどのように選ぶべきかという話題が出てくるようですが、さしあたり適当な基底関数が既に手に入っているものとします。いまや計画行列は
行列
となり、モデルは
となりました。予測分布はどうなりますか?

どうなるって、 が
になるだけだよな。平均が
で分散共分散行列が
のガウス分布なんじゃ。

ええしかし、 行列
の逆行列を求めなければならないのがネックです。より表現力の高い基底関数を利用しようとするほど
は大きいはずですし。

そうかもだけど仕方ないだろ。

そんなことやった覚えな…うわあやってる。

以下を今回の場合にあてはめてみましょう。
カルマンフィルタのフィルタ操作 | 線形基底関数モデルのベイズ推定 | |
---|---|---|
更新する分布 | 現在の観測に基づいて状態 |
訓練データに基づいてパラメータ |
フィルタ分布の分散共分散行列 |
事後分布の分散共分散行列 |
|
前回の一期先予測の分散共分散行列の逆行列 |
事前分布の分散共分散行列の逆行列 |
|
システムの転置 |
計画行列 |
|
観測ノイズの分散共分散行列の逆行列 |
モデルの分散共分散行列の逆行列 |
というわけで改めて予測分布の分散共分散行列をかき直すとこうです。教科書に倣って としました。