カーネル法

kernel method

カーネル法とは,カーネル関数を基盤とする数学的手法の総称であり,データ解析,統計推定,機械学習などの分野において,非線形問題を線形手法の枠組みで解決するための方法論である.カーネル法は,元のデータ空間から高次元特徴空間への写像を暗示的に行うことで,線形手法では扱えない非線形構造を捉えることを可能にする.

統計学におけるカーネル法とは,与えられたデータセット $\{x_i\}_{i=1}^n$ に対して,カーネル関数 $K(x-x_i)$ を用いて局所的重み付けを行い,目的関数[密度関数,回帰関数など]の推定を行う非パラメトリック推定手法である.具体的には,推定量\[\hat{f}(x) = \frac{1}{n} \sum_{i=1}^n \frac{1}{h} K\left(\frac{x-x_i}{h}\right)\]の形で表され,ここで $h > 0$ はバンド幅パラメータである.

機械学習におけるカーネル法とは,入力空間 $\mathcal{X}$ から特徴空間 $\mathcal{F}$ への写像 $\phi: \mathcal{X} \to \mathcal{F}$ を仮定し,特徴空間での内積 $\langle \phi(x), \phi(y) \rangle_\mathcal{F}$ をカーネル関数 $K(x,y)$ として計算する手法である.この際,写像 $\phi$ を明示的に計算することなく,カーネル関数の値のみを用いて線形アルゴリズムを非線形問題に適用する.

カーネル法の基本原理は,カーネルトリックと呼ばれる数学的技法にある.このトリックにより,高次元空間[場合によっては無限次元空間]での計算を,元の入力空間でのカーネル関数の計算に帰着させることができる.例えば,二次元入力 $(x_1, x_2)$ に対する二次多項式カーネル\[(x \cdot y + c)^2\]は,暗黙的に\[(x_1^2, \sqrt{2}x_1x_2, x_2^2, \sqrt{2c}x_1, \sqrt{2c}x_2, c)\]という六次元特徴空間での線形演算に対応している.

統計学におけるカーネル法の歴史は1950年代のParzenによるカーネル密度推定に遡る.Parzen[1962]はヒストグラムの自然な拡張として,各データ点に「山」を配置して密度を推定する手法を提案した.この発想は,Rosenblatt[1956]の先行研究と合わせて,ノンパラメトリック統計学の基礎を築いた.Nadaraya[1964]とWatson[1964]は独立に,カーネル重み付けを用いた回帰推定手法を開発し,これがNadaraya-Watson推定量として知られている.1970年代には,Scott,Silverman,Jonesらによってバンド幅選択の理論が発展し,カーネル法の実用性が大幅に向上した.

機械学習におけるカーネル法の発展は1960年代のパーセプトロンアルゴリズムに端を発するが,現代的な意味でのカーネル法は1990年代のVapnikらによるサポートベクターマシン[SVM]の開発によって確立された.SVMはマージン最大化の原理とカーネルトリックを組み合わせることで,非線形分類問題を効率的に解く手法として注目を集めた.この成功を受けて,カーネル主成分分析[Schölkopf et al., 1998],カーネルリッジ回帰,カーネル正準相関分析など,多くの線形手法のカーネル版が開発された.

再生核ヒルベルト空間[RKHS]理論はカーネル法の数学的基盤を提供する.Aronszajn[1950]による先駆的研究に基づき,任意の正定値カーネルが一意にRKHSを決定することが示された.この理論により,カーネル法で学習される関数が属する関数空間の性質が明確になり,正則化理論との関連も解明された.Representer定理は,RKHS内の最適化問題の解が有限個のカーネル関数の線形結合で表現できることを保証し,これがカーネル法の計算可能性の理論的根拠となっている.

21世紀に入り,大規模データに対するカーネル法の計算効率が問題となった.標準的なカーネル法の計算量は $O(n^3)$ であり,大規模データセットでは実用的でない.この課題に対し,Nyström法による低ランク近似,ランダム特徴量[Random Features]による近似,スパースカーネル法などの近似手法が開発された.Rahimi and Recht[2007]のランダム特徴量は,シフト不変カーネルを有限次元ベクトルの内積で近似する手法であり,大規模機械学習における重要な技術となった.

深層学習の台頭によりカーネル法の地位は一時的に低下したかに見えたが,近年の研究により深層ニューラルネットワークとカーネル法の深い関連性が明らかになっている.Neal[1996]は隠れ層のユニット数が無限大に向かうニューラルネットワークがガウス過程に収束することを示し,これがNeural Network Gaussian Process[NNGP]理論の出発点となった.Jacot et al.[2018]のNeural Tangent Kernel[NTK]理論は,無限幅ニューラルネットワークの学習ダイナミクスが特定のカーネルによって記述されることを示し,深層学習の理論的理解に新たな視点を提供した.

大規模言語モデルとの関連では,Transformerアーキテクチャの自己注意機構がカーネル法の一種として解釈できる.自己注意はクエリとキーの内積[または正規化された内積]を重みとして用いるカーネル重み付け平均と見なせる.Choromanski et al.[2020]のPERFORMER,Wang et al.[2020]のLinformer,Katharopoulos et al.[2020]のLinear Attentionなどは,注意機構をカーネル近似によって効率化する試みである.これらによりTransformerの二次計算量を線形時間に削減可能となった.

Kernel Ridge RegressionやGaussian Processesは,ベイズ的機械学習の重要な構成要素として現在も広く用いられている.特に,不確実性定量化が重要な応用分野(医療,自動運転,科学計算など)では,ガウス過程の予測分散が信頼区間として価値が高い.また,ハイパーパラメータ最適化ではベイズ最適化のサロゲートモデルとしてガウス過程が標準的に用いられている.

カーネル法の理論的優位性は,その非パラメトリック性と汎用性にある.適切なカーネル関数を選択すれば任意の連続関数を任意の精度で近似可能であることが理論的に保証されている.これに対し,深層学習は強力な実用性を持つが,その理論的性質は完全には理解されていない.両者は相補的であり,問題の性質に応じて使い分けることが重要である.

現代のカーネル法研究では,構造化データ[グラフ,文字列,画像など]に対するカーネル設計,量子カーネル,ニューラルカーネル,深層学習との融合が主要なテーマである.特にGraph Neural Networksとグラフカーネルのハイブリッドや,事前学習済み深層モデルから抽出した特徴量に基づくカーネル設計が注目されている.これらの発展によりカーネル法は現代機械学習においても重要な位置を占め続けている.

Mathematics is the language with which God has written the universe.





















自然対数の底 カーネル関数の族 カーネル関数 レヴィの反転公式 特性関数 k次モーメント