【第57回】AIはどこで線を引けばいい?SVM(サポートベクターマシン)とは
2つのグループをできるだけきれいに分けたい場面があります。
そのとき、境界線を上手に引こうとする方法がSVMです。
この記事では、グループ分けのための代表的な手法をやさしく解説します。
1. 読み方
エス・ブイ・エム (Support Vector Machine)
2. 意味(定義)
「データ同士の境界線において、最も余裕(マージン)を持たせた境界線を引く手法」のことです。
サポートベクター: 境界線のすぐ近くに位置している、判断の決め手となる「境界線ギリギリのデータ点」のことです。
マージン (Margin): 境界線から、最も近いデータ点(サポートベクター)までの「隙間」のことです。
【道路とガードレールの例え】
2つのグループ(例えば「犬」と「猫」のデータ)を分けるとき、単に線を引くだけでは不十分です。線がデータのすぐそばを通っていると、新しいデータが入ってきたときに、すぐに間違えてしまうかもしれません。
SVMは、「境界線という道路の幅をできるだけ広く取り、両側にしっかりとガードレール(サポートベクター)を設置する」ように、最も広い道(最大マージン)を確保しようとするのです。この「道の幅」が広いほど、新しいデータに対しても正しく分類できる「余裕」が生まれます。
3. 歴史・背景
SVMは、1990年代にベルンハード・ブローデルや、ヴラディミール・ヴァプニク(Vladimir Vapnik)らによって発展しました。
それまでの手法よりも、「未知のデータに対してどれくらい強いか(汎化性能)」を数学的に証明しやすく、非常に強力な決定理論に基づいています。特に、複雑な境界線を引くための「カーネル法」というテクニックが登場したことで、直線では分けられないような複雑なデータも扱えるようになり、ディープラーニングが主流になる前までは、機械学習の王道として君臨していました。
4. 比較・対比(似た用語との違い)
ここが試験で狙われる「整理」ポイントです!
SVM vs 決定木 ★超重要
決定木: 「階段状」に境界線を作る。ルールは分かりやすいが、境界線がギザギザになりやすい(過学習しやすい)。
SVM: 「滑らかな」境界線を作る。数学的に「最もマージンが大きい場所」を探すため、境界線が非常にエレガントで安定している。
線形SVM vs カーネルSVM ★重要
線形SVM: データを「直線(または平面)」で分ける。
カーネルSVM: 「カーネル法」という魔法を使い、データを高次元の空間に飛ばして、「曲がった境界線」や「複雑な境界線」で分けることができる。
5. 活用シーン(どんな問題に使うか)
画像認識(文字・顔): 特徴量(線の向きや形)を抽出した後の、最終的なクラス分類。
テキスト分類: メールのスパム判定や、ニュース記事のカテゴリ分け。
バイオインフォマティクス: 遺伝子配列の解析による、疾患の有無の判定。
6. G検定での出題傾向
G検定では、以下のポイントが狙われます!
「マージン最大化」というキーワード: 「境界線とデータの間の隙間を最大にする」という定義を見抜く。
「サポートベクター」の役割: 境界線の位置を決める決定的なデータ点であることの理解。
「カーネル法 (Kernel Method)」の魔法: 低次元では分けられないデータを、高次元に飛ばして(次元を増やして)分類可能にするテクニックの名前と仕組み。
「線形分離可能」な問題: 直線でパカッと分けられる状態のこと。これができない場合にカーネル法を使うという文脈。
7. G検定の例題
【問題1:基本概念の理解】
SVM(サポートベクターマシン)において、境界線の決定に直接的な影響を与える、境界線に最も近い位置にあるデータ点のことを何と呼びますか?
A. 重み (Weight)
決 決定木 (Decision Tree)
C. サポートベクター (Support Vector)
D. カーネル (Kernel)
【問題2:カーネル法の役割】
低次元の空間では直線(または平面)によって分離できない複雑なデータ分布を、高次元空間へ写像することで、線形分離可能な状態にして分類を行う手法や考え方を何と呼びますか?
A. カーネル法 (Kernel Method)
B. ブートストラップ法 (Bootstrap Method)
C. 勾配降下法 (Gradient Descent)
D. バックプロパゲーション (Backpropagation)
8. 例題の回答と解説
【問題1 の回答】
正解:C
【解説】 SVMにおいて、境界線の位置や向きを決定する「支え(サポート)」となる、境界線に最も近いデータ点のことをサポートベクターと呼びます。これ以外の遠くにあるデータ点は、境界線の決定には直接影響しません。
【問題2 の回答】
正解:A
【解説】 「高次元へ飛ばして(写像して)、分離しやすくする」という魔法のようなテクニックは、カーネル法です。これにより、SVMは非常に複雑な境界線を描くことが可能になります。B はデータの再抽出、C は学習の最適化アルゴリズム、D はニューラルネットワークの学習手法(誤差逆伝播法)であり、誤りです。
