はじめに
AIの資格試験「G検定」では、機械学習の基礎理論に関する問題が頻出する。中でもサポートベクトルマシン(SVM)は代表的なテーマのひとつだ。
今回は、SVMに関する過去問を題材に、「高次元空間への拡張手法」について解説する。
出題された問題とその選択肢をもとに、正解がなぜ「カーネル法」なのか、また他の選択肢がなぜ不正解なのかを丁寧に整理していく。
問題:G検定過去問より
サポートベクトルマシン(SVM)などで、線形分離を行うために、高次元空間へ拡張する方法として、最も適切な選択肢を選べ。
選択肢
- カーネル法
- モンテカルロ法
- 蒸留
- スラック変数
正解は「1. カーネル法」
なぜ「カーネル法」が正解なのか?
SVMは、もともと線形分離を前提とした分類手法である。しかし、現実のデータは線形では分けられないことが多い。
ここで登場するのが「カーネル法」だ。
カーネル法とは、元の特徴空間を、より高次元の空間に写像することで、線形分離を可能にする手法のこと。
このとき、実際にデータを高次元に変換するのではなく、「内積」という形でその計算を間接的に行うのが特徴だ。
例えば、下図のような非線形な分布も、高次元空間に写せば直線で分離できるケースがある。
[低次元空間]
○○○●●●
→ 高次元へ写像
[高次元空間]
○ ●
○ ●
○ ●
カーネル法では、以下のような関数が使われることが多い。
- 多項式カーネル
- ガウス(RBF)カーネル
- シグモイドカーネル
これらを使えば、非線形なパターンを線形に扱えるようになるのだ。
SVMの性能向上において、カーネル法は欠かせない要素となっている。
他の選択肢はなぜ誤りなのか?
モンテカルロ法
モンテカルロ法は、乱数を使って確率的に問題を解くアルゴリズムの総称。数値積分や最適化問題に使われることが多い。
SVMの「高次元への写像」とは無関係であり、線形分離にも直接関与しない。
蒸留(ディスティレーション)
蒸留は、主にディープラーニングのモデル圧縮に使われる技術。大きなモデル(教師モデル)から小さなモデル(生徒モデル)に知識を移すことで、軽量化と精度の両立を図る。
この手法はモデル構造の最適化には貢献するが、SVMの線形分離や高次元写像とは関係ない。
スラック変数
スラック変数は、ハードマージンSVMの制約条件を緩めるための手法だ。すべてのデータが完全に分離できない場合に、誤差を許容するための工夫として導入される。
つまり、これは線形分離の「許容誤差」に関する調整技術であり、高次元への拡張とは別の次元の話になる。
SVM × カーネル法の実用例
G検定対策では理論だけでなく、実用シーンでの応用も意識すると理解が深まる。以下はカーネル法を使ったSVMの代表的な活用例だ。
画像分類
手書き数字認識(MNIST)など、非線形の特徴を持つデータセットでは、カーネルSVMが高い分類精度を出せる。
RBFカーネルを使えば、非線形な境界を柔軟に引くことができる。
異常検知
SVMは異常検知にも応用される。特徴空間で正常データのパターンを学習し、そこから大きく外れたデータを「異常」として識別する。
このときも、カーネル法により非線形な境界を学習することで精度が向上する。
まとめ
今回のG検定過去問では、「SVMにおける高次元空間への拡張方法」を問うていた。
正解は「カーネル法」であり、その理由は以下の通り。
✅ 元の特徴空間を高次元に写像することで、線形分離を可能にする
✅ 実際の写像を行わず、カーネル関数によって内積を計算する
✅ 他の選択肢(モンテカルロ法、蒸留、スラック変数)は、SVMの拡張とは異なる目的や技術に属する
G検定合格を目指すうえで、選択肢の誤り理由まで理解することが重要だ。
SVMのカーネル法については、理論と応用の両面からしっかり押さえておこう。


コメント