サポートベクターマシン (SVM) の概要
サポートベクターマシン(SVM)は、教師あり学習の一種であり、分類問題や回帰問題に対して高い認識性能を提供する強力なモデルです。
1963年にウラジミール・ヴァプニクとAlexey Ya. Chervonenkisによって発表され、その後
1992年にBernhard E. Boser、Isabelle M. Guyon、ヴァプニクが非線形の場合に拡張しました。SVMの優れた特性は、未知のデータに対する高い識別性能に起因しています。
基本的な考え方
SVMは、訓練データから
マージンを最大化することで2つのクラスを区別する超平面を見つける手法です。与えられたデータを線形に分離可能である場合、最も大きな
マージンを持つ超平面を求めます。この超平面は、データ点に最も接近する点との距離、すなわち
マージンが最大となるように定義されます。
この超平面は、次のように表現されます。
$$\{x \in R^p \mid x \cdot w = 0\}$$
ここで、$w$は超平面への法線ベクトルを示します。
最適化問題として表現することで、
マージンを最大化するためのアプローチが可能になります。また、データ数が増えると計算量が急増するため、効率的な計算手法の開発が行われています。
学習データの特性
サポートベクターマシンは、特定の学習データの条件に応じて特性が異なります。例えば、データセットが次のように与えられた場合を考えます。
$$D = \{(x_i, y_i) | x_i \in R^p, y_i \in \{-1, 1\}, i = 1, 2, \ldots, n\}$$
このとき、$y_i$はそれぞれのデータ点のクラスを示します。SVMの特筆すべき点は、単にデータ点を分離するだけでなく、
マージンを最大化する超平面を求めるところです。これにより、異なるクラスのデータ点との距離が最大化され、分離性能が向上します。
線形SVMとその種類
ハードマージンは、データが線形分離可能な場合に適用されます。この方法では、データを完全に超平面で分離し、
マージンの大きさが最大になるように設計されます。すべてのデータ点が境界を越えないことが求められ、超平面は次のように定義されます。
$$w^T x - b = \pm 1$$
ここで、
マージンの幅は$2 / \|w\|$で表され、これを最大化することが目的です。
一方、
ソフトマージンは、線形分離が困難な場合に用います。この手法では、ヒンジ損失関数を用いてデータ点が
マージンの正しい側に来るよう制約を緩めることで、柔軟な分類を可能にします。正則化パラメータ$
\lambda$により、
マージンのサイズと正しい分類のバランスを取ります。
カーネル法
SVMのもう一つの重要な特徴は、カーネル法を用いることです。この手法により、データは高次元の特徴空間にマッピングされ、非線形の問題も線形に分離可能にします。カーネル関数は、線形、多項式、放射基底関数、シグモイドなどがあり、特定の問題に最適な手法を選択することが可能です。
結論
サポートベクターマシンは、特に小さな数のサポートベクターだけで良好な一般化性能を発揮する点が特徴です。この特性は、分類問題における効率的なデータ分析において非常に有用です。そして、進化を続けるSVMの
技術は多くの分野で応用され、
パターン認識や機械学習の基盤となっています。