ソフトマージンとは

そふとまーじんsoft margin別名 ソフトマージンSVM

1行定義

ソフトマージンとは、SVMで一部のデータがマージンの内側に入ることや誤分類を許し、その度合いに罰を与えながらマージンを広く取る方法のことです。

くわしく

ソフトマージンは、サポートベクターマシン(SVM)を現実のデータで使うための工夫です。シラバスのキーワードには含まれていませんが、マージン最大化を理解するうえで欠かせない考え方です。

ハードマージンの限界

SVMは、クラスを分ける境界と、境界に最も近いデータとの距離(マージン)が最大になるように境界を決めます。このとき、すべての学習データを誤りなく分けることを求める方式を、ハードマージンといいます。

しかし現実のデータには、ラベルの誤りや外れ値が含まれます。そもそも直線(高次元では超平面)では分けきれないことも多く、その場合ハードマージンでは境界が求まりません。外れ値が1件あるだけで、境界がそちらへ大きく引き寄せられることもあります。

はみ出しを許して罰を与える

ソフトマージンでは、各データがマージンの内側にどれだけ入り込んだかを表す変数(スラック変数)を導入します。そして、「マージンを広く取ること」と「はみ出しの合計を小さくすること」のバランスをとります。このバランスを決めるのが、ハイパーパラメータCです。

  • Cを大きくする:はみ出しへの罰が重くなり、学習データを正しく分けることを優先する。マージンは狭くなり、過学習しやすい。
  • Cを小さくする:はみ出しをある程度許して、マージンを広く取る。境界はなめらかになるが、小さくしすぎると学習不足になる。

Cを極端に大きくすると、ハードマージンに近づきます。

位置づけ

ソフトマージンは、1995年のコルテスとヴァプニクの論文で導入されました。カーネルトリックと組み合わせて使うのが一般的です。誤差関数の見方をすると、ヒンジ損失にL2正則化を加えたものを最小化する問題と同じ形になります。Cの値は、交差検証などで検証データの性能を見ながら決めます。

G検定での出題

シラバスのキーワードではなく、マージン最大化とサポートベクターマシン(SVM)の背景知識として扱われます。ハードマージンとの違いや、パラメータCの大小とマージンの広さ、過学習の関係が問われます。

◯×チェック

  1. ソフトマージンのSVMでは、マージンの内側に入ったデータや誤分類されたデータも、境界の位置を決めるサポートベクターに含まれる。

    答えを見る

    答え ◯ 正しい

    マージンの境目の上にあるデータに加えて、はみ出したデータも境界の位置に影響します。マージンの外側で正しく分類されたデータは影響しません。

  2. ソフトマージンは線形のSVMのための方法であり、カーネルトリックを使った非線形のSVMと組み合わせることはできない。

    答えを見る

    答え × 誤り

    実際に使われるSVMの多くは、カーネルトリックとソフトマージンを組み合わせています。RBFカーネルのSVMでも、パラメータCで罰の強さを調整します。

  3. データに外れ値が含まれるとき、すべての学習データを正しく分けることを求めるハードマージンでは、1件の外れ値に引きずられて境界が大きく動くことがある。

    答えを見る

    答え ◯ 正しい

    ハードマージンでは、外れ値も含めて正しく分けなければなりません。外れ値が相手のクラスの近くにあると、マージンが極端に狭くなります。

練習問題

ソフトマージンの問題(2問)
  1. SVMのマージンとカーネル
  2. SVMの過学習とハイパーパラメータ

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

公開日: 最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術7

改訂履歴

表示設定

テーマ
文字の大きさ
問題演習