SVMとは?マージン最大化とカーネルの仕組みを初心者向けに解説

SVMとは?マージン最大化とカーネルの仕組みを初心者向けに解説

AIの初心者

「SVM」って難しそうですが、まずは何をする手法なのか知りたいです。

AI専門家

SVMは、データを2つ以上のグループに分けるための機械学習手法です。たとえば、猫と犬の画像、迷惑メールと通常メールのような分類問題で使われます。

AIの初心者

ただ線で分けるだけなら、ほかの方法と何が違うんですか?

AI専門家

SVMの特徴は、ただ分ける線を探すのではなく、データからできるだけ離れた余裕のある境界を選ぶことです。この余裕をマージンと呼びます。

SVMとは。

サポートベクターマシン(SVM)は、分類や回帰に使われる教師あり学習の手法です。データを分ける境界を探すときに、境界と近いデータ点との距離であるマージンを大きく取るため、未知のデータにも強い分類器を作りやすい点が特徴です。

この記事では、SVMの基本、決定境界とマージン最大化、サポートベクター、カーネル関数、長所と短所を初心者向けに整理します。

SVMが2種類のデータを広いマージンで分類するイメージ

SVMとは?教師あり学習で使う分類手法

SVMは「Support Vector Machine」の略で、日本語ではサポートベクターマシンと呼ばれます。機械学習の分類問題でよく使われる手法で、正解ラベル付きのデータから、未知のデータをどのクラスに分けるかを学習します。

たとえば、果物の重さや色の濃さを特徴量として「りんご」と「みかん」を分類する場面を考えると、SVMは2つのグループを分ける境界を探します。ただし、境界なら何でもよいわけではありません。SVMは、両グループからなるべく離れた位置に境界を置こうとします。

この考え方がマージン最大化です。境界線の近くにデータが密集していると、新しいデータが少しずれただけで分類が変わってしまいます。反対に、境界のまわりに十分な余白があれば、多少ノイズがあっても分類が安定しやすくなります。

SVMは分類だけでなく、数値を予測する回帰にも応用できます。ただし、入門段階ではまず「データを分ける境界を、余裕を持って引く手法」と捉えると理解しやすいでしょう。

用語 意味
SVM 分類や回帰に使われる教師あり学習の手法
決定境界 データをどのクラスに分けるかを決める境界
マージン 決定境界と、境界に最も近いデータ点との距離
サポートベクター 決定境界の位置に強く影響する、境界近くのデータ点

SVMの仕組み:決定境界とマージン最大化

SVMの決定境界とマージン最大化のイメージ

SVMの中心にあるのは、決定境界をどこに置くかという問題です。2次元のグラフで考えると、決定境界は2つのグループを分ける線です。特徴量が増えると線ではなく平面や超平面になりますが、基本的な考え方は同じです。

線形SVMでは、決定境界を次のような式で表せます。

\(w \cdot x + b = 0\)

ここで \(x\) はデータの特徴量、\(w\) は境界の向き、\(b\) は境界の位置を調整する値です。初心者は式そのものを暗記するより、「データの特徴量を使って、どちら側にあるかを判定している」と理解すれば十分です。

SVMは、単に学習データを正しく分ける境界ではなく、境界に最も近いデータ点との距離が最大になる境界を選びます。この距離がマージンです。マージンが広いほど、境界の近くに曖昧なデータが少なくなり、新しいデータを分類するときの余裕が生まれます。

マージン最大化は、学習データにだけ過度に合わせるのを避ける考え方でもあります。機械学習では、学習データにはよく当たるのに未知データでは外れる状態を過学習と呼びます。SVMは境界に余裕を持たせることで、汎化性能を高めることを狙います。

サポートベクターが分類を左右する理由

SVMのサポートベクターが境界を支えるイメージ

サポートベクターとは、決定境界に最も近いデータ点のことです。SVMという名前は、このサポートベクターが境界を支える重要な点であることに由来します。

直感的には、境界から遠く離れたデータ点は、境界の位置をあまり変えません。反対に、境界のすぐ近くにあるデータ点は、少し位置が変わるだけで境界の置き方に影響します。SVMは、この境界近くの点を特に重視して分類モデルを決めます。

たとえば、りんごとみかんを分類するとき、いかにもりんごらしい赤い果物や、いかにもみかんらしいオレンジ色の果物は判定しやすいデータです。問題になるのは、色や形が中間的で判断に迷うデータです。SVMは、このような境界付近のデータを見ながら、最も安定して分けられる位置を探します。

この特徴により、SVMは高い識別能力を発揮しやすい一方、外れ値が境界近くにあると影響を受ける場合があります。そのため、実務では前処理で明らかな異常値を確認したり、パラメータで誤分類の許容度を調整したりします。

カーネル関数で非線形データを分類する

カーネル関数で非線形データを高次元空間へ写すイメージ

現実のデータは、きれいな直線で分けられるとは限りません。円状に広がるデータや複雑に入り組んだデータでは、平面上に1本の直線を引いても分類できない場合があります。

そこで使われるのがカーネル関数です。カーネル関数は、元のデータをより高次元の空間へ写したときの関係を扱うための工夫です。低次元では分けにくい点の集まりでも、高次元で見ると平面で分けられることがあります。

重要なのは、カーネル関数が「高次元の座標をすべて実際に計算する」のではなく、元の空間での計算を通じて高次元での内積に相当する結果を得る点です。この性質はカーネルトリックと呼ばれ、計算量を抑えながら非線形な分類を扱える理由になります。

代表的なカーネルには、多項式カーネル、RBFカーネル(ガウスカーネル)、線形カーネルがあります。どれを選ぶべきかはデータの形によって変わります。まずは線形カーネルで基準となる性能を確認し、直線では表現しにくい場合にRBFカーネルなどを検討すると実務上は進めやすくなります。

カーネル 特徴 使いやすい場面
線形カーネル 直線や平面で分類する 特徴量が多いテキスト分類、まず試す基準モデル
多項式カーネル 特徴量の組み合わせや曲線的な関係を扱う 特徴量同士の相互作用を見たい場合
RBFカーネル データ同士の近さをもとに柔軟な境界を作る 非線形で形が複雑な分類問題

SVMの長所・短所と向いている場面

SVMの長所と短所を実務の流れで整理したイメージ

SVMの長所は、マージン最大化によって分類性能と汎化性能を両立しやすいことです。特に、データ数が極端に多くない分類問題や、特徴量が多い問題では有力な選択肢になります。手書き文字認識、画像分類、文章分類、医療データの判定支援などで利用されてきました。

また、カーネル関数を使うことで、単純な直線では分けられないデータにも対応できます。ニューラルネットワークほど大量のデータや複雑なモデル設計を前提にしなくても、適切に設定すれば高い精度が出る場合があります。

一方で、SVMには短所もあります。まず、特徴量のスケールに敏感なため、標準化などの前処理が重要です。たとえば、身長をセンチメートル、年収を円で扱うようなデータでは、値の大きい特徴量が過度に影響することがあります。

次に、カーネルやパラメータの選び方で性能が大きく変わります。代表的な調整項目には、誤分類をどの程度許すかに関係する \(C\) や、RBFカーネルの影響範囲に関係する \(\gamma\) があります。これらはデータに合わせて検証しながら決める必要があります。

観点 SVMの特徴
長所 マージン最大化により、未知データへの分類が安定しやすい
長所 カーネル関数により、非線形な分類にも対応できる
短所 標準化、外れ値確認、パラメータ調整が重要になる
短所 複雑なカーネルを使うと、分類理由を説明しにくい場合がある
向く場面 中規模データ、特徴量が多い分類、境界が比較的明確な問題

ロジスティック回帰や決定木との違い

SVMを理解するときは、ほかの分類手法との違いも押さえておくと整理しやすくなります。ロジスティック回帰は、分類確率を扱いやすく、結果の解釈もしやすい手法です。一方、SVMは確率そのものよりも、境界とマージンに注目して分類します。

決定木は「この特徴量がこの値より大きいか」といった条件分岐で分類するため、説明しやすい点が強みです。ただし、単体の決定木はデータに合わせすぎることがあります。SVMは条件分岐ではなく、特徴空間上の境界で分けるため、データの配置に応じた分類面を作ります。

ニューラルネットワークは大量データや複雑なパターンに強い反面、学習に多くのデータや計算資源が必要になることがあります。SVMは、データの規模や特徴量の性質が合えば、比較的シンプルな構成でも高い性能を狙える手法です。

SVMを学ぶときの注意点

SVMを使う前に、まず特徴量の標準化を確認しましょう。SVMは距離や内積を使って境界を決めるため、特徴量の単位やスケールがそろっていないと、分類結果が偏る可能性があります。

次に、学習データと検証データを分けて性能を確認することが大切です。学習データで高い精度が出ても、未知データで同じように分類できるとは限りません。交差検証を使い、複数の分割で安定しているかを見ると、過学習に気づきやすくなります。

また、SVMはパラメータ調整に時間がかかることがあります。特にRBFカーネルを使う場合、\(C\) と \(\gamma\) の組み合わせで境界の滑らかさや柔軟さが変わります。細かく調整しすぎると、学習データにだけ合った境界になるため注意が必要です。

最後に、結果の説明が求められる場面では、SVMだけでなく解釈しやすいモデルとの比較も検討しましょう。高精度であることと、判断理由を説明しやすいことは同じではありません。業務で使う場合は、精度、説明性、運用コストのバランスを見て選ぶことが重要です。

まとめ

SVMは、データを分類する境界を探す教師あり学習の手法です。最大の特徴は、境界をただ引くだけではなく、境界と近いデータ点との距離であるマージンを最大化する点にあります。

マージンを広く取ることで、未知のデータに対しても安定した分類を狙えます。さらに、カーネル関数を使えば、直線では分けにくい非線形データにも対応できます。

一方で、SVMは標準化、外れ値確認、カーネル選択、\(C\) や \(\gamma\) などのパラメータ調整が重要です。初心者はまず、線形SVMで決定境界とマージンの考え方を理解し、そのうえでカーネル関数による非線形分類へ進むと学びやすいでしょう。

更新履歴

日付 内容
2025年2月2日 初回公開
2026年7月7日 マージン、カーネル、調整項目の説明を補強