2024年9月 阪大集中講義「渡辺澄夫ベイズ理論」盛況のうちに幕

2024年9月8日(日)から13日(金)にかけて、鈴木が6コマ、それ以外の9コマを9名の講師の先生にお話しいただきました。

Andrew Gelman先生 (Columbia University)・Mathias Drton (Technical University of Munich)、伊庭幸人先生(統計数理研究所)、車谷優樹先生(りそな銀行)、徳田悟先生(九州大学)、渡辺澄夫先生(理研)、 二宮嘉行先生(統計数理研究所)、矢野恵佑先生(統計数理研究所)、青柳美輝先生(日本大学)

下記は、鈴木が入門向けに行いました最初の6コマの中の重要箇所の切り抜きです。

機械学習のためのカーネルの講義がYoutubeに

「統計的機械学習」では、すでにYoutubeを公開しています。今回、「機械学習のためのカーネル」のテキストを使った15回の講義の録画を公開しました。2024年4月から8月にかけて、大阪大学の大学院生(と学部の一部)を対象にした「機械学習の数理」という15回の講義をYoutube「ぜうちゃねる(辛口データサイエンス)」で公開しています。各回のリンクは、こちらから見れます。

カーネルを数学のコアの部分(関数解析)から学ぶ講義は、世界広しといえどこの講義以外にはないと自負しています。カーネルの使い方だけを知ったとしても、意味がわからないままデータをパッケージにほうりこむことになり、不安になります。

関数解析は、線形代数のベクトルを関数に一般化したものと思えば、さほど苦にはならないと思います。そうは言っても、作用素や完備化などで違和感が生じるかもしれません。そこを乗り越えていただければ、カーネルトリックなど難しく感じない思います。

Youtubeをぜひお役立ていただきたいと思っています。ちゃんねる登録と、いいねをお願いできたらと思っています。

RKHSでは2乗平均連続過程とランダム要素の区別がない(「機械学習のためのカーネル」命題70(4) )

証明だけ書いておきます。

$f:\Omega\times E\rightarrow {\mathbb R}$が$RKHS(k)$のランダム要素であれば、$\Omega\ni\omega\mapsto f(\omega,\cdot)\in RKHS(k)$が可測です。内積は連続な写像であり、再生性から各$x\in E$で$\langle f(\omega,\cdot),k(\cdot,x)\rangle=f(\omega,x)$が成立するので、各$x\in E$で$\Omega\ni\omega\mapsto f(\omega,x)\in {\mathbb R}$が可測であり、確率変数になります。

逆に、$f$が$RKHS(k)$に値をとる確率変数、つまり各$\omega\in \Omega$で$f(\omega,\cdot)\in RKHS(k)$であって$\Omega\ni\omega\mapsto f(\omega,x)$が各$x\in E$で可測であることを仮定しましょう。各$g\in RKHS(k)$に対して、$\|g_n-g\|\rightarrow 0$となるような$g_n(\cdot):=\sum_{i=1}^na_ik(\cdot,x_i) $を構成できます。再生性から、$\langle f(\omega,\cdot),g_n\rangle=\sum_{i=1}^na_if(\omega,x_i)$とでき、各$n$で可測です。そして、内積の連続性から$\langle f(\omega,\cdot),g\rangle$はその極限であり、可測であることがわかります。$g\in RKHS(k)は任意でしたので、命題70(1)の議論から、$\Omega\ni \omega\mapsto f(\omega,\cdot)\in RKHS(k)$は可測になります。

平均0の平均2乗連続過程に対応するランダム要素(「機械学習のためのカーネル」命題70(3))

平均2乗連続過程$f: \Omega \times E\rightarrow {\mathbb R}$の共分散関数が$k$であれば、共分散作用素が$H\ni g\mapsto \int_Ek(\cdot,y)g(y)d\mu(y)$となるランダム作用素が存在する

テキストと同様の方法で、$\{(E_i,x_i)\}_{1\leq i\leq M(n)}$を決めます。そして$$F(\omega,x; \{(E_i,x_i)\}_{1\leq i\leq M(n)})=\sum_{i=1}^{m(n)}I_{E_i}(x)f(\omega,x_i)$$とおき、$n$を$n'(\leq n)$に置き換えたものとの差の2乗平均誤差をとります。平均は確率空間$(\Omega,{\cal F}, P)$と測度空間$(E,B(E),\mu)$の両方に関してです。
\begin{eqnarray*}&&\int_{\Omega}\int_E\left\{F(\omega,x; \{(E_i,x_i)\}_{1\leq i\leq M(n)})-F(\omega,x; \{(E_i’,x_i’)\}_{1\leq i\leq M(n’)})\right\}^2d\mu(x)dP(\omega)\\
&=&\int_{\Omega}\left\{\sum_{i=1}^{m(n)}f(\omega,x_i)\int_{E_i}d\mu(x)-
\sum_{i=1}^{m(n’)}f(\omega,x’_i)\int_{E’_i}d\mu(x)\right\}^2dP(\omega)
\end{eqnarray*}テキストの方法と同様にこの値は0に収束します。すなわち、任意のCauchy列が収束したことになり、完備であることも考えると、\begin{eqnarray*}\int_{\Omega}\int_E\left\{F(\omega,x; \{(E_i,x_i)\}_{1\leq i\leq M(n)})-F(\omega,x)\right\}^2d\mu(x)dP(\omega)\rightarrow 0\end{eqnarray*}であって、$\int_\Omega\int_E\{F(\omega,x)\}^2d\mu(x)dP(\omega)<\infty$なる$F$が存在します。そして、$\int_E\{F(\omega,x)\}^2d\mu(x)=\infty$なる事象$A\subseteq \Omega$について、$F(\omega,x)=0$, $\omega\in A$というように$F$を修正すると、任意の$\omega\in \Omega$について、$\int_E\{F(\omega,x)\}^2d\mu(x)<\infty$とできます。したがって、$F(\cdot,\omega)\in H=L^2(E,B(E),\mu)$がすべての$\omega\in \Omega$についていえて、命題70(1)の議論から、そのような$F$は$L^2(E,B(E),\mu)$のランダム要素になります。

そして、$F$の共分散作用素${\mathbb E}[F\otimes F]$は、各$h_1,h_2\in L^2(E,B(E),\mu)$を適用すると、$\langle {\mathbb E}[F\otimes F]h_1,h_2\rangle={\mathbb E}(\langle F,h_1\rangle \langle F,h_2\rangle)$となり、それは\begin{eqnarray*}&&\int_{\Omega}\sum_{i=1}^{m(n)}f(\omega,x_i)\int_{E_i}h_1(x)d\mu(x)
\sum_{j=1}^{m(n)}f(\omega,x_j)\int_{E_i}h_2(y)d\mu(y)dP(\omega)\\&=&\sum_{i=1}^{m(n)}\sum_{j=1}^{m(n)}k(x_i,x_j)\int_{E_i}h_1(x)d\mu(x)\int_{E_i}h_2(y)d\mu(y)\end{eqnarray*}の$n\rightarrow \infty$の極限であって、作用素$L^2(E,B(E),\mu)\ni h\mapsto \int_E k(\cdot,y)h(y)d\mu(y)$を適用することと同じになります。

$E$をコンパクト集合として、確率過程$f: \Omega\times E\rightarrow {\mathbb R}$が各$\omega\in \Omega$で連続なら、$\Omega\ni \omega \mapsto f(\omega,\cdot)$はランダム要素(「機械学習のためのカーネル」命題70(2))

$E$をコンパクト集合、$(\Omega,{\cal F},P)$を確率空間とします。$f: \Omega\times E\rightarrow {\mathbb R}$が各$x\in E$で可測のとき(確率変数のとき)、$f$を確率過程と呼びます。同様に、$H$をHilbert空間として、$F:\Omega\rightarrow {H}$が可測のとき、$F$はランダム要素と呼びます。この可測性は、$H$のノルムで距離を定義して開集合を定義し、各開集合の逆像が事象になっていることをさします。

この証明のために、まず$(E,B(E),\mu)$を測度空間とし、$g(\omega,x):=\sum_{i=1}^kI_{E_i}(x)h_i(\omega)$, $\omega\in \Omega$という形式の関数を用意します。ただし、$E_1,\ldots,E_k\in B(E)$は重なりがなく、それらの和集合が$E$となるものとします。また、$I_{E_i}(x)$は$x\in E$が$x\in E_i$であれば1、そうでなければ0であるとします。さらに、$f_i: \Omega\rightarrow {\mathbb R}$は可測であるとします。このとき、${\mathbb R}$の任意のBorel集合$B$について、$$g^{-1}(B)=\cup_{i=1}^k (E_i\times h_i^{-1}(B))$$とでき、これは積の$\sigma$集合体${\cal F }\times B(E)$の中にあります。つまり、$g$は$\Omega\times E$に関して可測になります。テキストでも設定したように、$\{(E_i,x_i)\}_{1\leq i\leq m(n)}$を設定し、
$$f_n(\omega,x):=\sum_{i=1}^{m(n)}I_{E_i}(x)f(\omega,x_i)$$とおくと、$\omega\in \Omega$を固定したときに$f(\omega,\cdot)$の一様連続性から、$f_n(\omega,x)\rightarrow f(\omega,x)$が$x\in E$に関して一様に収束します。したがって、$f$も$\Omega\times E$に関して可測である(可測関数列の一様極限は可測関数)。命題70(1)と同様の議論から、$\Omega\ni \omega\mapsto f(\omega,\cdot)$はランダム要素になります。

ランダム要素であることと同値な条件(「機械学習のためのカーネル」命題70(1))

$(\Omega,{\cal F},P)$を確率空間とします。$\mathbb R$に値をとるいわゆる確率変数は、$\Omega\ni \omega \mapsto X(\omega)\in {\mathbb R}$が可測であることが定義になります。同様に、Hilbert空間$H$について、$\Omega\ni \omega \mapsto F(\omega)\in H$が可測であるとき、$F$をランダム要素とよびます。ランダムな関数という言い方をしてもよいでしょう。ランダム要素は、$g\in H$と$r>0$について、$\{\omega\in \Omega\mid \|F(\omega)-g\|_H<r\}$が$\cal F$の要素ということができます。ここでは、「${\cal F}$がランダム要素であることと、任意の$f\in H$について$\langle F,f\rangle_H$が確率変数であることが同値」であることを示します。

以下では、$h\in H$と$a>0$を用いて$\{g\in H\mid \|g-h\|_H<a\}$とかける集合によって生成される$\sigma$集合体を$\sigma$、$h\in H$と$a\in {\mathbb R}$を用いて$\{g\in H\mid \langle g,h\rangle_H<a\}$とかける集合によって生成される$\sigma$集合体を$\sigma’$と書くものとします。このとき、$\sigma=\sigma’$が成立します(T. Hsing and R. Eubank, 2015)。その証明は最後に行うとして、認めて議論をすすめます。

まず、各$f\in H$について、$\varphi: H\ni g\rightarrow \langle g,f\rangle_H\in {\mathbb R}$は連続($|g-g’|<\epsilon \Longrightarrow |\langle g,f\rangle-\langle g’,f\rangle|\leq |g-g’|\cdot|f|<|f|\epsilon$)なので、$\langle F,f\rangle$は可測になります。逆に各$f\in H$について$\langle F,f\rangle$が可測であれば、各$a\in {\mathbb R}$について
$$F^{-1}\{g\in H\mid \langle g, f\rangle <a\}=\{\omega\in\Omega \mid \langle F(\omega),f\rangle <a\}\in {\cal F}$$となり、$\sigma=\sigma’$から$F$は可測、すなわち$H$のランダム要素になります。

このことから$f: \Omega\times E\rightarrow {\mathbb R}$が可測であって各$\omega\in \Omega$で$f(\omega,\cdot)\in H$であれば、$\Omega\ni\omega \mapsto f(\omega,\cdot)$は$H$のランダム要素になります。実際、各$h\in H$で$\langle f(\omega,\cdot),h\rangle $が可測になるので、$f(\omega,\cdot)\in H$, $\omega\in \Omega$であれば、ランダム要素になります。

$\sigma=\sigma’$の証明:
各$f\in H$について、$\varphi: H\ni g\rightarrow \langle g,f\rangle_H\in {\mathbb R}$は連続なので、${\mathbb R}$の任意の開集合$B$の逆像$\varphi^{-1}(B)\subseteq H$も開集合となります。したがって、$\sigma’\subseteq \sigma$が成立します。次に、逆方向の包含関係を示します。$\{e_i\}$を$H$の正規直交基底として、
\begin{eqnarray*}
&&\{g\in H\mid \langle g, e_1\rangle^2+\langle g,e_2\rangle^2<\epsilon\}\\
&=&\cup_{q\in {\mathbb Q}}\left(\{g\in H\mid \langle g,e_1\rangle^2<q\}\cap \{g\in H\mid \langle g,e_2\rangle^2<\epsilon^2-q\}\right)\in \sigma’\\
&&\{g\in H\mid \sum_{j=1}{i-1}\langle g, e_j\rangle^2+\langle g,e_i\rangle^2<\epsilon\}\\
&=&\cup_{q\in {\mathbb Q}}\left(\{g\in H\mid \langle g,\sum_{j=1}^{i-1}e_j\rangle^2<q\}\cap \{g\in H\mid \langle g,e_i\rangle^2<\epsilon^2-q\}\right)\in \sigma’\end{eqnarray*}より、帰納法から以下が得られます。
$$\{g\in H\mid \|g|<\epsilon\}=\cup_{j=1}^\infty \left\{g\in H\mid \sum_{k=1}^j\langle g,e_k\rangle^2<\epsilon^2 \right\}\in \sigma’$$ したがって、任意の$\{g\in H\mid \|g-h\|<\epsilon\}\in \sigma$が以下のようにかけます。
$$\cup_{q\in {\mathbb Q}} \left(
\{g\in H\mid \|g\|^2<q\}\cup\{g\in H\mid 2\langle g,h\rangle>q-\epsilon^2+\|h\|^2
\}\right)$$ここで、$\{g\in H\mid \|g\|^2<q\}$はこれまでの議論から$\sigma’$の要素、第2項はもともと$\sigma’$ですから、全体として$\sigma’$の要素です。したがって、$\sigma\subseteq \sigma’$が成立します。

Matern カーネルについて(機械学習のためのカーネル6.4節)

$E$を距離空間として、$k: E\times E\times E \rightarrow {\mathbb R}$として、$x,y\in E$の距離を$z$としたときに、\begin{equation}\label{eq6-11}
\varphi_\nu(z):=\frac{2^{1-\nu}}{\Gamma(\nu)}\left(\frac{\sqrt{2\nu}z}{l}\right)^\nu K_\nu(\frac{\sqrt{2\nu}z}{l})
\end{equation}によって定義される正定値カーネル$k(x,y)=\varphi_\nu(z)$をMaternカーネルといいます。ただし、$\nu,l>0$はカーネルのパラメータ、$K_\nu$は第2種変形Bessel関数です。$$K_\nu(x):=\frac{\pi}{2}\frac{I_{-\nu}(x)-I_\nu(x)}{\sin(\nu x)}, \hspace{10mm}I_\nu(x):=\sum_{m=0}^\infty \frac{1}{m!\Gamma(m+\nu+1)}\left(\frac{x}{2}\right)^{2m+\nu}$$

Maternカーネルは$\nu$を切り上げした整数の回数だけ微分でき、$\nu\rightarrow\infty$でGaussカーネル$$\varphi_\infty(z)=\exp(-\frac{z^2}{2l^2})$$に収束します。

以下では、$p$を非負整数として$\nu=p+1/2$とかけるとき、
$$\varphi_\nu(z)=\exp\left(-\frac{\sqrt{2\nu }z}{l}\right)\frac{\Gamma(p+1)}{\Gamma(2p+1)}\sum_{i=0}^p \frac{(p+i)!}{i!(p-i)!}\left(\frac{\sqrt{8\nu}z}{l}\right)^{p-i}$$となることを示します。この公式はよく使われていますが、証明を載せている文献やネットの記事などが少ないので、メモのために書いておきました。

具体的には、以下の2式を示します。$$K_{\nu}(\frac{\sqrt{2\nu}z}{l})=\sqrt{\pi}\exp\left(-\frac{\sqrt{2\nu}z}{l}\right)\sum_{i=0}^p\frac{(p+i)!}{i!(p-i)!}\left(\frac{\sqrt{2\nu z}}{l}
\right)^{-\nu}2^{-\nu+p-i}$$ $$\frac{2^{1-\nu}}{\Gamma(\nu)}=\frac{1}{\sqrt{\pi}}\frac{\Gamma(p+1)}{\Gamma(2p+1)}2^\nu$$

まず、変形第2種Bessel関数は、一般に$$K_{p+1/2}(x)=\sqrt{\frac{\pi}{2x}}e^{-x}\sum_{i=0}^p\frac{(p+i)!}{i!(p-i)!}(\frac{1}{2x})^i$$とできます(Abramowitz and Stegun (1965). Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical TablesISBN 0-486-61272-4.)。この公式に、$x=\sqrt{2\nu}z/l=\sqrt{2p+1}z/l$を代入すると、
\begin{eqnarray*}K_{\nu}(\frac{\sqrt{2\nu}}{l}z)&=&\sqrt{\frac{\pi}{2\sqrt{2\nu}z/l}}\exp\left(-\frac{\sqrt{2\nu}z}{l}\right)\sum_{i=0}^p\frac{(p+i)!}{i!(p-i)!}(\frac{1}{2\sqrt{2\nu}z/l})^i\\&=&\sqrt{\pi}\exp\left(-\frac{\sqrt{2\nu}z}{l}\right)\sum_{i=0}^p\frac{(p+i)!}{i!(p-i)!}\left(\frac{2\sqrt{2\nu z}}{l}
\right)^{-i-1/2}\end{eqnarray*}が成立します。

他方、Gamma関数の性質として、$x\Gamma(x)=\Gamma(x+1)$, $x>0 \hspace{3mm}$ や$\hspace{3mm} \Gamma(1/2)=\sqrt{\pi} \hspace{3mm}$などが成立しますが$$\Gamma(\frac{n}{2})\Gamma(\frac{n+1}{2})=\Gamma(n)2^{1-n}\sqrt{\pi},\hspace{3mm}n\geq 1$$なども成立します(一般の正の実数でも成立します)。$n=1$のとき両辺とも$\sqrt{\pi}$で一致し、$n=k$で等号が性質すれば、$n=k+1$で左辺は$$ \Gamma(\frac{k+1}{2})\Gamma(\frac{k+2}{2})=\Gamma(\frac{k+1}{2})\cdot \frac{k}{2}\Gamma(\frac{k}{2})=\frac{k}{2}\cdot \Gamma(k)2^{1-k}\sqrt{\pi}=\Gamma(k+1)2^{1-(k+1)}$$となり、$n=k+1$でも等号が成立することがわかります。これより、
$$\frac{2^{1-2p}}{\Gamma(p+1/2)}=\frac{1}{\sqrt{\pi}}\frac{\Gamma(p+1)}{\Gamma(2p+1)},\hspace{10mm} \frac{2^{1-\nu}}{\Gamma(\nu)}=\frac{1}{\sqrt{\pi}}\frac{\Gamma(p+1)}{\Gamma(2p+1)}2^\nu$$
が得られます。

「統計的機械学習の数理」がYoutube(ぜうチャンネル)に

2024年3月から着手した「統計的機械学習の数理」のYoutubeが見れるようになりました。

辛口データサイエンス(ぜうチャンネル)

これまでは、講義の録画がメインで、またvimeoのアカウントに入れていました。2024年3月からはYoutubeのチャネルを「辛口データサイエンス(ぜうチャネル)」という名前に変更しました。そして、講義の録画だけでなく、オフィスで録画した動画も公開するようにしました。

「統計的機械学習の数理」の動画は、各節事に分かれていて、毎回5-25分程度の分量です。温泉や海外旅行のときの写真をカバーにおいていますが、内容とは関係ありません。カバーがクリック率に影響するように思いました。

現在は、大学院の講義の「機械学習のためのカーネル」も並行して、順次公開しています(2024年8月に完成の予定)。

よろしければ、チャネル登録と、いいねをお願いします。

「同質」「実現可能」の定義 (渡辺澄夫ベイズ理論)

以下では、$\Theta$を統計モデル統計モデル$\{p(\cdot|\theta)\}_{\theta\in \Theta}$のパラメータ集合、$\Theta_*$をKL情報量を最小にするという意味で最適なパラメータ集合とします。$\Theta_*$に含まれる任意の$\theta,\theta’$が
$$p(x|\theta)=p(x|\theta’),\hspace{5mm} x\in {\cal X}$$を満足するとき、その統計モデル$\{p(\cdot|\theta)\}_{\theta\in \Theta}$は同質であるといいます。また、
$${\mathbb E}_X\left[\left\{\log \frac{p(X|\theta_*)}{p(X|\theta)}\right\}^2\right]\leq
c{\mathbb E}_X\left[\log \frac{p(X|\theta_*)}{p(X|\theta)}\right]$$なる定数$c>0$が存在するとき、「相対的に有限な分散をもつ」といいます。命題2の1「相対的に有限な分散をもてば、同質」の証明(第3章の付録)ので、
\begin{eqnarray*}
0&=&D(q\| p(\cdot|\theta_2))-D(q\| p(\cdot|\theta_1))=\int_{\cal X}q(x)f(x,\theta_1,\theta_2)dx\\
&\geq &\gamma \int_{\cal X} q(x)f(x,\theta_1,\theta_2)^2dx\geq 0
\end{eqnarray*}なる定数$\gamma>0$が存在するので、$f(\cdot,\theta_1,\theta_2)=\log \frac{p(x|\theta_+)}{p(x|\theta)}$は関数として0となり、$\theta_1,\theta_2$が同じ分布になるとしています。

質問をいただきましたが、「関数として0」は正しくありません。正確には、「確率$q(\cdot)$に関していたるところ0」であるが正しいです(命題1を用いています)。そして、同質の定義も、確率$q(\cdot)$に関していたるところ$p(x|\theta)=p(x|\theta’)$というようにすべきです。

同様に、実現可能である$p(x|\theta)=q(x)$も「確率$q(\cdot)$に関していたるところ0」で等号が成立するというようにすべきです。

次回の改定では、修正します。

Cholesky分解を求める計算量 (機械学習のためのカーネル6.1節)

正定値対称行列$A\in {\mathbb R}^{n\times n}$に対して、$A=RR^\top$なる下三角行列$R\in {\mathbb R}^{n\times n}$が存在します(この証明は省略します)。成分で書くと
$$ A_{ji}=\sum_{h=1}^nR_{jh}R_{ih},\hspace{5mm}i,j=1,\ldots,n$$ が成立します。最初に$R_{ij}$, $i,j=1,\ldots,n$ をすべて0にしてから、各$i=1,\ldots,n$で
1. $R_{ii}=\sqrt{A_{ii}-\sum_{h=1}^{i-1}R_{ih}^2}$
2. $R_{ji}=(A_{ji}-\sum_{h=1}^{i-1}R_{jh}R_{ih})/R_{ii}$, $\hspace{3mm}j=i+1,\ldots,n$
によって、$R$の第$i$列が求まります。2.は$(n-i)^2$回の演算(乗算)が必要で、全体で
$$\sum_{i=1}^n(n-i)^2=\sum_{j=0}^{n-1}j^2=\frac{1}{6}(n-1)n(2(n-1)-1)=\frac{n^3}{3}(1-\frac{1}{n})(1-\frac{1}{2n})$$回、高々$n^3/3$の演算が必要です。他方、$A,B\in {\mathbb R}^{n\times n}$の乗算は、その第$i,j$成分が$\sum_{h=1}^n A_{ih}B_{hj}$によって得られ、この操作を$n^2$個の成分すべてに対して行うので、$n^3$回の演算が必要です。$A$の逆行列を求める操作も同様の時間を要します。

計算量のオーダー表現は、定数倍の差異を除いて考えるので、上記すべて$O(n^3)$という表記が本来ですが、機械学習のためのカーネル6.1節では、$O(n^3/3)$, $O(n^3)$というように両者を区別しています。

また、下三角行列$L\in {\mathbb R}^{n\times n}$とある定数ベクトル$b\in {\mathbb R}^{n}$があって、$Lx=b$なる$x$を求めるためには、$$x_i=(b_i-\sum_{h=1}^{i-1}L_{i,j}x_j)/L_{ii}$$を各$i=1,\ldots,n$に対して行う必要があり、高々$1+\ldots+(n-1)=n(n-1)/2$回の乗算が必要です。テキストではこれを$O(n^2)$の時間がかかるとしています。