サポートベクターマシン機械学習

ソフトマージン

そふとまーじん · Soft Margin
4 views

ソフトマージンとは、機械学習のサポートベクターマシン(SVM)において、データの一部が境界線を越えて誤分類されることを許容する手法です。ノイズの多い現実のデータに対しても、過学習を防ぎながら汎用性の高い決定境界を構築できます。許容度を調整するハイパーパラメータにより、モデルの複雑さと予測精度のバランスを制御します。

ソフトマージンとは

ソフトマージンは、サポートベクターマシン(SVM)において、すべてのデータが完璧に分類できない場合に、一部の誤分類や境界への侵入を許容することで、実用的で頑健な決定境界を引くための手法です。

詳しく解説

サポートベクターマシン(SVM)は、データ群を最適に分割する境界(超平面)を見つけるアルゴリズムです。初期の「ハードマージン」と呼ばれる手法では、データを完全に2つに分類できることを前提としており、ノイズや外れ値が含まれる現実のデータでは境界線が引けなかったり、極端に複雑になって過学習を起こしたりする課題がありました。この問題を解決するために導入されたのがソフトマージンです。ソフトマージンでは、「スラック変数」と呼ばれる誤差を許容する変数を導入し、境界線の幅(マージン)をできるだけ広く保ちつつ、誤分類によるペナルティ(損失)を最小限に抑えるというトレードオフの最適化問題を解きます。このトレードオフの強さは、ハイパーパラメータ「C」によって調整されます。Cの値が大きいほど誤分類を許さず(ハードマージンに近づく)、Cの値が小さいほど誤分類を広く許容してシンプルな境界線を作成します。これにより、ノイズに強く未学習のデータに対しても高い予測精度(汎化性能)を持つモデルの構築が可能になります。

具体例・使われ方

例えば、健康な人のデータと病気のある人のデータから疾患予測モデルを作る際、少数の「健康だが一時的に数値が異常な人」や「病気だが数値が正常な人」といった外れ値が存在します。ハードマージンではこれらを完璧に分けようとして極端に複雑な境界線が作られますが、ソフトマージンを適用することで、これら少数の例外を許容し、全体として最も信頼性の高いシンプルな境界線を引くことができます。

似た用語との違い

混同されやすい概念として「ハードマージン」があります。ハードマージンは、いかなる誤分類も許容せず、すべてのデータを完全に二分する境界線を引く手法です。データが線形分離不可能(完全に分けられない状態)である場合、ハードマージンではモデルを構築できません。また、ノイズに対して非常に脆弱で、過学習を起こしやすいという違いがあります。これに対して、ソフトマージンは線形分離不可能なデータに対しても適用可能であり、一部の誤分類を許容することで過学習を防ぎます。

注意点

ソフトマージンを使用する際は、ハイパーパラメータ「C」の調整(チューニング)が極めて重要です。Cの設定を誤ると、モデルが過学習(Cが大きすぎる場合)または未学習(Cが小さすぎる場合)に陥ります。適切なCの値を決定するためには、クロスバリデーション(交差検証)などの手法を用いて慎重に評価を行う必要があります。また、ソフトマージンを用いても、データ全体の分布が極めて複雑な場合は、カーネル法など他のアプローチと組み合わせる必要があります。

更新日時: 2026年9月2日 01:01