AI・機械学習

SVM(サポートベクターマシン) さぽーとべくたーましん

サポートベクターマージン最大化カーネル法分類二値分類線形分離
SVM(サポートベクターマシン)について教えて

簡単に言うとこんな感じ!

2種類のデータを分ける「最も太い境界線」を引く分類手法だよ!「どちらのグループかぎりぎりのデータ点(サポートベクター)」を基準に、一番余裕をもって分けられる線を探すんだ。少ないデータでも安定して高精度なのが特徴なんだ!


SVM(サポートベクターマシン)とは

SVM(Support Vector Machine:サポートベクターマシン) とは、データを2つのクラスに分類する境界線(決定境界)を、マージン(余白)が最大になるように 引く機械学習アルゴリズムです。境界に最も近いデータ点を サポートベクター と呼び、このサポートベクターのみを使って境界を決定します。

最大の特徴は 汎化性能の高さ です。学習データ数が少なくても比較的安定した精度が得られ、カーネル法 というトリックを使えば直線では分けられない複雑なデータにも対応できます。1990年代〜2000年代に画像認識・テキスト分類で主流だった手法で、深層学習全盛の現在でも少量データ・高次元データでの分類問題に使われ続けています。

ビジネス現場では、医療診断(良性/悪性の分類)、不正検知、テキストカテゴリ分類、品質管理の合否判定など 二値分類(はい/いいえ型の判断) に多く活用されます。深層学習ほどデータ量を必要とせず、説明しやすい境界を持つため、規制が厳しい業界でも採用されます。


SVMの仕組み

マージン最大化の概念

決定境界 マージン幅 (これを最大化) SV SV クラスA クラスB SV=サポートベクター(境界に最も近い点)

カーネル関数の種類

カーネル特徴向いているデータ
線形カーネル直線で分類テキスト分類・高次元データ
RBFカーネル非線形・円形の境界画像・複雑なパターン
多項式カーネル曲線境界自然言語・中規模データ
シグモイドカーネルニューラルネット近似特定のデータ分布

歴史と背景

  • 1963年 — Vladimir VapnikとAlexey Chervonenkisが線形分類の理論(VC理論)を構築
  • 1992年 — Boser・Guyon・Vapnikがカーネルトリックを使った非線形SVMを発表
  • 1995年ソフトマージンSVM外れ値を許容するSVM)が提案され実用性が向上
  • 1990年代後半〜2000年代 — 手書き文字認識・顔検出など多くのタスクで最高性能を達成
  • 2012年 — 深層学習(AlexNet)が画像認識コンペで圧勝し、画像分野でのSVM優位が終わる
  • 現在 — 少量データ・高次元・説明責任が求められる領域で引き続き活躍

SVMと他の分類手法の比較

手法必要データ量速度解釈性非線形対応
SVM少〜中中(大規模は遅い)○(カーネル)
決定木少〜中速い
ランダムフォレスト中〜大速い低〜中
XGBoost中〜大速い低〜中
ニューラルネット遅い(学習)
ロジスティック回帰速い

関連する規格・RFC

規格・RFC番号内容
学術論文ベースの手法のため公式規格なし

関連用語