SVMに動機を与える方法は少なくとも2つありますが、ここではより簡単な方法をとります。
D={(xi1,xi2,yi)}yi{1,−1}1−1
w0+w1x1+w2x2=0w0+w1x1+w2x2>0w0+w1x1+w2x2<0
[w0,w1,w2]w0+w1xi1+w2xi2≥0xiyi=1w0+w1xi1+w2xi2<0xiyi=−1
そのような行が実際に存在すると仮定すると、次のように分類子を定義できます。
min|w0|+|w1|+|w2|subject to:w0+w1xi1+w2xi2≥0,∀xi with yi=1w0+w1xi1+w2xi2<0,∀xi with yi=−1
上記の任意の目的関数を使用しましたが、現時点では、どの目的関数が使用されるかは問題ではありません。制約を満たすが必要なだけです。2つのクラスをその行で分離できるような行が存在すると想定しているため、上記の最適化問題の解決策が見つかります。w
上記はSVMではありませんが、分類子を提供します:-)。ただし、この分類子はあまり良くない場合があります。しかし、良い分類子をどのように定義しますか?通常、適切な分類子は、テストセットで良好に機能する分類子です。理想的には、トレーニングデータを分離する可能性のあるすべてのを調べ、テストデータでどれがうまく機能するかを確認します。ただし、無限のがあるため、これはまったく絶望的です。代わりに、適切な分類子を定義するためにいくつかのヒューリスティックを検討します。1つの発見的方法は、データを分割する線がすべてのポイントから十分に離れていることです(つまり、ポイントと線の間に常にギャップまたはマージンがあります)。これらの中で最高の分類子は、マージンが最大のものです。これは、SVMで使用されるものです。ww
代わりに、その主張のすべての点に対してととのすべての点については、と、我々はその主張すればすべての点についてととすべての点についてと、それから私たちは実際にはポイントがラインから遠く離れていると主張しています。この要件に対応する幾何学的マージンは。w0+w1xi1+w2xi2≥0xiyi=1w0+w1xi1+w2xi2<0xiyi=−1w0+w1xi1+w2xi2≥1xiyi=1w0+w1xi1+w2xi2≤−1xiyi=−11∥w∥2
したがって、次の最適化問題が得られます:
これを書くのは少し簡潔な形式ですが、
これは基本的にSVMの基本的な定式化です。簡潔にするために、私はかなりの議論をスキップしました。うまくいけば、私はまだアイデアのほとんどをやり遂げた。
max1∥w∥2subject to:w0+w1xi1+w2xi2≥1,∀xi with yi=1w0+w1xi1+w2xi2≤−1,∀xi with yi=−1
min∥w∥2subject to:yi(w0+w1xi1+w2xi2)≥1,∀i
サンプル問題を解決するCVXスクリプト:
A = [1 2 1; 3 2 1; 2 3 1; 3 3 1; 1 1 1; 2 0 1; 2 1 1; 3 1 1];
b = ones(8, 1);
y = [-1; -1; -1; -1; 1; 1; 1; 1];
Y = repmat(y, 1, 3);
cvx_begin
variable w(3)
minimize norm(w)
subject to
(Y.*A)*w >= b
cvx_end
補遺-幾何マージン
上記では、または一般的にようなを探すことをすでに要求しています。ここに表示されるLHSは機能マージンと呼ばれるため、ここで要求したのは機能マージンをです。次に、この機能的マージンの要件を前提として、幾何学的マージンの計算を試みます。wyi(w0+w1x1+w2x2)≥1yi(w0+wTx)≥1≥1
幾何学的マージンとは何ですか?幾何学的マージンは、正の例のポイントと負の例のポイント間の最短距離です。さて、上記の必要な最短距離を持つポイントは、1以上の機能マージンを持つことができます。しかし、それらが超平面に最も近い、つまり、最短ポイントの機能マージンが完全に等しいという極端な場合を考えてみましょう。 to 1.正の例の点とし、となる点とし、負の例の点とし、。今、距離及びなり最短場合x+wTx++w0=1x−wTx−+w0=−1x+x−x+−x− 超平面に垂直です。
ここで、上記のすべての情報を使用して、幾何学的マージンであるを見つけようとします。
∥x+−x−∥2
wTx++w0=1
wTx−+w0=−1
wT(x+−x−)=2
|wT(x+−x−)|=2
∥w∥2∥x+−x−∥2=2
∥x+−x−∥2=2∥w∥2
[1]とどちらを選択するかは、実際には問題ではありません。選択した内容に一貫性を保つ必要があります。1−1