来源:原始 Jupyter Notebook。内容已转换为网页阅读格式;下载原文件

上一节我们得到了软间隔支持向量机的基本形式:

\begin{align} &\mathop \min_{w,b} \frac{1}{2}\|w\|^2 + C\sum_{i=1}^n\xi_i \\ &s.t. y_i(w^Tx_i + b) \geq 1 - \xi_i, \xi_i \geq 0, i = 1,2,\dots,n \end{align}

为了求解这个问题,我们也使用 拉格郎日乘子法 将其转换为对偶形式。我们给每一个约束条件加上 拉格朗日乘子,得到 拉格郎日函数

L(w,b,ξ,α,β)=12w2+Ci=1nξi+i=1nαi(1ξiyi(wTxi+b))i=1nβiξi \begin{align} L(w,b,\xi,\alpha,\beta) = & \frac{1}{2}\|w\|^2 + C\sum_{i=1}^n\xi_i \\ & + \sum_{i=1}^n \alpha_i (1-\xi_i-y_i(w^Tx_i+b)) - \sum_{i=1}^n \beta_i\xi_i \end{align}

其中 α0,β0\alpha \geq 0, \beta \geq 0 是拉格郎日乘子。

和硬间隔支持向量机的优化目标一样:

\mathop \min_{w,b,\xi} \mathop \max_{\alpha,\beta} L(w,b,\xi,\alpha,\beta)

转换为对偶问题:

\mathop \max_{\alpha,\beta} \mathop \min_{w,b,\xi} L(w,b,\xi,\alpha,\beta)

所以,我们对 w,b,ξw, b, \xi 分别求偏导:

{L(w,b,ξ,α,β)w=wi=1nαiyixiL(w,b,ξ,α,β)b=i=1nαiyiL(w,b,ξ,α,β)ξi=C(αi+βi) \left\{ \begin{align} \frac{\partial L(w,b,\xi,\alpha,\beta)}{\partial w} &= w - \sum_{i=1}^n\alpha_iy_ix_i \\ \frac{\partial L(w,b,\xi,\alpha,\beta)}{\partial b} &= -\sum_{i=1}^n \alpha_iy_i \\ \frac{\partial L(w,b,\xi,\alpha,\beta)}{\partial \xi_i} &= C - (\alpha_i + \beta_i) \end{align} \right .

分别令其为零,得到:

{w=i=1nαiyixi0=i=1nαiyiC=(αi+βi) \left\{ \begin{align} w &= \sum_{i=1}^n\alpha_iy_ix_i \\ 0 &= \sum_{i=1}^n \alpha_iy_i \\ C &= (\alpha_i + \beta_i) \\ \end{align} \right .

将这三个式子带入 L(w,b,ξ,α,β)L(w,b,\xi,\alpha,\beta) 有:

L(w,b,ξ,α,β)=12w2+Ci=1nξi+i=1nαi(1ξiyi(wTxi+b))i=1nβiξi=12wTw+i=1n(αi+βi)ξi+i=1n(αiαiξiαiyiwTxiαiyibβiξi)=i=1nαi12wTw=i=1nαi12i=1nj=1nαiαjyiyjxixj \begin{align} L(w,b,\xi,\alpha,\beta) &= \frac{1}{2}\|w\|^2 + C\sum_{i=1}^n\xi_i + \sum_{i=1}^n \alpha_i (1-\xi_i-y_i(w^Tx_i+b)) - \sum_{i=1}^n \beta_i\xi_i \\ &= \frac{1}{2}w^Tw + \sum_{i=1}^n(\alpha_i+\beta_i)\xi_i + \sum_{i=1}^n(\alpha_i-\alpha_i\xi_i-\alpha_iy_iw^Tx_i-\alpha_iy_ib-\beta_i\xi_i) \\ &= \sum_{i=1}^n\alpha_i - \frac{1}{2}w^Tw \\ &= \sum_{i=1}^n \alpha_i - \frac{1}{2} \sum_{i=1}^n \sum_{j=1}^n \alpha_i \alpha_j y_i y_j x_i x_j \\ \end{align}

可以看到,参数 β\beta 被消掉了,得到的结果和硬间隔支持向量机是一样的,问题转换为求:

\begin{align} \mathop \max_{\alpha,\beta} \mathop \min_{w,b} L(w,b,\xi,\alpha,\beta) &= \mathop \max_{\alpha,\beta} \sum_{i=1}^n \alpha_i - \frac{1}{2} \sum_{i=1}^n \sum_{j=1}^n \alpha_i \alpha_j y_i y_j x_i x_j \\ \end{align}

转换符号有:

\begin{align} \mathop \min_{\alpha} \frac{1}{2} \sum_{i=1}^n \sum_{j=1}^n \alpha_i \alpha_j y_i y_j x_i x_j - \sum_{i=1}^n \alpha_i\\ \end{align}

只是约束条件相比硬间隔支持向量机来说,多了 αiC\alpha_i \leq C,所以有:

s.t.i=1nαiyi=0,0αiC,i=1,2,,n s.t. \sum_{i=1}^n \alpha_i y_i = 0, 0 \leq \alpha_i \leq C, i = 1,2,\dots,n