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

Support Vector Machine (SVM)

機械学習 重要度:高

概要

サポートベクターマシン(SVM:Support Vector Machine)とは、データを分離する境界面(決定境界)とデータ点との距離(マージン)を最大化することで、分類精度を高める教師あり学習の手法です。特に二値分類において高い性能を発揮し、ディープラーニングが普及する以前は、最も強力な分類手法の一つとして広く活用されていました。

SVMの特徴は、マージン最大化の原理により汎化性能が高いこと、カーネルトリックにより非線形分類にも対応できること、そして理論的に確立された数学的基盤を持つことです。G検定では、マージン最大化の概念、サポートベクターの役割、カーネルトリックの仕組みが重要な出題ポイントになります。

詳細解説

マージン最大化

SVMの基本的なアイデアは、2つのクラスを分離する境界面(超平面)のうち、両クラスのデータ点からの距離(マージン)が最大になるものを選ぶというものです。マージンが大きいほど、未知のデータに対する分類精度(汎化性能)が高くなると考えられます。

例えば、2次元平面上で2つのクラスを分離する直線は無数に引くことができますが、SVMはそのうちマージンが最大となる直線(最適超平面)を選択します。この考え方を「マージン最大化」と呼びます。

サポートベクター

マージンの境界線上に位置する(またはマージン内に存在する)データ点のことを「サポートベクター」と呼びます。SVMの決定境界はサポートベクターのみによって決定され、それ以外のデータ点は決定境界に影響を与えません。この性質により、SVMは計算効率が良く、外れ値に対する頑健性もある程度持っています。

「サポートベクターマシン」という名前は、これらの決定境界を「支える(サポートする)」データ点(ベクトル)に由来しています。

ハードマージンとソフトマージン

ハードマージンSVM

すべてのデータ点が正しく分類されることを要求するSVMです。データが線形分離可能な場合にのみ使用できます。ノイズや外れ値がある場合、ハードマージンSVMは解を見つけられないか、非常に小さなマージンになってしまいます。

ソフトマージンSVM

一部のデータ点の誤分類を許容するSVMです。スラック変数を導入し、マージンの最大化と誤分類の最小化のトレードオフを制御します。パラメータC(正則化パラメータ)で、マージンの大きさと誤分類の許容度のバランスを調整します。Cが大きいほど誤分類を許さない(ハードマージンに近づく)、Cが小さいほど誤分類を許容する(マージンが大きくなる)という関係があります。

カーネルトリック

実際のデータは、必ずしも線形に分離可能ではありません。カーネルトリックは、データを高次元の特徴空間に写像することで、元の空間では線形分離できないデータを線形分離可能にする手法です。

重要なのは、カーネルトリックでは実際に高次元空間での座標を計算するのではなく、カーネル関数を用いてデータ点間の内積だけを計算する点です。これにより、計算量を大幅に削減しながら、高次元での分類を実現できます。

代表的なカーネル関数には以下があります。

  • 線形カーネル:元の特徴空間でそのまま線形分離する場合に使用します。
  • 多項式カーネル:多項式関数による非線形な決定境界を作成します。
  • RBF(ガウシアン)カーネル:最もよく使われるカーネル。データを無限次元の特徴空間に写像し、柔軟な決定境界を生成します。
  • シグモイドカーネル:ニューラルネットワークの活性化関数に似た特性を持ちます。

SVMの長所と短所

SVMの長所として、高次元データでも良好な性能を発揮すること、マージン最大化により汎化性能が高いこと、カーネルトリックにより非線形分類が可能であることが挙げられます。一方、短所としては、大規模データセットでの計算コストが高いこと、多クラス分類への拡張が直接的ではないこと(1対1法や1対多法が必要)、パラメータ(C、カーネルの種類、カーネルパラメータ)の調整が必要なことがあります。

歴史・背景

SVMの理論的基盤は、1960年代にウラジーミル・ヴァプニク(Vladimir Vapnik)とアレクセイ・チェルヴォネンキスが提唱したVC理論(Vapnik-Chervonenkis theory)に遡ります。この理論は、モデルの複雑さと汎化性能の関係を数学的に定式化したもので、統計的学習理論の基礎となっています。

1992年にヴァプニクらが線形SVMを提案し、1995年にはコリンナ・コルテスとヴァプニクがソフトマージンSVMとカーネルトリックを組み合わせた現代的なSVMを発表しました。この論文は機械学習分野で最も引用される論文の一つとなっています。2000年代にはSVMは画像認識、テキスト分類、バイオインフォマティクスなどの分野で最も優れた分類器の一つとして広く認知されていました。

具体的な事例

  • テキスト分類:文書のカテゴリ分類やスパムメール判定。高次元のテキスト特徴量に対して優れた性能を発揮します。
  • 画像認識:ディープラーニング以前は、HOG特徴量やSIFT特徴量と組み合わせたSVMが画像認識の主流でした。
  • 手書き文字認識:郵便番号の自動読み取りなどで実用化されていました。
  • バイオインフォマティクス:遺伝子発現データからの疾患分類やタンパク質の構造予測に活用されています。
  • 異常検知:One-class SVMを用いた異常検知は、製造業や金融分野で活用されています。

G検定での出題ポイント

  • SVMはマージンを最大化することで汎化性能を高める分類手法であることを理解する
  • サポートベクターとは決定境界を決定するデータ点であることを押さえる
  • カーネルトリックの概念(高次元空間への写像で非線形分類を可能にする)を理解する
  • ハードマージンとソフトマージンの違いを区別できること
  • SVMの提唱者がVladimir Vapnikであることを知っておく
試験対策のポイント
  • SVMの核心は「マージン最大化」。2つのクラス間の距離を最大にする境界面を求める
  • サポートベクターは決定境界に最も近いデータ点。決定境界はサポートベクターのみで決まる
  • カーネルトリックにより、元の空間で線形分離できないデータも分類可能になる
  • ソフトマージンSVMは誤分類を一部許容し、パラメータCでバランスを調整する
  • SVMはVapnikが提唱。ディープラーニング以前は最強の分類器の一つだった