Web教科書

カーネル

カーネル(カーネル法)

解説

カーネル法とは、そのままでは直線で分けること(線形分離)ができない複雑なデータを、高次元の空間に移動(写像)させることで、直線(平面)で分けられるようにする数学的なアプローチです。

「次元を上げれば解決する」という発想

例えば、テーブルの上に「赤と青のビーズ」が混ざって散らばっている(2次元)とします。これを定規(直線)一本で分けるのは無理でも、赤のビーズだけを空中に持ち上げれば(3次元にすれば)、下敷き(平面)を差し込むことで綺麗に分けることができます。
このように、低次元では複雑な分布でも、高次元空間に移せば単純な境界線で分離可能になるという性質を利用します。

「カーネルトリック」の凄さ

高次元(例えば1万次元や無限次元)への計算は、通常なら膨大な時間がかかります(計算量の爆発)。
しかし、「カーネル関数」と呼ばれる特殊な数式を使うと、「高次元へ移動した後の内積」だけを、元の低次元のデータのまま一瞬で計算できてしまいます。実際に座標変換を行わずに、計算結果だけを得るこのテクニックを「カーネルトリック」と呼びます。

代表的なカーネル関数

  • 線形カーネル:何もしない(そのままの空間で計算する)。
  • 多項式カーネル:データを曲線(多項式)の空間へ写像する。
  • RBFカーネル(ガウスカーネル):最もよく使われる汎用的なカーネル。データを無限次元の空間へ写像するのと同等の表現力を持つため、非常に複雑な境界線も引くことができる。

カーネル法による空間写像のイメージ


G検定対策

出題ポイント

  • 目的:非線形な問題を、高次元特徴空間へ写像して「線形分離可能」にすること。
  • メリット:「カーネルトリック」を使うことで、高次元空間での計算を実際にすることなく、計算コストを低く抑えられる。
  • キーワード:「RBFカーネル(ガウシアンカーネル)」、「グラム行列(カーネル行列)」。
  • 関連アルゴリズム:サポートベクターマシン(SVM)で特によく用いられる。

よくあるひっかけ問題

  • × カーネル法を使うと、計算量が次元数に応じて爆発的に増加する
    (解説)逆です。カーネルトリックにより、高次元計算を回避できるため、計算量はデータ数に依存する形に抑えられます。
  • × RBFカーネルは、データを2次元空間に写像する
    (解説)RBFカーネルは理論上、データを「無限次元」の特徴空間に写像します。そのため非常に表現力が高いのです。
タイトルとURLをコピーしました