サポートベクターマシン(SVM)は、なぜ未知のデータにも強い分類ができるのか——その答えが「マージン最大化」です。境界線を「一番余裕を持って」引くというシンプルな発想と、ハードマージン・ソフトマージンの違いをやさしく解説します。
📖 ひと言でいうと
マージン最大化とは、2つのクラスを分ける決定境界を引くとき、境界から最も近いデータまでの距離(マージン)ができるだけ大きくなるように境界の位置を決める、という基準のことです。サポートベクターマシン(SVM)がこの基準で学習を行います。
身近な例えでいうと、道路のセンターラインの引き方です。対向車線の車同士がすれすれになるような線ではなく、双方の車から最も余裕(すき間)が取れる真ん中に線を引けば、多少ふらついた車が来ても衝突しにくくなります。同じように、両クラスから余裕を最大に取った境界は、学習時に見ていない未知のデータが多少ずれた位置に来ても誤分類しにくいのです。
🖼 1枚でわかるマージン最大化
📘 公式テキストの説明
サポートベクターマシン(SVM)は、マージン最大化という基準を用いて決定境界を得るモデルで、決定境界から一番近いデータまでの距離をマージンといい、マージンが最大になるように決定境界の位置が決められる。このようにして求められた境界は、データが未知の場合でも高い予測性能を発揮し、過学習を抑制する効果がある。決定境界の決め方には、データがマージンの内側に入ることを許容しない「ハードマージン」と、データがマージンの内側に入ることを許容する「ソフトマージン」がある。ハードマージンは、データがマージンの内側に入ることを一切許容しない方法で、完全に線形分離可能なデータセットに適している。一方、ソフトマージンは、データがマージンの内側に入ることをある程度許容する方法で、線形分離不可能なデータセットやノイズのあるデータセットに対応することができる。
読み解きのポイントは2つです。まず、マージンの定義が「決定境界から一番近いデータまでの距離」であること。境界の位置は、この距離が最大になるように選ばれます。次に、マージンの内側にデータが入ることを許すかどうかで、ハードマージンとソフトマージンの2方式に分かれることです。この2つの区別は試験でも頻出の対比です。
🔍 しっかり理解する
なぜ「余裕」を最大にすると強いのか
2クラスのデータをきれいに分ける直線は、実は無数に引けます。あるクラスすれすれを通る線でも、学習データ上の正解率は100%です。しかし、すれすれの線は学習データの偶然の配置に過剰に合わせた線であり、新しいデータが少しずれるとすぐ誤分類します。
マージン最大化は、無数にある「分けられる線」の中から、両クラスから最も遠い1本を選ぶという明快な基準です。余裕が大きいほど、未知のデータが多少ばらついても境界を越えにくいため、公式テキストのいうとおり「データが未知の場合でも高い予測性能を発揮し、過学習を抑制する効果」につながります。
なお、マージンの端に位置して境界の位置を実際に決めているデータ点を「サポートベクトル」と呼びます。SVMという名前は、この少数の重要な点が境界を支えている(サポートしている)ことに由来します。
ハードマージンとソフトマージン
- マージン内側への侵入を一切許容しない
- 完全に線形分離可能なデータセットに適する
- 外れ値が1つあるだけで境界が大きく歪む・解が存在しないことも
- マージン内側への侵入をある程度許容
- 線形分離不可能・ノイズのあるデータに対応
- 「許容の度合い」を調整して余裕と誤りのバランスを取る
ハードマージンは「1つの例外もなく完全に分けられる」ことが前提の理想形です。しかし現実のデータには測定誤差やラベルの誤り(ノイズ)が混じり、直線では完全に分けられないことがほとんどです。そこで実用上はソフトマージンを使い、「少しの侵入や誤分類は罰点として数えつつ許容し、その代わり全体の余裕を大きく保つ」という妥協点を探します。罰点をどれくらい重く見るかは調整パラメータで制御し、厳しくしすぎれば過学習気味に、緩くしすぎれば境界が甘くなります。
線形で分けられないときは
ソフトマージンでも対応しきれない複雑な分布に対しては、データを高次元の空間に写して線形分離しやすくする「カーネルトリック」という技法がSVMと組み合わせて使われます。マージン最大化という基準自体は変わらず、写した先の空間で余裕最大の境界を探す、という関係です。詳細はカーネル・カーネルトリックのキーワードで扱われますが、「マージン最大化はSVMの背骨で、カーネルはその適用範囲を広げる拡張」という位置づけを掴んでおきましょう。
💡 具体例で考える
製造ラインの品質検査を考えます。製品の「重さ」と「寸法」の2つの測定値から良品/不良品を判定するSVMを作るとしましょう。過去の検査データを2次元にプロットすると、良品の集団と不良品の集団がおおむね分かれているものの、境界付近には測定誤差でどちらともつかない点が少し混ざっています。
ここでハードマージンを使おうとすると、たまたま良品側に紛れ込んだ1個の不良品データのせいで境界が不自然に歪んだり、そもそも完全に分ける直線が存在せず学習できなかったりします。ソフトマージンなら、その数点の侵入をペナルティ付きで許容し、大多数の点から余裕を最大に取った自然な境界が得られます。運用後に届く新しい製品は学習データと全く同じ値にはなりませんが、境界に余裕があるため、多少のばらつきでは判定が揺らぎません。これがマージン最大化の実務的なご利益です。
⚠️ よくある誤解・紛らわしい用語
- 「マージン=境界線の幅」ではない: マージンは「決定境界から一番近いデータまでの距離」です。定義の言い回しを正確に覚えましょう。
- ハードとソフトの取り違え: 「一切許容しない=ハード」「ある程度許容する=ソフト」です。適するデータ(線形分離可能=ハード/分離不可能・ノイズあり=ソフト)との組み合わせを入れ替えた誤答に注意してください。
- マージン最大化=正解率最大化ではない: 学習データを分けるだけなら無数の境界がありえます。マージン最大化はその中から汎化に有利な1本を選ぶ基準であり、学習データの正解率だけを見ているのではありません。
- カーネルトリックとの混同: マージン最大化は「境界の決め方の基準」、カーネルトリックは「線形分離できないデータを分けられるようにする変換技法」です。どちらもSVMの話ですが役割が異なります。
📝 試験でのポイント
- 「決定境界から一番近いデータまでの距離をマージンという」という定義文の穴埋め・正誤が問われやすい形です。
- マージン最大化の効果として「未知データへの高い予測性能」「過学習の抑制」を選ばせる設問が想定されます。
- ハードマージン/ソフトマージンの説明と適するデータセットの対応(線形分離可能/不可能・ノイズあり)を入れ替えた選択肢は定番の引っかけです。
- 「マージン最大化を基準とするモデルはどれか」→SVM、という手法名との対応づけも確実にしておきましょう。
📚 まとめ
マージン最大化は、決定境界から一番近いデータまでの距離(マージン)を最大にするように境界を決めるSVMの学習基準です。余裕を最大に取った境界は未知データに強く、過学習を抑える効果があります。マージン内側への侵入を一切許さないハードマージンは線形分離可能なデータ向け、ある程度許容するソフトマージンは線形分離不可能・ノイズありのデータ向けです。定義とこの対比を正確に押さえれば、試験問題には十分対応できます。
