1. 概要

サポートベクターマシンは、分類および回帰を実行するための強力な機械学習方法です。 問題を解決するためにそれを適用したい場合、マージンタイプの選択は重要なものです。 このチュートリアルでは、SVMでハードマージンを使用する場合とソフトマージンを使用する場合の違いを拡大します。

2. SVMにおけるマージンの役割

2つのグループに分類するデータポイントのセットから始めましょう。 これらのデータには、線形分離可能であるか、分離超平面が非線形であるかの2つのケースが考えられます。 データが線形分離可能であり、誤分類が発生したくない場合は、ハードマージンのあるSVMを使用します。 ただし、線形境界が実行可能でない場合、またはより良い一般性を達成することを期待していくつかの誤分類を許可したい場合は、分類器にソフトマージンを選択できます。

2.1. ハードマージンのあるSVM

2つのクラスを分離する超平面が次のように定義されていると仮定しましょう:

次に、2つの平行な超平面によってマージンを定義できます。

   

   

上図の緑と紫の線です。 ハードマージンSVMでの誤分類を許可せずに、2つの超平面間の距離を最大化する必要があります。 この距離を見つけるために、平面からの点の距離の式を使用できます。 したがって、黒い線からの青い点と赤い点の距離は、それぞれ次のようになります。

   

その結果、合計マージンは次のようになります。

   

このマージンを最大化したい。 一般性を失うことなく、私たちは考えることができます。 その後、問題は最大化または最小化することです。 グラデーションを使用するときに問題を簡単にするために、代わりに、その2乗形式で単語を作成します。

   

この最適化にはいくつかの制約があります。 クラスのラベルが{-1、+1}であると仮定しましょう。 データポイントを分類する場合、正のクラスに属するポイントは、より大きく、つまり、負のクラスに属するポイントは、より小さくする必要があります。 .

これらの2つの制約を組み合わせて、次のように表すことができます。 したがって、最適化問題は次のようになります。

   

   

この最適化は主要な問題と呼ばれ、グローバルな最小値を持つことが保証されています。 これは、ラグランジュ乗数()を導入し、それを双対問題に変換することで解決できます。

   

これはSVMのラグランジュ関数と呼ばれ、bに関して微分可能です。

   

   

ラグランジュ関数の第2項でそれらを置き換えることにより、SVMの双対問題が発生します。

   

   

双対問題は、ラグランジュ乗数しかないため、解決が容易です。 また、双対問題がトレーニングデータの内積に依存するという事実は、線形SVMを拡張して非線形境界を学習するときに役立ちます。

2.2. ソフトマージンのあるSVM

ソフトマージンSVMは、いくつかの違いはあるものの、やや類似した最適化手順に従います。 まず、このシナリオでは、誤分類が発生することを許可します。 したがって、誤分類エラーを最小限に抑える必要があります。つまり、もう1つの制約に対処する必要があります。 次に、エラーを最小限に抑えるために、損失関数を定義する必要があります。 ソフトマージンに使用される一般的な損失関数は、ヒンジ損失です。

   

誤分類されたポイントの喪失はスラック変数と呼ばれ、ハードマージンSVMで発生した主要な問題に追加されます。 したがって、ソフトマージンの主な問題は次のようになります。

   

   

新しい正則化パラメーターは、マージンの最大化と損失の最小化の間のトレードオフを制御します。 ご覧のとおり、主な問題とハードマージンの問題の違いは、スラック変数の追加です。 新しいスラック変数(下の図)は、モデルの誤分類に対する柔軟性を追加します。

最後に、双対問題を比較することもできます。

   

   

ご覧のとおり、デュアル形式では、違いはラグランジュ乗数に適用される上限のみです。

3. ハードマージン対。 ソフトマージン

SVMのハードマージンとソフトマージンの違いは、データの分離可能性にあります。 データが線形分離可能である場合、ハードマージンを取ります。 ただし、そうでない場合は、それを実行することはできません。 線形分類器を見つけることが不可能なデータポイントが存在する場合は、より寛大になり、一部のデータポイントを誤って分類する必要があります。 この場合、ソフトマージンSVMが適切です。

データが線形分離可能である場合もありますが、マージンが非常に小さいため、モデルが過剰適合したり、外れ値に敏感になりすぎたりする傾向があります。 また、この場合、モデルをより一般化するために、ソフトマージンSVMを使用してより大きなマージンを選択できます。

4. 結論

このチュートリアルでは、ハードマージンSVMとソフトマージンSVMの違いを明確にすることに焦点を当てました。