カーネル」カテゴリーアーカイブ

Bochnerの定理の証明に出てくる積分(カーネル第1章付録)

$$\int_{-\infty}^\infty \frac{1-\cos t}{t^2}dt=\pi$$
の積分は、フーリエ変換に詳しい人はわかると思いますが、学校を卒業して何年も立っている人だとむずかしいかもしれません。

その証明のためには、$f(x)=\sin(x)/x$のフーリエ変換とパーシバルの等式を用います。まず、$F(\omega)=\pi$ ($|\omega|\leq 1$), $=0$ ($|\omega|> 1$)が$f(x)$のフーリエ変換であることに注意します。実際、$F(\omega)$の逆フーリエ変換をすると、$f(x)$が得られます。
$$ \frac{1}{2\pi}\int_{-\infty}^\infty F(\omega)e^{i\omega x}d\omega = \frac{1}{2\pi} \int_{-1}^1 \pi e^{i\omega x}d\omega = \frac{1}{2\pi}\cdot \frac{\pi}{ix}(e^{ix}-e^{-ix})=\frac{e^{ix}-e^{-ix}}{2ix}=\frac{\sin(x)}{x}=f(x)$$
そして、パーシバルの公式
$$\int_{-\infty}^\infty |f(x)|^2dx=\frac{1}{2\pi}\int_{-\infty}^\infty |F(\omega)|^2d\omega$$
を用いると、その積分の値が求まります。
$$\int_{-\infty}^\infty \frac{1-\cos t}{t^2}dt=\frac{1}{2}\int_{-\infty}^\infty \{\frac{\sin(t/2)}{t/2}\}^2dt=\int_{-\infty}^\infty \{\frac{\sin(x)}{x}\}^2dx=\frac{1}{2\pi}\int_{-1}^1 \pi^2d\omega=\pi$$

カーネルの苦手意識をいかに克服するか: 「機械学習のためのカーネル100問 with R」(共立出版)まえがきから抜粋

私は、機械学習の手法の中でもカーネルは、特に苦手でした。福水健次著「カーネル法入門」(朝倉書店)を読もうとして、何度も挫折していました。福水先生を、大阪大学の集中講義にお呼びして、学生と一緒に1週間講義を聞きましたが、本質は理解できませんでした。この書籍は、執筆を着手した当初は、自分自身の苦手意識を払拭することを目的としていました。しかし、本書が完成した現在、どうすれば読者にカーネルの苦手意識から脱却できるかを、お伝えできるようになりました。

ところで、機械学習の研究者ですら、カーネルを理解しないで、使っているだけの人がほとんどです。このページを開いている方は、苦手意識を克服したいという前向きな気持ちをお持ちだと思います。

そのための最短経路として最もおすすめしたいのが、数学を基礎から学ぶということです。カーネルは、その背後にある数学にしたがって動作します。理解するまで考え抜くことが重要です。カーネルの理解に必要な数学は、関数解析と呼ばれるものです(第2章)。線形代数や微分積分ならわかるという方でも、戸惑うことがあるかもしれません。ベクトルといえば有限次元ですが、関数の集合は無限次元で、線形代数として扱えます。完備化という概念が初めてという場合、時間をかけていただければと思います。しかし、この第2章を突破すれば、カーネルのすべてが理解できると思います。

本書は、機械学習の数理100問のシリーズの3巻目(全6巻)になります。書籍ですから、既存のカーネルの書籍が存在するのにどうして出版するのか(いわゆる大義)がないと、出版には至りません。本書の特徴として、以下の点をあげることができます。

  1. 数学的命題として証明し、正しい結論を述べているので、読者が本質までたどり着くことができる。
  2. 機械学習の数理100問シリーズの他書と同様、ソースプログラムと実行例を提示して理解を促している。数式だけであれば、特にカーネルの場合、読者が最後まで理解することは容易ではない。
  3. 関数解析の基本的事柄を理解(第2章)してから、それ以降の章での応用を検討していて、数学の予備知識を前提としていない。
  4. RKHSのカーネルと、ガウス過程のカーネルの両方を検討し、しかも両者の扱いを明確に区別している。本書では、それぞれ第5章、第6章で述べている。

国内外のカーネルの書籍を調査しましたが、上記で2個以上満足しているものはありませんでした。

本書の出版に至るまでに、いろいろな失敗を経験してきました。毎年、機械学習の各分野を数学とプログラミングの演習問題を100問解きながら学ぶ講義(大阪大学大学院)をしています。スパース推定(2018年)、グラフィカルモデル(2019年)では人気をはくし、2020年のカーネルも履修者が100名以上になりました。しかし、毎週2日以上講義の予習をしてのぞんだものの、苦手意識も手伝ってか、その講義はうまくいきませんでした。学生の授業アンケートを見ても明らかでした。ただ、そうした問題点の一つ一つを分析し、改良を加えて、本書が誕生しました。

読者の皆さんが,私と同じ道(試行錯誤で時間やエネルギーを消耗する)を辿らずに,効率的にカーネルを学ぶことができればという思いがあります。本書を読んだからといって直ちに論文が書けるわけではありませんが、確実な基礎が身につきます。難しそうに思えていたカーネルの論文がスムーズに読め、一段高いところからカーネルの全体が見えるようになります。また、機械学習の研究者の方でも楽しめるような内容になっています。皆さんが本書を活用し、それぞれの分野で成功を収めていただければ、幸いと考えています。

「カーネルの機械学習への応用」が登場

カーネルの機械学習への応用の原稿を共立出版に提出しました。誤植を直したり、まえがきや索引をつけるのに2ヶ月位かかるのが普通です。数学だけでは難しくてめげやすい分野です。今回もプログラムをたくさん入れました。Python版もまもなく出てくると思います。

機械学習の数理100 問シリーズ3 「カーネルの機械学習への応用100 問with R」鈴木 讓

第1章 正定値カーネル
1.1 行列の正定値性
1.2 カーネル
1.3 正定値カーネル
1.4 確率
1.5 Bochnerの定理
1.6 文字列、木、グラフのカーネル

第2章 Hilbert空間
2.1 距離空間と完備性
2.2 線形空間と内積空間
2.3 Hilbert 空間
2.4 射影定理
2.5 線形作用素
2.6 コンパクト作用素

第3章 再生核Hilbert空間
3.1 RKHS
3.2 Sobolev 空間
3.3 Mercer の定理

第4章 カーネル計算の実際
4.1 カーネルRidge 回帰
4.2 カーネル主成分分析
4.3 カーネルSVM
4.4 スプライン
4.5 Random Fourier Features
4.6 Nystrom 近似
4.7 不完全Cholesky 分解

第5章 MMDとHSIC
5.1 RKHSにおける確率変数
5.2 MMDと2標本問題
5.3 HSICと独立性検定
5.4 特性カーネルと普遍カーネル
5.5 経験過程入門

第6章 Gauss 過程と関数データ解析
6.1 回帰
6.2 分類
6.3 補助変数法
6.4 Karhunen-Loeve 展開
6.5 関数データ解析