最初の問題:最小化または:∥w∥∥w∥2
マージンを最大化したいのは正しいことです。これは実際には最大化することによって行われます。これは「正しい」方法ですが、かなり不便です。は定数なので、まずドロップします。今、もしで最大の、できるだけ小さくする必要があります。したがって、最小化することで、同じ解決策を見つけることができます。2∥w∥21∥w∥∥w∥ ∥w∥
∥w∥で計算できます。平方根は単調関数であるように、任意の点最大限も最大にする。したがって、この点を見つけるために平方根を計算する必要はなく、を最小化できます。wTw−−−−√xf(x)−−−−√f(x)xwTw=∥w∥2
最後に、導関数を計算する必要があることが多いため、式全体に係数を掛けます。、つまりを導出すると、これは非常に頻繁に行われます。これが問題の原因です。最小化するにはます。12ddxx2=2xddx12x2=x12∥w∥2
tl; dr:はい、最小化します代わりにが機能します。∥w∥12∥w∥2
2番目の問題: または:≥0≥1
質問ですでに述べたように、は、点が超平面の正しい側になければならないことを意味します。しかし、これだけでは十分ではありません。点を少なくともマージンと同じくらい遠くにしたい(その場合、点はサポートベクトルです)か、さらに遠くにしたいです。yi(⟨w,xi⟩+b)≥0
超平面の定義を思い出してください、
H={x∣⟨w,x⟩+b=0}。
ただし、この説明は一意ではありませんとを定数でスケーリングすると、この超平面の同等の説明が得られます。私たちの最適化アルゴリズムがとを一定の係数でスケーリングしてより高いマージンを取得することを確実にするために、超平面からのサポートベクトルの距離は常にと定義します。つまり、マージンは。したがって、サポートベクトルはによって特徴付けられます。wbcwb11∥w∥yi(⟨w,xi⟩+b)=1
すでに前述したように、すべての点をサポートベクトルにするか、超平面からさらに遠ざけます。したがって、トレーニングでは、制約を追加します。これにより、正確にそれが保証されます。yi(⟨w,xi⟩+b)≥1
tl; dr:トレーニングポイントは正しい必要があるだけでなく、マージン上またはさらに離れている必要があります。