来源:原始 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,ξ,α,β)=21∥w∥2+Ci=1∑nξi+i=1∑nαi(1−ξi−yi(wTxi+b))−i=1∑nβiξi其中 α≥0,β≥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∂L(w,b,ξ,α,β)∂b∂L(w,b,ξ,α,β)∂ξi∂L(w,b,ξ,α,β)=w−i=1∑nαiyixi=−i=1∑nαiyi=C−(αi+βi)分别令其为零,得到:
⎩⎨⎧w0C=i=1∑nαiyixi=i=1∑nαiyi=(αi+βi)将这三个式子带入 L(w,b,ξ,α,β) 有:
L(w,b,ξ,α,β)=21∥w∥2+Ci=1∑nξi+i=1∑nαi(1−ξi−yi(wTxi+b))−i=1∑nβiξi=21wTw+i=1∑n(αi+βi)ξi+i=1∑n(αi−αiξi−αiyiwTxi−αiyib−βiξi)=i=1∑nαi−21wTw=i=1∑nαi−21i=1∑nj=1∑nαiαjyiyjxixj可以看到,参数 β 被消掉了,得到的结果和硬间隔支持向量机是一样的,问题转换为求:
\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}只是约束条件相比硬间隔支持向量机来说,多了 αi≤C,所以有:
s.t.i=1∑nαiyi=0,0≤αi≤C,i=1,2,…,n