Obey Your MATHEMATICS.

機械学習関連の純粋数学や実験など

ガウス過程の定義と存在を測度論の言葉を使って、出て来る言葉の定義を全て与えて、ごまかさないで、しっかりと、数学的に説明してみようと思ったけど、ただの機械学習のための測度論的確率論超絶速習コースになってしまいました。

こんにちは。


今回は、このブログを読んでいる機械学習界隈の人なら必ず一度は聞いたことがあるであろう


ガウス過程(Gaussian Process)

についてです。かの有名な悪名高いPRMLにも頻繁に登場しますし、機械学習の本や論文にはしょっちゅう出て来る存在だと思います。僕の大好きなベイズ最適化

mathetake.hatenablog.com

においても非常に重要な数学的概念です。


ガウス過程の説明でよくあるあるのは、


「確率変数の集まりであって、有限個取った場合にその同時分布はガウシアンである」


と言うものですが、、、。 肝心なのは、皆さん、

・確率変数って何か分かってますか?
・確率分布ってなにか分かってますか?
・そもそも確率って何か分かっていますか?

と言う話なのです。曖昧な土台の上で議論や話を進めるの、もうやめにしませんか?気持ち悪くありませんか?


そして重要なのは、ガウス過程とは数学的には

関数が成すベクトル空間に値を取る確率変数

であり、このような捉え方が極めて重要なのですが、殆どの方はこの言葉を正確に説明出来ないでしょう。




と言うことで今回は、ガウス過程とは数学的に何者であるかを、

代数学の言葉

ほぼ全てに*1

一から定義を与え

て存在証明をしてみたいと思います。


この記事にある内容をすんなりと理解出来るぐらいになっていれば、機械学習または統計理論で確率論を使う上での土台は十分だと思います。

§1. 測度空間と確率空間

まず最初にこの§で、確率とはなにか、に答えましょう。
以下 { \Omega } を空でない集合*2とします。

[定義1.1] { \Omega }部分集合族*3{ \mathcal{A} }{ \sigma }-代数であるとは次の3つの条件を満たすこと;
(1) { \Omega \in \mathcal{A} },
(2) { A \in \mathcal{A} \Rightarrow A^c \in \mathcal{A} },
(3) { A_1,A_2,A_3,... \in \mathcal{A} \Rightarrow \bigcup_{i=1}^\infty A_i \in \mathcal{A} }.

この時、組{ (\Omega, \mathcal{A}) }可測空間と言う。

以下、可測空間{ (\Omega, \mathcal{A}) }を1つ固定します。
確率論を念頭においているので、確率論の言葉で言い直せば、{ \Omega }標本空間(Sample Space)、, {\mathcal{A}}事象(event)と呼ぶのが自然でしょう。まだイメージが湧かないと思いますが、次の定義のあとに詳しく説明するので頑張りましょう。

[定義1.2] 関数{ \mu : \mathcal{A} \rightarrow [0, \infty ] }測度であるとは次の条件を満たすこと:
(1) {   \mu(\phi) =0  }
(2) 互いに素な高々可算個の集合{ A_1,..,A_n,... \in  \mathcal{A}  }に対して、

{  \mu\left(  \bigcup_{i=1}^n A_i \right) = \sum_{i=1}^n \mu(A_i)   }.


また、この時{ (\Omega, \mathcal{A}, \mu) }測度空間と呼びます。
更に、{\mu(\Omega)=1}を満たす時、{ (\Omega, \mathcal{A}, \mu) }確率空間と呼び、{  \mu }確率測度呼ぶ。

ここまで来ると、具体的なイメージを描くことが出来ます。確率空間{ (\Omega, \mathcal{A}, \mu) }を1つ取りましょう。確率が定まるべき何かのイベントや事象を選ぶことは、標本の中の部分集合を取ること{ A \in \mathcal{A}}に対応し、それに対して実数{ \mu(A) \in [0,1 ] }が対応し、この実数そのものが我々の考えている確率であり、そのような数学的な空間と概念を確率空間と呼ぶわけです。

確率とはなにかと言われたら、確率測度のことなのです。

[例1.3] { \Omega := \mathbb{R}^d  (d \geq 1) } の場合を考えましょう。{ \mathbb{R}^d }上の{\sigma}-代数(または事象) { \mathcal{B} }ユークリッド距離から定まる {  \mathbb{R}^d}上の位相により定まるBorel集合族 とします。( Borel集合族の定義はAppendix 1. 参照。) そして可測空間{ (\mathbb{R}^d,\mathcal{B}) }上の確率測度{ \mu_G } を次のように定め、これを標準ガウス測度と呼びます(添字のGはGaussのGです。):


{  \mu_G(B) := \displaystyle \int_B \dfrac{1}{ \sqrt{2 \pi}^d } \exp\left( -\dfrac{\|x\|^2}{2} \right) dx \ , \ \ \ B \in \mathcal{B}  }.

この関数が実際に確率測度として定まる事は、皆さんが普段から””正規分布””として使ってきたので当たり前なのですが、[1]定理3.12を参照して下さい。またここで右辺はルベーグ積分として定められていますが、よほど病的な事を考えない限り普通の積分と変わりませんし、このことは先重要ではないので気になる方はAppendixにルベーグ積分超速習コースを用意したのでそこを参照して下さい。

なにはともあれ、この確率測度が巷でガウス分布とか正規分布とか言われるものの正体です。同様に正定値対称行列で分散させたり平均をずらしたりしたやつもひっくるめてガウス測度と呼び、{ \mu_G } で表すことにしましょう。

もっと他の具合的な例とか気になる人は "measure theoretic probability introduction"とかググったりすれば腐るほど出てくると思いますのでそっちを当たって下さい。

§2. 確率変数と確率分布

この§では、確率変数と”確率分布”についての定義を与えます。それだけです。

[定義2.1] 可測空間 { (\Omega_1, \mathcal{A}_1) } , { (\Omega_2, \mathcal{A}_2) }を考えます。 関数{ X: \Omega_1 \rightarrow \Omega_2 }可測であるとは、次を満たす時:

{ A \in \mathcal{A}_2  \Rightarrow X^{-1}(A)=\{\omega \in \Omega_1 \ \ | \ \ X(\omega) \in A  \} \in \mathcal{A}_1 } .

この時、{X}{\Omega_2}-値可測関数と呼びます。また、{ (\Omega_1, \mathcal{A}_1) }上に確率測度{ \mu }が定まっている時、特に { X }確率変数と呼びます。

つまり、確率変数とは数学的には、

確率空間から測度空間への可測関数

にすぎないのです。これでスッキリしました。

よく機械学習で出てくるのは{ X }の行き先の可測空間が{ (\mathbb{R}^d, \mathcal{B} ) }である確率変数の事で、実数値確率変数と言ったりしましますが、上の定義から分かるように任意の測度空間に対して定まるので、皆さんが思っている以上に確率変数の奥は深いわけです。

ただ数学的に確率変数とはなんなのか分かったけれども、イマイチピンと来ていないかと思います。そのために”””確率分布”””が登場します:

[定義 2.4]
確率空間{ (\Omega, \mathcal{A}, \mu) }から可測空間{ (\Omega', \mathcal{A}') }への確率変数(または可測関数) { X } が定める確率分布とは、次の式によって定まる{ (\Omega', \mathcal{A}') }上の確率測度{ \mu^X }のことである;


{\mu^X(A'):= \mu\left( X^{-1}(A') \right) \ , \ \ A' \in \mathcal{A}' }

右辺がwell-definedであることは、 { X }が可測関数であるので { X^{-1}(A') \in \mathcal{A} }なのでOKです。これが実際に確率測度であることは簡単な練習問題です。

初心者向けの本から玄人向けまで様々な本で、

確率変数が正規分布に従う

と言う言葉が多々出てくるかと思いますが、それは数学的に言えば

測度空間{ (\mathbb{R}^d, \mathcal{B}) }-値の確率変数によって誘導される {\mathbb{R}^d}上の確率分布が例1.3のようなガウス測度{\mu_G}に一致する

と言う事です。他のよく使われる分布についても(離散変数の場合も含めて)全てこの文脈で表現することが出来ます。

§3. ガウス過程の定義と存在証明

いよいよガウス過程の定義を与える準備が整いました。

{ T }を空でない集合とします。なんでもいいです。実数でもいいし有限集合でもいいし、ヒルベルト空間でもいいし。

[定義 3.1] (関数空間上の{\sigma}-代数)
{\mathbb{R}^{T}}{ T }上の関数空間、つまり{\mathbb{R}^{T} :=\{f:T\rightarrow \mathbb{R} \} }と定めます。この(ベクトル)空間上の自然な{\sigma}-代数 {\mathcal{C}(T) }を、積位相から定まるBorel集合族*4として定めます。追記2/6: hasmicさんのコメントを御覧ください。

さて準備が整ったので、ガウス過程の定義を誤魔化さないでちゃんと与えます

[定義 3.2] 確率空間 { (\Omega, \mathcal{A}, \mu) }から測度空間 { (\mathbb{R}^{T}, \mathcal{C}(T) )}への確率変数 {\xi }ガウス過程であるとは、それによって誘導される{ \mathbb{R}^T }上の確率分布 { \mu^\xi }が次の条件をみたすときを言う:


任意の有限個の{ T }の元 { t_1,...,t_n }を取ってきたときに定まる確率変数
{(t_1, \dots ,t_n) : \mathbb{R}^T \rightarrow \mathbb{R}^n \ , \ \ f \mapsto (f(t_1), \dots,f(t_n)) }
が定める{ \mathbb{R}^n } 上の確率分布が必ずガウス測度となる。

つまりガウス過程とは、冒頭で述べたように、

自然な可測空間としての関数空間に値を取る確率変数であって、その確率変数の自然な有限次元への射影が誘導する確率分布が、ガウス測度となる確率変数

の事なんです。


これでやっと””ガウス過程とはなんであるか””に対して数学的にスッキリと答えられるようになったと思います。


パチパチパチ…





と言いたいところですが、ここで鋭い方なら疑問が1つ浮かんでくるかと思います。


そんな確率変数って実在するの???


と言う疑問です。答えはもちろんYESなんですが、確かにこの問いは非常に重要です。


存在証明においては、ガウス過程に限らずディリクレ過程ウィーナー過程などの存在証明にも使われる


Kolmogorovの拡張定理


が本質的で、この定理の主張そのものです。


簡単に言えば、有限次元の確率測度(今の場合自然なユークリッド空間上のガウス分布)の集まりによって関数空間上に確率分布が定まる、と言う定理です。


これを本当にゼロから証明するとなると、4〜5回ほど記事を書かなければならないのでやりたくありませんやりません。

気になる方は [4] を見てください。この定理をゼロから証明したノートです。素晴らしい。



ってことでタイトルの通り、ただの測度論的確率論超絶速習コースになってしまいましたが、

この記事の内容がスッと頭に入るぐらい、機械学習界隈の皆さんの確率論レベルが上がったら、もっと世界は良くなるのかなあとか思っております。

それでは。

§Appendix1. 位相空間とBorel集合族

このAppendixでは””位相””の定義とそれによって定まる重要な{\sigma}-代数であるBorel集合族について、この記事に必要な範囲に絞って補足します。

定義 空でない集合 {S }上の集合族(つまり部分集合からなる集合) {\mathcal{O} }{S }上の位相(または開集合系)であるとは、次の条件を満たすこと;
(1) { \emptyset, S \in \mathcal{O} }
(2) { O_1 , O_2 \in \mathcal{O} \Rightarrow O_1 \cap O_2 \in \mathcal{O}  }
(3) { \mathcal{O}'  \subset \mathcal{O} \Rightarrow \bigcup_{U \in \mathcal{O}'} U  \in \mathcal{O}  }

また、この時組{(S,\mathcal{O} ) }位相空間と呼び、各元{U \in \mathcal{O} }開集合と呼ぶ。

イマイチピンと来てない方がほとんどかと思いますが、位相空間とは、

点が離れてるとかくっついてるとかそれを判断出来る空間

のことであり、それらの概念を数学的に、抽象化したものです。

私達が離れてるとかくっついてるとか判断するときには、距離と言うものを尺度として使いますが、距離空間*5位相空間の1つの例に過ぎません。 距離空間じゃないような病的な空間考える人おるんかいな、みたいな事思うかもしれませんが、純粋数学に世界ではその辺を研究している人たちがわんさかいます。が、この記事を読んでる皆さんにはあまり関係ない話なので、距離空間の一般化なんだなあぐらいで大丈夫です。

特に次で示すような、距離空間により定まる位相が最も重要です:

定義(距離から定まる位相)  {(S,d) }距離空間とします。ここで {d }は距離関数です。 {S }上の位相を次のように定めます。
まず、次の形の集合

{ B(p;r):= \{ x \in S   \ \ | \ \ d(p,x) < r  \} \ , \ \ \ 0 < r < \infty, \ \ p \in S}

全体からなる集合族{\mathcal{O}' }を考え、それにより生成される位相、つまり位相の定義式(1)-(3)を満たすように{\mathcal{O}' }に付け加えたものを、距離空間上の距離から定まる位相と呼びます。

特にユークリッド空間上のユークリッド距離が定める位相が重要です。



さて、やっとBorel集合族の定義を与えるときが来ました:

定義 位相空間{(S, \mathcal{O} )}に対して定まるBorel集合族{  \mathcal{B}( \mathcal{O}) }とは、位相 {\mathcal{O} }によって生成される{ \sigma}-代数の事である。即ち{\mathcal{O} } が定義1.1の条件を全て満たすように足りないものを付け加えた集合族である。

特に{ S= \mathbb{R}^d }かつ{\mathcal{O} }ユークリッド距離に誘導される位相である時、それによって定まるBorel集合族と{ \mathbb{R}^d }の組が、例1.3で出てくる可測空間になります。


残すは、定義3.1の関数空間上の{ \sigma}-代数を定めるのに用いられた、直積空間上の積位相についての説明です。

まず、位相空間の間の写像(関数)の連続性について定義します。

位相空間{(S_1, \mathcal{O_1} )}位相空間{(S_2, \mathcal{O}_2 )}の間の写像 {( f : S_1 \rightarrow S_2 )}連続であるとは、任意の{U \in \mathcal{O}_2 }に対して、{f^{-1}(O_1) \in \mathcal{O} }が成立すること。

これは皆さんおなじみの関数の連続性*6を自然に拡張した概念になっています。よく調べれば分かるように、ユークリッド空間の間の写像について、この連続性は微分積分で習う連続性と同値になります。

さて、最後に位相空間の直積の空間に自然に導入され、関数空間上の位相として自然に導入される積位相についての定義を与えましょう。

任意の集合で{T}添字付けられた位相空間の族 {(S_t, \mathcal{O_t} )_{t \in T} }に対して、直積集合*7


{ S := \prod_{ t \in T}S_t = \{ \ (s_t)_{t \in T} \ \ \  | \ \ \  s_t \in S_t \ , \ t \in T \ \} }


に対して、この集合上の位相を次の用に定めます; まず各 { t_0 \in T } への {S } の射影を


{ p_{t_0} : S \rightarrow S_{t_0} \ , \ \ (s_t) \mapsto s_{t_0}  }


として定義し、 全ての { p_{t}} が連続となるような最小な位相として定めます。これはもっと具体的に書くと、{S } 上の位相を、集合族 { \displaystyle \bigcup_{t \in T} \{ p_{t}^{-1}(U) \ \ | \ \ U \in \mathcal{O}_t  \} } により生成される(つまり、位相の定義(1)-(3)を満たすように付け加えた)位相として定義し、これを積位相と呼びます。*8

これでやっと、定義3.1関数空間上の自然なσ-代数の定義の曖昧さを排除出来ました。めでたしめでたし。

§Appendix2. 測度空間上の積分ルベーグ積分

このAppendixでは測度空間上の積分と、ルベーグ積分の定義をざっっっっっと爆速でおさらいします。
※ここでは、関数は∞や-∞を取らないものとして色々と定義していますが、自然に拡張できます。が、記事に必要ない上に煩雑になるので避けています。

まず、一般の測度空間上の可測関数の積分を構成しましょう。確率論の言葉で言えば、期待値の定義をしましょう。
測度空間 { (\Omega,\mathcal{A},\mu) } を1つ固定します。

{\Omega} の部分集合{A\in \mathcal{A} }に対して定義関数 {1_A : \Omega \rightarrow \mathbb{R} }


{ 1_A(\omega) := \begin{cases}1 \ \ \omega \in A \\  0 \ \ \omega \notin A \end{cases} }


として定め*9可測単関数(または単関数)定義関数の有限個の線形和で書かれるような関数として定めます*10。即ち、{f: \Omega \rightarrow \mathbb{R} }が単関数であるとは {f= \sum_{i=1}^n a_i 1_{A_i} }の形で書ける関数である事を意味します。

任意の非負単関数 {f= \sum_{i=1}^n a_i 1_{A_i} } (つまり{a_i \geq 0 })の積分を、自然に


{ \displaystyle \int_\Omega f d\mu := \sum_{i=1}^n a_i \mu(A_i) }


として定めます。

任意の非負可測関数、つまり単関数のように単純な線形和で表せないような非負の可測関数 { g }に対しての積分を、以下のように定めます。


{ \displaystyle \int_\Omega g d\mu := \sup \left\{ \left. \int_\Omega f d\mu  \ \ \right| \ \ f:単関数 \ , \ \ 0 \leq f(\omega) \leq g  (\omega) \ , \ \ \forall \omega \in \Omega \right\}  }

少し気持ち悪い定義かもしれませんが、実際に右辺の上限を実現するような単関数の列を構成することが出来ます。 面倒くさいのでここではやりませんが、興味がある方は [2] を参照してください。


最後に、非負でない可測関数 { g }に対しての積分を定義しましょう。

まず、任意の可測関数 { g } に対して

{ g^+(\omega) := \max(f(\omega),0)  }
{ g^-(\omega) := \max(-f(\omega),0)  }

として定めれば、2つは非負可測関数となります。

任意の可測関数 { g }ルベーグ積分であるとは、2つの積分{ g  = g^+ - g^-}と分解したときの各項の積分有界である、即ち、


{ \displaystyle \int_\Omega g^+ d\mu \  < \infty, \ \ \ \ \int_\Omega g^- d\mu  < \infty}


有界であるときを言います。またこの時 { g }積分


{ \displaystyle \int_\Omega gd\mu := \int_\Omega g^+ d\mu \  - \ \int_\Omega g^- d\mu  < \infty}

と定めます。


こうして晴れて測度空間上の可測関数の積分、確率論の言葉で言えば期待値を取る操作の定義が完了しました。

さて、最後に例1.3で出てきた、可測空間{(\mathbb{R}^d ,\mathcal{B}) }上のルベーグ測度に関する積分(ルベーグ積分)の定義を与えましょう。

可測空間 {(\mathbb{R}^d ,\mathcal{B}) } 上の測度、{dx }ルベーグ測度であるとは、任意の直方体{\displaystyle \prod_{i=1}^d [a_i ,b_i ] }に対して


{ \displaystyle dx \left(\prod_{i=1}^d [a_i ,b_i ]\right)  = \prod_{i=1}^d (b_i -a_i) }


が成立する唯一の測度である。また測度空間{(\mathbb{R}^d ,\mathcal{B},dx) } 上の積分を特にルベーグ積分と呼ぶ。*11

こんな測度存在するんかいな、みたいな話は非常に込み入っていて、僕が思うにそれが多くの測度論初学者を挫折させているポイントとなっているのではないか、と思います。正直どうでも良い(いや、数学的にはどうでもよくないのですが、応用する上ではどうでもよい)のに多くの数学書ではルベーグ測度を構成するために結構な労力が割かれているため初学者泣かせになっています。

なにはともあれこういう測度は一意に存在して、皆さんが慣れ親しんだリーマン積分に関して可積分な関数はルベーグ測度に関して可積分な事が知られており、両者の値は一致します(!)。その意味で、ルベーグ測度による積分はリーマン積分の一般化になっていることが理解できると思います。また、リーマン積分積分できなかった関数がルベーグ測度に関しては可積分だったりして、色々便利なので数学的にこのような測度が導入されています。

詳細が気になる方は[5]へ。

§ 参考文献

[1] http://home.hiroshima-u.ac.jp/iwatakch/probstaC/lecturenote/probstatC2004.pdf
ルベーグ積分の復習から測度論的確率論への講義ノート
[2] https://www.math.kyoto-u.ac.jp/~ichiro/lectures/06bpr.pdf
上よりも統計寄り。測度論的確率論の講義ノート
[3] http://math.iisc.ernet.in/~manju/GP/5-Gaussian process defn and examples.pdf
ガウス過程に関する簡単なノート。
[4] http://individual.utoronto.ca/jordanbell/notes/kolmogorov.pdf
Kolmogorovの拡張定理に関するノート。オススメ。

[5] http://www.econ.hit-u.ac.jp/~yamada/analysis_pdf/4_1_Lebesgue_measure.pdf
ルベーグ測度の構成ノート。

[6] 言わずと知れた名書。最強。

ルベーグ積分入門 (数学選書 (4))

ルベーグ積分入門 (数学選書 (4))

*1:集合とはなにか、写像・関数とはなにか、は省いてます…

*2:集合とはなにか、みたいな話は非常に込み入っているので今回はパスします。

*3:つまり、{ \Omega }の部分集合から成る集合

*4:Appendix参照

*5:距離関数が定まっている集合です。流石に距離の定義ぐらいはwikipedia見れば誰でも理解できると思いますのでスルーします…。

*6:もちろん、高校数学や工学で習う曖昧なものではなくて、ε-δ的定義ですよ…

*7:直積集合の定義に納得行かないかたはWikipediaを御覧ください。

*8:どうして単純に位相同士の積を取らないのか、みたいな人のために: 単純に位相の積をとっても位相として定まり、それを箱位相と呼んだりします。実は集合{T }が有限個の場合、両者は一致します。がしかし、今の場合{T }は任意の空でない集合としているので、両者は一致しない場合があります。一致しない時、どちらかと言えば積位相のほうが箱位相より扱いやすい場合が多々あるので積位相を採用しています。例えば関数空間の場合、積位相はcylinder setと呼ばれる自然な集合により生成されるσ-代数と積位相により生成されるBorel集合族は一致します。

*9:自然に可測な関数になります。

*10:定義関数同様自然に可測な関数になります。

*11:実際には完備化したりなんなりしないとダメだったりしますが、ここではこの表現を使います…。