サポートベクトルは必ず1個以上存在

「統計的機械学習の数理」の8章(サポートベクトルマシン)3節と同じ議論は、“The Elements of Statistical Learning”やBishop本(“Pattern Recognition and Machine Learning”)でもされていますが、yi(β0+xiβ)=1なるiが少なくとも1個存在する理由について書かれていません。拙書で記載したのですが、よく検討したら誤っていました。直感的には、「サポートベクトルが存在しないとマージンをもっと大きくできる」が正解ですが、それを数学的にしかも短く書けないかと思っていました。

まず、y1,,yNがすべて等しいということはないと仮定します。この仮定は一般的です。すべて等しい場合は、マージンが存在しません。

その上で、A={i|yi(β0+xiβ)>1}, B={i|yi(β0+xiβ)<1}の和集合が{1,,N}であるとして、矛盾を導きます。ただし、Bが空集合でAばかりの場合はβ=0となり、yiβ0>1がすべてのiAで成立することを意味し、仮定と矛盾します。そこで、以下では、Bが空集合ではないと仮定します。

まず、(8.18), (8.19)がそれぞれβ=CiByixi iByi=0 (8.16)でi=1,,N に関して和を取ると、iAについてαi=0であるので、CiB{yi(β0+xiβ)(1ϵi)}=0であり、上の2式を代入すると、ββ=CiB(1ϵi)が成立します。それらを(8.3)に代入すると、LP=C{12iB(1ϵi)+iAϵi+N}となります。ここで、iAでは(8.17)よりϵi=0iBでは(8.14)よりϵi>0となります。このことは、集合A,Bの要素を変えない範囲で、iBϵiのどれかを小さくすれば、LPの値をさらに小さくでき、最適性と矛盾します。したがって、AB{1,,N}が成立します。

いずれの場合でも、yi(β0+xiβ)=1なるiが1個は存在します。