カーネル どこでまとまるのか

  • 昨日の記事で、カーネルPCAを含むPCAの色々について書いた
  • この『カーネル』という単語がクセモノで、わかりにくい
  • Wikipediaカーネルの曖昧さ回避の日本語ページ(こちらは大したこともないし、数学・統計関係も統計・学習で用いるカーネル関数と、線形空間ゼロ空間とかが挙がるだけだけれど、英語のAmbiguousのページ(こちら)へ行くと、以下のようになって(収拾がつかなくなって)くる
  • Computing
    • Kernel (operating system), the central component of most operating systems
    • Kernel method, in machine learning
    • Kernel (image processing), a square matrix used for image convolution
    • Kernel, the body of a vectorized loop in numerical computing; see e.g. GPGPU
  • Mathematics
    • Objects
      • Kernel (algebra), in algebra
      • Kernel (linear algebra), the set of all vectors which map to the zero vector
      • Kernel (category theory), in category theory
      • Kernel (set theory), the set of all pairs of elements that map to the same value equalizer (mathematics), the set of all elements where the values of two functions coincide
    • Functions
      • Integral kernel, a function of two variables that defines an integral transform Heat kernel
      • Convolution kernel
      • kernel (statistics), a weighting function used in kernel density estimation to estimate the probability density function of a random variable
      • Stochastic kernel, the transition function of a stochastic process
      • Positive-definite kernel, a generalization of a positive-definite matrix
      • Kernel trick, in statistics
      • Reproducing kernel Hilbert space
      • Kernel (geometry), the set of points within a polygon from which the whole polygon boundary is visible
  • ごく「浅い例」でも、以下の2例で登場する
  • 線形空間の議論はちょっと調べ物をするとすぐに出てきて、単体的複体…とかでも「カーネル」が…となる(いわゆる線形代数的な意味でのカーネル)
  • さて
  • じゃあいったいこの「カーネル」って、曖昧さ回避が示すように、それぞれが別ものだから、それぞれを別個に覚える必要があるのか、そうではなくて、「核」があるのか(「核」っていうのも「カーネル」の訳の一つだが…)
  • 結論から言うと、「核」があって、それで説明がつくようだ
  • 「距離」「遠近関係をスカラーにしたもの」「内積」などを、2アイテム間に与えるのが「カーネル関数」であって、このカーネル関数を使う方法が色々あるので、統計・学習では「カーネルを使った方法」ということで、近似・平滑化・PCA・回帰・分類などそこらじゅうに登場する
  • PCAは昨日の記事に書いた通りだし、平滑化・密度推定では、「近いところは採用」して「通りところは不採用」にする、重み付き平均を取る、などの方法がノン・パラの基本だが、その「近さ・遠さ」を定義するのが「カーネル関数」だから、ということで、『カーネル法』になる
  • その「近い・遠い」のスカラー扱いは、勝手にやればよいわけでなくて、そこには、それなりに満足するべき条件が出てくるが、それを可能にする『世界』がヒルベルト空間論で線形空間論にて議論されるから、線形空間のこととなる
  • また、その線形空間として、「関数空間論」「関数解析」をしようとしたときに「カーネル関数」が満たすべき条件は…とかいうことや、そんな関数空間では、カーネル関数たちが、基本ユニットとして、その(無限)線形和も「解たりえる」とか、の議論になる(こちらとか)
  • positive-definiteな条件とか…(positive-definiteとは…とすると、これが行列の世界の話だったり、抽象代数の話だったり、カーネルの話だったり…となる)
  • そしてまた、「0に写す」部分(カーネルの像)っていうのは、写像としての関数の大事な性質だが、「遠いところを無視する」というときの「無視する」というのは「0に写す」ということになっていて、その「0になるところ〜遠く」が線形空間としていい加減では困るわけで、そのあたりで「ゼロ空間」ともがっちりつながる
  • また、発展の経緯としては、物理学との関係などもあって、「境界条件」とかとの説明や、その中で積分したり微分したりする話ともつながってくるし、「熱核(heat kernel)」などの言葉もでてき(混乱のもとになっ)たりする
  • その他にも「畳み込み」と「平滑化」は似たようなものだから、畳み込みにもカーネル関数が出てくるし、同じく似たようなものであるフーリエ変換・ウェーブレット変換にも出てくることになる