投稿者「admin」のアーカイブ

グラフィカルモデルと因果探索 with R

2025年12月11日に「グラフィカルモデルと因果探索 with R」という書籍を出版します。機械学習の数理100問シリーズの5作目です。阪大に着任する前から、30年以上かけて手掛けてきた分野で、集大成というべき内容です。グラフィカルモデル、カーネル、PCアルゴリズム、LiNGAMについて正確に記述しました。多くの方にお読みいただけるよう、難しいトピックは避け、やさしく書きました。

グラフィカルモデルと因果探索

下記がまえがきからの抜粋です。

グラフィカルモデルは、複雑な確率変数間の関係を視覚的かつ数理的に捉えることができる、非常に魅力的な枠組みです。確率論とグラフ理論を融合することで、ベイズネットワークやマルコフネットワークといった、実世界の構造をモデル化する手法が体系化されてきました。こうしたモデルを用いれば、単なる相関の把握にとどまらず、変数間の因果的な構造を明らかにする「因果探索」へと進むことが可能になります。

本書で取り上げる因果探索は、変数間の依存関係(いわゆる骨格)を推定するだけでなく、その上に矢印を付けて、変数の因果的な順序を特定するという、2つの重要なステップから成り立っています。この問題は、統計学の従来の枠組みだけでは十分に扱えないものでしたが、近年では、カーネル法、非ガウス性の活用、情報量基準、さらにはベイズ的な周辺尤度といった先端的な技術によって、より柔軟かつ理論的にも整合的なアプローチが可能になってきています。

グラフィカルモデルの魅力は、数式やコードだけでは得がたい「構造の直感」を私たちにもたらしてくれる点にあります。図として描ける、言葉で説明できる、手で動かして理解できる——このような視覚的かつ操作的な理解は、抽象的な確率論や統計モデリングの世界を、ぐっと身近なものにしてくれます。統計と機械学習の狭間に立ち、理論と実践の橋渡しをするこの分野は、今後ますます重要な役割を果たしていくと確信しています。

私がグラフィカルモデルと出会ったのは、まだ「機械学習」という言葉が今ほど一般的ではなかった1990年代前半のことでした。当時、早稲田大学で助手をしていた私は、理工学部の近くにあった明治通り沿いの洋書専門書店で、たまたま国際会議UAI(Uncertainty in Artificial Intelligence)のプロシーディングを手に取る機会がありました。そこには、ベイズネットワークの構造をどのようにデータから学習するかについての、非常に洗練された議論が展開されており、一気に引き込まれました。

その頃ちょうど、Jorma Rissanen先生が提唱されたMDL(最小記述長)原理にも出会い、「データの背後にあるシンプルな構造を見出す」という考え方に深く共感しました。私はすぐに、サンプルからグラフ構造を推定する問題にMDLを適用し、1993年のUAI会議でその成果を発表することができました。これは、日本人としてグラフィカルモデルの構造学習を国際的に紹介した最初期のひとつであると聞いております。

それ以来、私はグラフィカルモデルの可能性に魅せられ、研究を続けてきました。ひと目では簡単そうに見える図の背後には、膨大な数理的課題が横たわっています。それら一つひとつと向き合い、丁寧に解きほぐしていく過程は、研究者としての私の原点であり、また今日までの歩みの核でもあります。

本書で扱う因果探索は、依存関係の探索と、変数順序の探索という、2つの重要な課題を扱います。
\begin{boxnote}
\centering
因果探索 = 依存関係の探索 +変数順序の探索
\end{boxnote}

与えられた$p$個の変数と$n$個のサンプルに対して、どちらか一方だけでは正しい因果構造を描くことはできません。データをツールに放り込めば、依存関係や順序らしきものは簡単に出てきます。しかし、期待と違う結果や直感に反する結果が出たとき、なぜそのような結果になったのか、アルゴリズムの動作を説明できなければ、単なる結果にとどまってしまいます。論文にまとめることもできず、上司やクライアントに納得してもらうことも難しいでしょう。

今回の書籍は、グラフィカルモデルにおける因果探索にテーマを絞り、カーネル法やベイズ的アプローチといった現代的な技術も取り入れています。また、清水昌平先生(大阪大学)の考案された、変数順序の探索で有向なLiNGAMに関しては、その本質を記述するように心がけました。

さらに、2019年に大学院講義で使用した演習問題や、過去10回以上実施してきたオンライン少人数セミナーの教材もふんだんに活用しています。これまでに出版してきた「機械学習の数理100問シリーズ」と同様に、ただ手順を覚えるだけでなく、「なぜそうなるのか」を考え抜き、心から感動していただける本を目指しました。

このように、本書の構成は、理論と実装、直感と厳密性のバランスをとりながら段階的に理解を深められるように設計されています。以下の図は各章の関係性と位置づけを視覚的に示したものです。

本書は、グラフィカルモデル全体を網羅するのではなく、因果探索に的を絞って理論と実践を深く掘り下げた専門書です。特に以下の点で、他書には見られない独自性を有しています:
1. ベイズネットワーク全体を扱うのではなく、因果探索に関する理論と手法に特化しています。中でも、LiNGAMやスコアベースの構造学習については、理論から実装まで踏み込み、詳細に解説しています。
2. カーネル法による統計的検定(HSIC, KCIなど)について、PCアルゴリズムやLiNGAMへの応用を見据え、その数理的本質を簡潔かつ直感的に記述しています。
3. 構造学習におけるベイズ的アプローチとして、周辺尤度と情報量基準(とくにBIC)との関係を定式化し、背景理論を丁寧に掘り下げています。BDeuやJeffreys事前分布の含意や限界についても明快に示しています。
4. 単なる概念紹介にとどまらず、RやPythonによる実装コードを可能な限り掲載し、再現可能な形で理解が進むよう配慮しています。
5. 初学者にも配慮し、重要なアイデアは図解や例を通して直感的に説明しています。高度な内容も、視覚的な補助と段階的な構成により、理解しやすく工夫されています。

本書の主眼はあくまで実践的な因果探索の理解ですが、理論的背景をより深く掘り下げたい読者のために、付録では次のような高度な定理や導出も取り上げました。
1. Darmois–Skitovitch定理
2. Murphyによる周辺尤度の導出(正規平均・逆Wishart事前)
3. Verma–Pearlの構造学習に関する基本定理

これらは、因果探索の数理的理解をさらに深めたい読者に向けた内容であり、本書の主たる内容を読み進めるうえで必須ではありません。数式に不安のある方は読み飛ばしていただいて問題ありませんし、興味をもった読者には、理論の背景を納得のいく形で確認できる読み応えある補足となるでしょう。

各章の流れを下の図のようにまとめました。

第1章では、本書の後半で展開される因果探索手法の理解に必要な確率・統計の基礎を確認します。
第2章では、グラフィカルモデルにおける条件付き独立性や分離性など、最小限の概念を学びます。
第3章では、カーネル法による独立性・条件付き独立性の検定(HSIC, KCIなど)を扱います。

第4章では、この検定を用いたPCアルゴリズムを紹介します。これは、条件付き独立性の検定を通じて、変数間の依存構造(骨格)を特定する制約ベースの構造学習手法です。
第5章では、非ガウス性に基づいて因果順序を推定するLiNGAMを扱い、DirectLiNGAMアルゴリズムでは第3章の独立性検定が重要な役割を担います。

第6章では、スコアベースの構造学習に必要な理論的背景として、情報量基準(AIC, BIC)や周辺尤度の定式化と性質を扱います。
第7章では、それを活用したスコアベースの構造学習手法を紹介します。これはPCアルゴリズムと同様に変数構造を推定しますが、スコア評価に基づいて候補構造を比較し、最適なモデルを選択するというアプローチをとります。

図中の赤い枠は基礎理論を扱う章、青い枠は因果探索の具体的手法を扱う章を示しています。

本書は、因果探索という難題に真正面から取り組むと同時に、グラフィカルモデルがもつ「知的な美しさ」と「応用としての力強さ」の両面を、学生、実務家、そして研究者の皆さまにお伝えすることを目指しています。本書を手に取ってくださった皆様が、因果探索の奥深い世界への理解を一層深めてくださることを、心より願っています。

2025年度前期「機械学習の数理II」今年は、深層学習の数理

2025年度「機械学習の数理 II」は、深層学習の数理についてです。
月曜13:30-15:00 4/14(月)が初日
オンラインですので、吹田キャンパスの方も履修できます

教科書・指定教材  鈴木讓: 機械学習の数理100問シリーズ「深層学習の数理 with Python」(共立出版)のベータ版の原稿を配布
参考図書・参考教材  C.M. Bishop, H. Bishop “Deep Learning: Foundations and Concepts” (2024)

1. 一層のネットワーク
2. 深層学習の概要
3. 勾配法
4. Back Propagation
5. 正則化
6. Convolutional Networks
7. Transformer
8. Graph Neural Networks
9. サンプリング
10. 潜在変数(離散)
11. 潜在変数(連続)
12. GAN(敵対的生成ネットワーク)
13. Normalizing Flow
14. Auto Encoder
15. Diffusion Model

2025年度大阪大学集中講義「データ科学特論」、今年は「スパース推定とそのモデリング」というテーマで実施(オンライン、無料で一般にも公開)

鈴木讓がオーガナイズしている大阪大学「データ科学特論」という集中講義を、今年は「スパース推定とそのモデリング」というテーマで実施します。阪大の大学院の講義であるばかりでなく、公開講座として提供します(オンライン、無料)。2025年7月以降に募集を開始します。

2025年 9月2日(火)-9月5日(金) 3限 13:30-15:00, 4限 15:10-16:40, 5限 16:50-18:20
2025年 9月6日(金) 1限 8:50-10:20, 2限 10:30-12:00, 3限 13:30-15:00

初日の9月2日(火)に鈴木がスパース推定全体の基本的なことを下記の教科書を使って3コマ使って説明します。その後、12名のゲストスピーカーにお話しいただきます。BerkeleyのRyan Tibishrani教授を始め、この分野で活躍されている一流の方々です。

教科書:
鈴木讓「スパース推定 with R」「スパース推定 with Python」 機械学習の数理100問シリーズ (共立出版)

参考書:
川野、松井、廣瀬「スパース推定による統計モデリング」統計学 One Pointシリーズ (共立出版)

講師リスト (あいうえお順、敬称略)
梅津 佑太 (長崎大)
大石峰暉 (東北大)
川野秀一 (九大)
坂田綾香 (統数研)
菅澤翔之助 (慶應大)
高田正彬 (東芝)
二宮嘉行 (統計研)
廣瀬慧 (九大)
松井秀俊 (滋賀大)
山田誠 (OIST)
Poignard Benjamin Michel Claude (阪大)
Ryan Tibishrani (Berkeley)

正規分布の再生性

「正規分布にしたがう確率変数の和が確率変数にしたがう」という命題を、1年生後期の統計学で積率母関数を用いて証明しています。

100問シリーズの次の巻「確率的グラフィカルモデルと因果推論」で、積率母関数を用いない証明でスッキリしたものが完成したので(自己満足ですが)お見せします。他のブログにも載っていますが、スジのよいものがないとぼやいていました。計算が複雑で、普通にやるとめげやすいです。

独立な確率変数 \( X \sim N(\mu_X, \sigma_X^2) \) および \( Y \sim N(\mu_Y, \sigma_Y^2) \) があり、それぞれの確率密度関数を \( f_X(x) \) および \( f_Y(y) \) とると、和 \( X + Y \) の確率密度関数 \( f_{X+Y}(x) \) は、
\[
\int_{-\infty}^{\infty} f_X(x – y) f_Y(y) \, dy = \frac{1}{2 \pi \sigma_X \sigma_Y} \int_{-\infty}^{\infty} \exp\left\{ -\frac{(x – y – \mu_X)^2}{2\sigma_X^2} – \frac{(y – \mu_Y)^2}{2\sigma_Y^2} \right\} \, dy
\]であり、指数部分は$$ ay^2+by+c=a\left(y + \frac{b}{2a}\right)^2+c – \frac{b^2}{4a}$$ \[
a = -\frac{1}{2} \left( \frac{1}{\sigma_X^2} + \frac{1}{\sigma_Y^2} \right),
\hspace{3mm}
b = \frac{x – \mu_X}{\sigma_X^2} + \frac{\mu_Y}{\sigma_Y^2}
, \hspace{3mm}
c =-\frac{(x – \mu_X)^2}{2\sigma_X^2} – \frac{\mu_Y^2}{2\sigma_Y^2}
\]となる。また、
$$
\begin{aligned}
&c-\frac{b^2}{4a}=-
\frac{(x – \mu_X)^2}{2\sigma_X^2} – \frac{\mu_Y^2}{2\sigma_Y^2}+\frac{\left\{\sigma_Y^2(x-\mu_X)+\sigma_X^2\mu_Y\right\}^2}{2(\sigma_X^2+\sigma_Y^2)\sigma_X^2\sigma_Y^2}\\
=&\frac{\{\sigma_Y^2(x-\mu_X)+\sigma_X^2\mu_Y\}^2-(\sigma_X^2+\sigma_Y^2)
\sigma_Y^2(x-\mu_X)^2-(\sigma_X^2+\sigma_Y^2)\sigma_X^2\mu_Y^2
}{2(\sigma_X^2+\sigma_Y^2)\sigma_X^2\sigma_Y^2}\\
=&-\frac{(x-\mu_X-\mu_Y)^2}{2(\sigma_X^2+\sigma_Y^2)}
\end{aligned}
$$が成立する。そして、正規分布の確率密度関数を積分して1になる、すなわち
$$\int_{-\infty}^\infty \frac{1}{\sqrt{2\pi \sigma^2}}\exp\left\{ -\frac{(x-\mu)^2}{2\sigma^2} \right\}dx=1$$となることにより、\[
\int_{-\infty}^{\infty} \exp
\left\{a(y+\frac{b}{2a})^2 \right\}\, dy
=\sqrt{2 \pi (-\frac{1}{2a})}=\sqrt{2 \pi (\frac{1}{\sigma_X^2}+\frac{1}{\sigma_Y^2})^{-1}}
=\sqrt{2\pi\frac{\sigma_X^2\sigma_Y^2}{\sigma_X^2+\sigma_Y^2}}
\]とできる。ただし、$\displaystyle \mu=-\frac{b}{2a}$,  $\displaystyle\sigma^2=-\frac{1}{2a}$とおいた。したがって、
$$
\begin{aligned}
f_{X+Y}(x) &=
\frac{1}{\sqrt{2 \pi (\sigma_X^2 + \sigma_Y^2)}}
\exp\{ -\frac{(x – (\mu_X + \mu_Y))^2}{2(\sigma_X^2 + \sigma_Y^2)} \}
\end{aligned}
$$が成立する。これは、\( N(\mu_X + \mu_Y, \sigma_X^2 + \sigma_Y^2) \) の確率密度関数である。

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)$はランダム要素になります。