サポートベクターマシン(SVM)は、クラス間の境界を「マージン最大化」という明確な基準で決める教師あり学習の手法です。深層学習が主流になる以前に広く使われた代表的な分類器で、マージンやカーネル法の考え方は機械学習全般の理解に役立ちます。
※この項目はシラバス2026では出題対象外(オプション)ですが、前提知識として重要なため解説します。
📖 概要
2値分類において、2つのクラスを分ける境界(分離超平面)は一般に無数に引けます。SVMは、その中から「境界と最も近いデータ点との距離(マージン)が最大になる」境界を選びます。これがマージン最大化であり、境界の決定に関与する境界近くのデータ点をサポートベクターと呼びます。
データが完全に分離できる前提で誤分類を一切許さない定式化がハードマージン、誤分類やマージン内への侵入をある程度許容する定式化がソフトマージンです。現実のデータはノイズを含むため、ソフトマージンが実用上の標準です。
さらに、直線(超平面)では分けられない非線形なデータに対しては、カーネル法を使ってデータを高次元の特徴空間に(陽に計算せず)写像し、その空間で線形分離を行うことで非線形な境界を実現します。
🔍 キーワード解説
マージン最大化
マージン最大化は、分離超平面 w^T x + b = 0 と、それに最も近い訓練データ点との距離(マージン)を最大にするという SVM の学習基準です。マージンが大きい境界ほど、新しいデータが多少ばらついても正しく分類できる余裕があり、汎化性能が高くなることが期待されます。数学的には、制約付きの最適化問題(凸二次計画問題)として定式化され、大域的最適解が得られる点が特徴です。
サポートベクター
サポートベクターは、分離超平面に最も近く、マージンの境界上(またはソフトマージンではその内側)にあるデータ点のことです。SVMの解(境界の位置)はサポートベクターだけで決まり、それ以外の遠くのデータ点は取り除いても境界が変わりません。「少数の重要な点だけが境界を支えている」というこの性質が、モデル名の由来です。予測時もサポートベクターとの計算だけで判定できるため、訓練データ全体を保持し続ける必要がない点も実用上の利点です。
ハードマージン・ソフトマージン
ハードマージン・ソフトマージンは、誤分類の扱いに関する2つの定式化です。ハードマージンSVMは、全ての訓練データが正しく分類されマージンの外側にあることを制約とするため、線形分離可能なデータにしか適用できず、外れ値に非常に敏感です。ソフトマージンSVMは、スラック変数を導入してマージン違反(マージン内への侵入や誤分類)をペナルティ付きで許容します。ペナルティの強さを制御するハイパーパラメータ(一般にCと表記)が大きいほど誤分類を強く罰してハードマージンに近づき、小さいほどマージンの広さを優先するため、Cの調整が過剰適合・過少適合のバランスを左右します。
カーネル法
カーネル法は、データを非線形変換 φ(x) で高次元の特徴空間に写像し、その空間で線形分離を行うための技法です。SVMの最適化と予測は、データ点同士の内積 φ(x)^T φ(x') の形でしか特徴写像を必要としないため、この内積をカーネル関数 K(x, x') = φ(x)^T φ(x') で直接計算すれば、高次元(場合によっては無限次元)の写像を陽に計算せずに済みます。これはカーネルトリックと呼ばれます。代表的なカーネルには、多項式カーネルや、ガウスカーネルとも呼ばれるRBFカーネル K(x, x') = exp(-γ ||x - x'||^2) があります。カーネル法により、元の入力空間では曲がった複雑な決定境界を学習できます。RBFカーネルのγは境界の複雑さを左右するハイパーパラメータで、大きすぎると個々の点に張り付いた境界になり過剰適合しやすく、小さすぎると単純になりすぎる傾向があります。このためソフトマージンのCとγを組み合わせて調整するのが一般的です。なお、カーネル法の考え方はSVMに限らず、マージンの概念を回帰に応用したサポートベクター回帰(SVR)など他の手法にも広く使われています。
📝 試験でのポイント
- 「境界を決めるのはサポートベクターのみ」「マージン最大化が汎化性能につながる」という SVM の基本思想は頻出です
- ハードマージンとソフトマージンの違い(誤分類を許すか)と、ハイパーパラメータCの大小が持つ意味を整理しておきましょう
- カーネルトリックの本質は「高次元写像を陽に計算せず、内積をカーネル関数で置き換える」ことです。この説明を選ばせる問題が出やすいです
- RBFカーネル(ガウスカーネル)の形と、非線形境界を実現できる理由を押さえましょう
- ロジスティック回帰との対比(確率を出力するか、境界近傍の点のみで決まるか)も整理しておくと安心です
📚 まとめ
SVMはマージン最大化を基準に分離超平面を学習し、その境界は少数のサポートベクターだけで決まります。実用上はマージン違反を許すソフトマージンが標準で、Cで許容度を調整します。カーネル法(カーネルトリック)により高次元写像を陽に計算せず非線形分離が可能になる、という3点セットで理解しておきましょう。
