ハードマージン
2値分類について考えます。
訓練データがの個の入力ベクトルと
それぞれに対応する目標値からなり、
未知のデータ点はの符号について分類されるとします。
訓練データは特徴空間で線形分離可能と仮定します。
分類境界と最も近いデータ点までの距離をマージンと言います。
イメージ図を以下に示します。
SVM(サポートベクトルマシン)においては、分類境界はマージンを最大化するものが選ばれます。
分類関数がである点については、
である点についてはが成立すると仮定します。
これらの条件はまとめてと書けます。
主問題
分離境界から点までの距離は以下のように書けます。
マージンは訓練データと分類境界の最短距離であるので
と表せます。
イメージは以下の図です。
求めたいのはマージンを最大化するです。
したがって、解は次の最適化問題を解くことで得られます。
を定数倍しても、点から分類境界までのまでの距離は変わりません。
この事を以下で示します。
よって、を適当に定数倍することによって、分類境界に最も近い点について
を成立させることができます。
また、すべてのデータについて以下の制約式が成り立ちます。
最適化問題を書き直すと、
となり、さらに書き直すと
となります。
のにも含まれていますが、
これは制約条件を満たすためにが変化すると、も変化する必要があるためです。
双対問題
は主問題と言います。
この主問題は二次計画法の一例で凸計画法の一種です。
二次計画法とは線形不等式系で与えられる制約条件の下で二次関数を最小化する問題のことです。
不等式制約のラグランジュ未定乗数法を用いて双対問題に置き換えます。
双対問題に置き換えることにより、カーネルが利用できるようなり、最適化問題が解きやすくなります。
ここで、です。
を主変数、を双対変数と言います。
を主変数について最小化し、双対変数について最大化することに双対問題を導出します。
ラグランジュ関数について、次のような不等式を満たすようなが存在するとき、
この点を鞍点といいます。
鞍点とはについては最小値となり、については最大値となる点です。
凸計画問題において鞍点が最適解を与えることが知られています。(強双対性から導けます。)
(詳細については「機械学習プロフェッショナルシリーズ サポートベクトルマシン」を参照してください。)
以下のように鞍点を求めます。
1: を主変数について最小化します。
この時のをとおきます。
2: 次にを双対変数について最大化します。
以下はイメージ図です。
をで微分してとおきます。
をで微分してとおきます。
にを代入します。
よって、より双対問題は以下のようになります。
サポートベクトル
より、決定関数は以下のようになります。
KKT条件より、
となる点はとなるため、予測と関係ないことが分かります。
それ以外のの点はサポートベクトルと呼ばれます。
は回足していますが、実はサポートベクトル以外は足す必要がないことが分かります。
バイアスパラメータの導出
が求まると、次にを求めることができます。
任意のサポートベクトルはであるので、
です。
はサポートベクトルの添え字からなる集合です。
からが求まりますが、
数値誤差の影響を減らすために全てのサポートベクトルに対して、
平均を求めることによってを求めることが多いようです。
はサポートベクトルの総数です。
次の記事でを求めようと思います。お待ちください。
偉人の名言
君がどんなに遠い夢を見ても、君自身が可能性を信じる限り、それは手の届くところにある。
ヘルマン・ヘッセ
動画
記事作成前に作成した動画なので、記事とは内容が異なる可能性があります。