支持向量机(SVM)例题
已知一个训练数据集,其正样本是 x ( 1 ) = ( 3 , 3 ) ⊤ {\bm x}^{(1)} = (3,3)^\top x(1)=(3,3)⊤, x ( 2 ) = ( 4 , 3 ) ⊤ {\bm x}^{(2)} = (4,3)^\top x(2)=(4,3)⊤,负样本是 x ( 3 ) = ( 1 , 1 ) ⊤ {\bm x}^{(3)} = (1,1)^\top x(3)=(1,1)⊤,试求最大间隔分离超平面。(提示:写出Lagrange函数及其KKT条件,并观察哪个样本不是支持向量)
解答
线性判别函数
f ( x ) = w 1 x 1 + w 2 x 2 + b f({\bm x}) = w_1x_1 + w_2x_2+b f(x)=w1x1+w2x2+b
根据训练数据集构造约束最优化问题:
min w , b 1 2 ( w 1 2 + w 2 2 ) s.t. 3 w 1 + 3 w 2 + b ⩾ 1 4 w 1 + 3 w 2 + b ⩾ 1 − w 1 − w 2 − b ⩾ 1 \begin{array}{l l } \min\limits_{{\bm w},b} &\dfrac{1}{2}(w_1^2 + w_2^2) \\ \text{s.t.} &3w_1 + 3w_2 + b \geqslant 1 \\ &4w_1 + 3w_2 + b \geqslant 1 \\ &-w_1 - w_2 - b \geqslant 1 \end{array} w,bmins.t.21(w12+w22)3w1+3w2+b⩾14w1+3w2+b⩾1−w1−w2−b⩾1
可写成线性方程组,然后就是解方程组的问题
{ w 1 − w 2 = 0 3 w 1 + 3 w 2 + b = 1 − w 1 − w 2 − b = 1 \begin{cases} w_1 - w_2 = 0 \\ 3w_1 + 3w_2 + b = 1 \\ -w_1 - w_2 - b = 1 \end{cases} ⎩ ⎨ ⎧w1−w2=03w1+3w2+b=1−w1−w2−b=1
⇒ { w 1 = 0.5 w 2 = 0.5 b = − 2 \Rightarrow \begin{cases} w_1 = 0.5 \\ w_2 = 0.5 \\ b = -2 \end{cases} ⇒⎩ ⎨ ⎧w1=0.5w2=0.5b=−2
求得此最优化问题的解 w 1 = w 2 = 1 2 w_1 = w_2 = \frac{1}{2} w1=w2=21, b = − 2 b = -2 b=−2。
于是最大间隔分离超平面为
1 2 x 1 + 1 2 x 2 − 2 = 0 \frac{1}{2}x_{1} + \frac{1}{2}x_{2} - 2 = 0 21x1+21x2−2=0
其中, x ( 1 ) = ( 3 , 3 ) ⊤ {\bm x}^{(1)} = (3,3)^\top x(1)=(3,3)⊤ 与 x ( 3 ) = ( 1 , 1 ) ⊤ {\bm x}^{(3)} = (1,1)^\top x(3)=(1,1)⊤ 为支持向量。