首先支持向量机问题:
minβ,β012∥β∥2+C∑i=1Nξis.t.ξi≥0,yi(xiTβ+β0)≥1−ξi,∀i(12.8)\begin{array}{ll} \underset{\beta,\beta_0}{\min}&\;\frac{1}{2}\Vert\beta\Vert^2+C\sum\limits_{i=1}^N\xi_i\\ s.t.& \xi_i\ge 0\;,y_i(x_i^T\beta+\beta_0)\ge 1-\xi_i,\forall i \end{array} \tag{12.8}β,β0mins.t.21∥β∥2+Ci=1∑Nξiξi≥0,yi(xiTβ+β0)≥1−ξi,∀i(12.8)
拉格朗日函数:
LP=12∥β∥2+C∑i=1Nξi−∑i=1Nαi[yi(xiTβ+β0)−(1−ξi)]−∑i=1Nμiξi(12.9)L_P=\frac{1}{2}\Vert\beta\Vert^2+C\sum\limits_{i=1}^N\xi_i-\sum\limits_{i=1}^N\alpha_i[y_i(x_i^T\beta+\beta_0)-(1-\xi_i)]-\sum\limits_{i=1}^{N}\mu_i\xi_i\tag{12.9}LP=21∥β∥2+Ci=1∑Nξi−i=1∑Nαi[yi(xiTβ+β0)−(1−ξi)]−i=1∑Nμiξi(12.9)
先写出KKT条件:
12.10:对β\betaβ求偏导,12.11:对β0\beta_0β0求偏导,12.12:对ϵi\epsilon_iϵi求偏导
β=∑i=1Nαiyixi0=∑i=1Nαiyiαi=C−μi,∀i,\begin{align} \beta&=\sum\limits_{i=1}^N\alpha_iy_ix_i& \tag{12.10}\\ 0&= \sum\limits_{i=1}^N\alpha_iy_i& \tag{12.11}\\ \alpha_i&=C-\mu_i,\;\forall i,& \tag{12.12} \end{align}β0αi=i=1∑Nαiyixi=i=1∑Nαiyi=C−μi,∀i,(12.10)(12.11)(12.12)
αi[yi(xiTβ+β0)−(1−ξi)]=0μiξi=0yi(xiTβ+β0)−(1−ξi)≥0\begin{align} \alpha_i[y_i(x_i^T\beta+\beta_0)-(1-\xi_i)]&=0& \tag{12.14}\\ \mu_i\xi_i&=0& \tag{12.15}\\ y_i(x_i^T\beta+\beta_0)-(1-\xi_i)&\ge 0& \tag{12.16} \end{align}αi[yi(xiTβ+β0)−(1−ξi)]μiξiyi(xiTβ+β0)−(1−ξi)=0=0≥0(12.14)(12.15)(12.16)
KKT条件总结了两种情况:
因此分类可得(注意这里分类的技巧,必须按照约束是否为0进行分类,如果用变量是否为0进行分类,则变量为0时,约束仍然可能为0,需要再次分类):
当ξi=0\xi_i=0ξi=0时,点在边缘上,μ≥0\mu\ge 0μ≥0(12.15),
当ξ>0\xi_>0ξ>0时,点在边缘内侧,不满足原来的约束,μ=0\mu= 0μ=0(12.15)
点在边缘外侧,α=C\alpha=Cα=C,点在边缘内侧α=0\alpha=0α=0,点在边缘上,α\alphaα可能等于0。
根据拉格朗日乘数法:∇f(x)=−αh(x)\nabla f(x)=-\alpha h(x)∇f(x)=−αh(x) ,其中f是目标函数也就是12w2\frac12w^221w2,h是约束,
而α=0\alpha=0α=0时,说明∇f(x)=0\nabla f(x)=0∇f(x)=0,也就是w=0w=0w=0,代入原方程可以得到w=0, b=0,这是我们需要避免的。因此这种情况是不会出现的,换句话说在边缘上的一定是支持向量。