机器学习12——支持向量机中
支持向量机中
拉格朗日对偶方法(Lagrange Duality)
初始问题(Primal form)
目标是:
minw,b12∥w∥2
\min_{\mathbf{w}, b} \quad \frac{1}{2} \|\mathbf{w}\|^2
w,bmin21∥w∥2
约束条件:
yi(wTxi+b)≥1,∀i=1,…,l
y_i(\mathbf{w}^T \mathbf{x}_i + b) \geq 1, \quad \forall i = 1, \dots, l
yi(wTxi+b)≥1,∀i=1,…,l
引入拉格朗日乘子法(Lagrangian)
这是一个典型的带有不等式约束的优化问题,我们引入拉格朗日函数:
定义拉格朗日函数(Lagrangian):
L(w,b;λ)=12∥w∥2−∑i=1lλi[yi(wTxi+b)−1]
L(\mathbf{w}, b; \boldsymbol{\lambda}) = \frac{1}{2}\|\mathbf{w}\|^2 - \sum_{i=1}^{l} \lambda_i\left[y_i(\mathbf{w}^T \mathbf{x}_i + b) - 1\right]
L(w,b;λ)=21∥w∥2−i=1∑lλi[yi(wTxi+b)−1]
为什么可以把原问题变成:
minw,bmaxα≥0L(w,b,α) \min_{w,b} \max_{\alpha \ge 0} L(w, b, \alpha) w,bminα≥0maxL(w,b,α)
这是凸优化中的鞍点问题(Saddle Point)。原因有两个:
- 函数关于 w,bw,bw,b 是凸的,因为 ∣w∣2|w|^2∣w∣2 是一个凸函数;
- 函数关于 α\alphaα 是线性的,也就是说关于 α\alphaα 是凹的(线性函数既是凸也是凹);
所以这个问题是一个凸-凹问题(convex-concave problem),满足一些条件(例如Slater条件)后,就满足所谓的强对偶性(后面再讲)。
于是,原问题(有约束)可以等价写成一个无约束的 min-max 问题。
其中每个 λi≥0\lambda_i \geq 0λi≥0 是拉格朗日乘子。我们需要Minimize it w.r.t w&b\mathbf{w} \& \mathbf{b}w&b, while maximize it w.r.t. Λ\LambdaΛ. 这是一个minmax问题。
带不等式约束的拉格朗日乘子法见附录
min-max问题见附录
根据min-max和max-min相等的成立条件:
我们将min-max问题转化为max-min问题:
minw,bmaxα≥0L(w,b,α)⇒maxα≥0minw,bL(w,b,α)
\min_{w,b} \max_{\alpha \ge 0} L(w, b, \alpha)
\Rightarrow
\max_{\alpha \ge 0} \min_{w,b} L(w, b, \alpha)
w,bminα≥0maxL(w,b,α)⇒α≥0maxw,bminL(w,b,α)
Maximize L(w∗,b∗;Λ) Subject to ∇w,bL(w,b;Λ)=0λi≥0,i=1, K,l \begin{array}{cl} \text { Maximize } & L\left(\mathbf{w}^*, b^* ; \Lambda\right) \\ \text { Subject to } & \nabla_{\mathrm{w}, b} L(\mathbf{w}, b ; \Lambda)=\mathbf{0} \\ & \lambda_i \geq 0, \quad i=1, \mathrm{~K}, l \end{array} Maximize Subject to L(w∗,b∗;Λ)∇w,bL(w,b;Λ)=0λi≥0,i=1, K,l
max在外层,min在内层,因此我们需要先求内层导数,得到最小值,再带入式子求外层的最大值。
为什么可以交换 min\minmin 和 max\maxmax 的顺序?
这就用到了凸优化中的强对偶性理论:
- 弱对偶性总是成立:minmax≥maxmin\min \max \ge \max \minminmax≥maxmin
- 强对偶性在满足一定条件(凸性 + Slater 条件)时成立:minmax=maxmin\min \max = \max \minminmax=maxmin
SVM满足这些条件,所以我们可以安全地交换顺序。
求偏导数得到最优解:
L(w,b;Λ)=12∥w∥2−∑i=1lλiyi(wTxi+b)+∑i=1lλi∇wL(w,b;Λ)=w−∑i=1lλiyixi=0⟶w∗=∑i=1lλiyixi∇bL(w,b;Λ)=∑i=1lλiyi=0⟶∑i=1lλiyi=0 \begin{gathered} L(\mathbf{w}, b ; \Lambda)=\frac{1}{2}\|\mathbf{w}\|^2-\sum_{i=1}^l \lambda_i y_i\left(\mathbf{w}^T \mathbf{x}_i+b\right)+\sum_{i=1}^l \lambda_i \\ \nabla_{\mathrm{w}} L(\mathbf{w}, b ; \Lambda)=\mathbf{w}-\sum_{i=1}^l \lambda_i y_i \mathbf{x}_i=\mathbf{0} \quad \longrightarrow \quad \mathbf{w}^*=\sum_{i=1}^l \lambda_i y_i \mathbf{x}_i \\ \nabla_b L(\mathbf{w}, b ; \Lambda)=\sum_{i=1}^l \lambda_i y_i=0 \quad \longrightarrow \quad \sum_{i=1}^l \lambda_i y_i=0 \end{gathered} L(w,b;Λ)=21∥w∥2−i=1∑lλiyi(wTxi+b)+i=1∑lλi∇wL(w,b;Λ)=w−i=1∑lλiyixi=0⟶w∗=i=1∑lλiyixi∇bL(w,b;Λ)=i=1∑lλiyi=0⟶i=1∑lλiyi=0
构建对偶问题(Dual Problem)
将 w∗\mathbf{w}^*w∗ 代入原始拉格朗日函数,得到一个只与 λi\lambda_iλi 有关的函数:
L(w∗,b∗;Λ)=12(∑i=1lλiyixi)T∑i=1lλiyixi−(∑i=1lλiyixi)T∑i=1lλiyixi−b∑i=1lλiyi+∑i=1lλi=∑i=1lλi−12(∑i=1lλiyixi)T∑i=1lλiyixi=∑i=1lλi−12∑i=1l∑j=1lλiλjyiyj<xixj>
\begin{aligned}
L\left(\mathbf{w}^*, b^* ; \Lambda\right) & =\frac{1}{2}\left(\sum_{i=1}^l \lambda_i y_i \mathbf{x}_i\right)^T \sum_{i=1}^l \lambda_i y_i \mathbf{x}_i-\left(\sum_{i=1}^l \lambda_i y_i \mathbf{x}_i\right)^T \sum_{i=1}^l \lambda_i y_i \mathbf{x}_i-b \sum_{i=1}^l \lambda_i y_i+\sum_{i=1}^l \lambda_i \\
& =\sum_{i=1}^l \lambda_i-\frac{1}{2}\left(\sum_{i=1}^l \lambda_i y_i \mathbf{x}_i\right)^T \sum_{i=1}^l \lambda_i y_i \mathbf{x}_i \\
& =\sum_{i=1}^l \lambda_i-\frac{1}{2} \sum_{i=1}^l \sum_{j=1}^l \lambda_i \lambda_j y_i y_j<\mathbf{x}_i \mathbf{x}_j>
\end{aligned}
L(w∗,b∗;Λ)=21(i=1∑lλiyixi)Ti=1∑lλiyixi−(i=1∑lλiyixi)Ti=1∑lλiyixi−bi=1∑lλiyi+i=1∑lλi=i=1∑lλi−21(i=1∑lλiyixi)Ti=1∑lλiyixi=i=1∑lλi−21i=1∑lj=1∑lλiλjyiyj<xixj>
对偶目标函数:
L(w∗,b;λ)=∑i=1lλi−12∑i=1l∑j=1lλiλjyiyj⟨xi,xj⟩
L(\mathbf{w}^*, b; \boldsymbol{\lambda}) = \sum_{i=1}^{l} \lambda_i - \frac{1}{2} \sum_{i=1}^{l} \sum_{j=1}^{l} \lambda_i \lambda_j y_i y_j \langle \mathbf{x}_i, \mathbf{x}_j \rangle
L(w∗,b;λ)=i=1∑lλi−21i=1∑lj=1∑lλiλjyiyj⟨xi,xj⟩
即我们要最大化:
maxλF(λ)=∑i=1lλi−12∑i=1l∑j=1lλiλjyiyj⟨xi,xj⟩
\max_{\boldsymbol{\lambda}} \quad F(\boldsymbol{\lambda}) = \sum_{i=1}^{l} \lambda_i - \frac{1}{2} \sum_{i=1}^{l} \sum_{j=1}^{l} \lambda_i \lambda_j y_i y_j \langle \mathbf{x}_i, \mathbf{x}_j \rangle
λmaxF(λ)=i=1∑lλi−21i=1∑lj=1∑lλiλjyiyj⟨xi,xj⟩
对偶问题的约束条件:
λi≥0,∑i=1lλiyi=0
\lambda_i \geq 0,\quad \sum_{i=1}^{l} \lambda_i y_i = 0
λi≥0,i=1∑lλiyi=0
这是一个凸二次规划问题,具有全局最优解。
最终解的表达
将 w∗\mathbf{w}^*w∗ 和 ∑λiyi=0\sum \lambda_i y_i = 0∑λiyi=0 代入 LLL,消去 w\mathbf{w}w 和 bbb:
L(w∗,b∗,Λ)=12∥∑i=1lλiyixi∥2−∑i=1lλiyi((∑j=1lλjyjxj)Txi+b)+∑i=1lλi
L(\mathbf{w}^*, b^*, \Lambda) = \frac{1}{2} \left\| \sum_{i=1}^l \lambda_i y_i \mathbf{x}_i \right\|^2 - \sum_{i=1}^l \lambda_i y_i \left( \left( \sum_{j=1}^l \lambda_j y_j \mathbf{x}_j \right)^T \mathbf{x}_i + b \right) + \sum_{i=1}^l \lambda_i
L(w∗,b∗,Λ)=21i=1∑lλiyixi2−i=1∑lλiyi(j=1∑lλjyjxj)Txi+b+i=1∑lλi
利用 ∑λiyi=0\sum \lambda_i y_i = 0∑λiyi=0,含 bbb 的项消失,化简后:
L(Λ)=∑i=1lλi−12∑i=1l∑j=1lλiλjyiyjxiTxj
L(\Lambda) = \sum_{i=1}^l \lambda_i - \frac{1}{2} \sum_{i=1}^l \sum_{j=1}^l \lambda_i \lambda_j y_i y_j \mathbf{x}_i^T \mathbf{x}_j
L(Λ)=i=1∑lλi−21i=1∑lj=1∑lλiλjyiyjxiTxj
对偶问题的形式
最大化 L(Λ)L(\Lambda)L(Λ) 受限于 λi≥0\lambda_i \geq 0λi≥0 和 ∑λiyi=0\sum \lambda_i y_i = 0∑λiyi=0:
maxΛ(∑i=1lλi−12∑i,jλiλjyiyjxiTxj)s.t.λi≥0,∑i=1lλiyi=0
\max_{\Lambda} \left( \sum_{i=1}^l \lambda_i - \frac{1}{2} \sum_{i,j} \lambda_i \lambda_j y_i y_j \mathbf{x}_i^T \mathbf{x}_j \right) \quad \text{s.t.} \quad \lambda_i \geq 0, \quad \sum_{i=1}^l \lambda_i y_i = 0
Λmax(i=1∑lλi−21i,j∑λiλjyiyjxiTxj)s.t.λi≥0,i=1∑lλiyi=0
写成矩阵形式(定义格拉姆矩阵 Dij=yiyjxiTxjD_{ij} = y_i y_j \mathbf{x}_i^T \mathbf{x}_jDij=yiyjxiTxj):
maxΛ(ΛT1−12ΛTDΛ)
\max_{\Lambda} \left( \Lambda^T \mathbf{1} - \frac{1}{2} \Lambda^T D \Lambda \right)
Λmax(ΛT1−21ΛTDΛ)
如何求解 λ\lambdaλ?
这是一个带线性约束的二次规划(QP)问题,常用解法包括:
(1)序列最小优化(SMO)算法
- 每次选择两个变量 λi\lambda_iλi 和 λj\lambda_jλj,固定其他变量,解析求解子问题。
- 通过反复迭代满足 KKT 条件(例如,λi=0\lambda_i = 0λi=0 对应非支持向量,λi>0\lambda_i > 0λi>0 对应支持向量)。
(2)数值优化方法
- 使用梯度上升法或内点法求解,但需处理约束 λi≥0\lambda_i \geq 0λi≥0 和 ∑λiyi=0\sum \lambda_i y_i = 0∑λiyi=0。
(3)KKT 条件
解需满足以下条件:
{λi≥0,yi(wTxi+b)−1≥0,λi(yi(wTxi+b)−1)=0.
\begin{cases} \lambda_i \geq 0, \\ y_i (\mathbf{w}^T \mathbf{x}_i + b) - 1 \geq 0, \\ \lambda_i \left( y_i (\mathbf{w}^T \mathbf{x}_i + b) - 1 \right) = 0. \end{cases}
⎩⎨⎧λi≥0,yi(wTxi+b)−1≥0,λi(yi(wTxi+b)−1)=0.
- 支持向量:λi>0\lambda_i > 0λi>0 对应的样本点满足 yi(wTxi+b)=1y_i (\mathbf{w}^T \mathbf{x}_i + b) = 1yi(wTxi+b)=1(位于间隔边界上)。
- 非支持向量:λi=0\lambda_i = 0λi=0,对模型无贡献。
对于带不等式约束的凸优化问题,最优解必须满足 KKT 条件:
原始可行性(Primal Feasibility):
yi(wTxi+b)−1≥0,∀i y_i (\mathbf{w}^T \mathbf{x}_i + b) - 1 \geq 0, \quad \forall i yi(wTxi+b)−1≥0,∀i对偶可行性(Dual Feasibility):
λi≥0,∀i \lambda_i \geq 0, \quad \forall i λi≥0,∀i梯度为零(Stationarity):
∇wL=0和∇bL=0 \nabla_{\mathbf{w}} L = 0 \quad \text{和} \quad \nabla_b L = 0 ∇wL=0和∇bL=0互补松弛(Complementary Slackness):
λi(yi(wTxi+b)−1)=0,∀i \lambda_i \left( y_i (\mathbf{w}^T \mathbf{x}_i + b) - 1 \right) = 0, \quad \forall i λi(yi(wTxi+b)−1)=0,∀i
解得 λi∗\lambda_i^*λi∗ 后,我们可以得到:
-
权重向量:
w∗=∑i=1lλi∗yixi \mathbf{w}^* = \sum_{i=1}^{l} \lambda_i^* y_i \mathbf{x}_i w∗=i=1∑lλi∗yixi -
偏置 b∗b^*b∗:
对于任意满足 0<λi∗<C0 < \lambda_i^* < C0<λi∗<C 的支持向量(iii 是支持向量),我们有:
b∗=yi−w∗Txi b^* = y_i - \mathbf{w}^{*T} \mathbf{x}_i b∗=yi−w∗Txi
SVM 分类决策函数
在支持向量机(SVM)中,最终的分类决策函数可以表示为:
f(x)=sgn(∑λi∗≠0λi∗yi⟨xi,x⟩+b∗)
f(\mathbf{x}) = \text{sgn}\left( \sum_{\lambda_i^* \neq 0} \lambda_i^* y_i \langle \mathbf{x}_i, \mathbf{x} \rangle + b^* \right)
f(x)=sgnλi∗=0∑λi∗yi⟨xi,x⟩+b∗
其中:
- λi∗\lambda_i^*λi∗ 是拉格朗日乘子的最优解(仅对支持向量非零)。
- yiy_iyi 是支持向量的标签(+1+1+1 或 −1-1−1)。
- ⟨xi,x⟩\langle \mathbf{x}_i, \mathbf{x} \rangle⟨xi,x⟩ 是支持向量 xi\mathbf{x}_ixi 和新样本 x\mathbf{x}x 的内积(相似性度量)。
- b∗b^*b∗ 是偏移项(bias)。
分类过程详解
(1) 计算新样本与支持向量的相似性
⟨xi,x⟩=xiTx
\langle \mathbf{x}_i, \mathbf{x} \rangle = \mathbf{x}_i^T \mathbf{x}
⟨xi,x⟩=xiTx
- 这是 点积(内积),衡量 x\mathbf{x}x 与支持向量 xi\mathbf{x}_ixi 的相似性。
- 在核函数扩展中,可以替换为 K(xi,x)K(\mathbf{x}_i, \mathbf{x})K(xi,x)(如高斯核、多项式核)。
(2) 加权求和
∑λi∗≠0λi∗yi⟨xi,x⟩
\sum_{\lambda_i^* \neq 0} \lambda_i^* y_i \langle \mathbf{x}_i, \mathbf{x} \rangle
λi∗=0∑λi∗yi⟨xi,x⟩
- 每个支持向量 xi\mathbf{x}_ixi 的贡献由其 拉格朗日乘子 λi∗\lambda_i^*λi∗ 和 标签 yiy_iyi 加权。
- 相似性越高(⟨xi,x⟩\langle \mathbf{x}_i, \mathbf{x} \rangle⟨xi,x⟩ 越大),且 λi∗yi\lambda_i^* y_iλi∗yi 越大,对分类的影响越大。
(3) 加上偏移项 b∗b^*b∗
b∗=yk−w∗Txk(任选一个支持向量 xk 计算)
b^* = y_k - \mathbf{w}^{*T} \mathbf{x}_k \quad \text{(任选一个支持向量 \(\mathbf{x}_k\) 计算)}
b∗=yk−w∗Txk(任选一个支持向量 xk 计算)
yk(wTxk+b)=1→yk2(wTxk+b)−yk→(wTxk+b)−yk⇒b=yk−wTxk \begin{aligned} & y_k\left(\boldsymbol{w}^T \boldsymbol{x}_k+b\right)=1 \\ & \rightarrow y_k^2\left(\boldsymbol{w}^T \boldsymbol{x}_k+b\right)-y_k \\ & \rightarrow\left(\boldsymbol{w}^T \boldsymbol{x}_k+b\right)-y_k \\ & \Rightarrow b=y_k-\boldsymbol{w}^T \boldsymbol{x}_k \end{aligned} yk(wTxk+b)=1→yk2(wTxk+b)−yk→(wTxk+b)−yk⇒b=yk−wTxk
- 由于 yky_kyk∈{−1,+1},其平方为 1,即yk2=1y_k^2=1yk2=1。
- 确保决策超平面正确偏移,使得支持向量满足 yi(w∗Txi+b∗)=1y_i (\mathbf{w}^{*T} \mathbf{x}_i + b^*) = 1yi(w∗Txi+b∗)=1。
(4) 符号函数 sgn(⋅)\text{sgn}(\cdot)sgn(⋅)
sgn(z)={+1if z>0,−1if z<0.
\text{sgn}(z) = \begin{cases} +1 & \text{if } z > 0, \\ -1 & \text{if } z < 0. \end{cases}
sgn(z)={+1−1if z>0,if z<0.
- 最终输出 +1+1+1 或 −1-1−1,表示分类结果。
直观解释
(1) 支持向量的作用
- 决策边界仅由支持向量决定,其他样本不影响分类。
- 支持向量是离决策超平面最近的样本,决定了最大间隔。
(2) 相似性度量
- ⟨xi,x⟩\langle \mathbf{x}_i, \mathbf{x} \rangle⟨xi,x⟩ 衡量新样本 x\mathbf{x}x 与支持向量 xi\mathbf{x}_ixi 的相似性。
- 如果 x\mathbf{x}x 与某个支持向量 xi\mathbf{x}_ixi 高度相似(内积大),且 yi=+1y_i = +1yi=+1,则倾向于分类为 +1+1+1。
(3) 稀疏性
- 由于大多数 λi∗=0\lambda_i^* = 0λi∗=0,SVM 的预测仅依赖少量支持向量,计算高效。
线性支持向量机(Linear SVM)—— 非线性可分情况
松弛变量 ξi\xi_iξi 的作用
wxi+b≥+1−ξi for yi=+1wxi+b≤−1+ξi for yi=−1≡yi(wxi+b)−1+ξi≥0∀iξi≥0∀i \begin{aligned} & \quad \mathbf{w} \mathbf{x}_i+b \geq+1-\xi_i \text { for } y_i=+1 \\ & \quad \mathbf{w} \mathbf{x}_i+b \leq-1+\xi_i \text { for } y_i=-1 \\ & \equiv y_i\left(\mathbf{w} \mathbf{x}_i+b\right)-1+\xi_i \geq 0 \quad \forall i \\ & \quad \xi_i \geq 0 \quad \forall i \end{aligned} wxi+b≥+1−ξi for yi=+1wxi+b≤−1+ξi for yi=−1≡yi(wxi+b)−1+ξi≥0∀iξi≥0∀i
- ξi=0\xi_i = 0ξi=0:样本 iii 被正确分类,且位于间隔边界之外(完全满足约束)。
- 0<ξi<10 < \xi_i < 10<ξi<1:样本 iii 被正确分类,但位于间隔内部(违反硬间隔约束)。
- ξi≥1\xi_i \geq 1ξi≥1:样本 iii 被误分类(严重违反约束)。
数学建模(Mathematical Formulation)
优化目标
Minimize 12∥w∥2+C(∑iξi)k Subject to yi(wTxi+b)−1+ξi≥0∀iξi≥0∀i \begin{aligned} \text { Minimize } & \frac{1}{2}\|\mathbf{w}\|^2+C\left(\sum_i \xi_i\right)^k \\ \text { Subject to } & y_i\left(\mathbf{w}^T \mathbf{x}_i+b\right)-1+\xi_i \geq 0 \quad \forall i \\ & \xi_i \geq 0 \quad \forall i \end{aligned} Minimize Subject to 21∥w∥2+C(i∑ξi)kyi(wTxi+b)−1+ξi≥0∀iξi≥0∀i
- 12∥w∥2\frac{1}{2} \|\mathbf{w}\|^221∥w∥2:最大化间隔(与硬间隔 SVM 相同)。
- C∑iξiC \sum_{i} \xi_iC∑iξi:对分类错误的惩罚项。为了简化,考虑取k=1。
- ξi\xi_iξi 是 松弛变量,表示第 iii 个样本允许的违规程度。
- C>0C > 0C>0 是 惩罚参数,控制对误分类的容忍度:
- CCC 越大,模型越严格(更少误分类,但可能过拟合)。
- CCC 越小,模型越宽松(允许更多误分类,提高泛化能力)。
约束条件
{yi(wTxi+b)≥1−ξi,∀i(允许样本在间隔内或误分类)ξi≥0,∀i(松弛变量非负) \begin{cases} y_i (\mathbf{w}^T \mathbf{x}_i + b) \geq 1 - \xi_i, \quad \forall i \quad &\text{(允许样本在间隔内或误分类)} \\ \xi_i \geq 0, \quad \forall i \quad &\text{(松弛变量非负)} \end{cases} {yi(wTxi+b)≥1−ξi,∀iξi≥0,∀i(允许样本在间隔内或误分类)(松弛变量非负)
- 这么建模的原因是,当数据整体上线性可分,但存在一些噪声点时候,就需要这样的soft margin。
- 其实从拉格朗日乘子法的角度来理解,这两个约束条件是不等式约束KKT条件的一部分。
引入拉格朗日函数
引入拉格朗日乘子 λi≥0\lambda_i \geq 0λi≥0(对应样本约束)和 μi≥0\mu_i \geq 0μi≥0(对应 ξi≥0\xi_i \geq 0ξi≥0),构建拉格朗日函数:
L(w,b,ξ,λ,μ)=12∥w∥2+C∑i=1nξi−∑i=1nλi[yi(wTxi+b)−1+ξi]−∑i=1nμiξi
L(\mathbf{w}, b, \xi, \lambda, \mu) = \frac{1}{2} \|\mathbf{w}\|^2 + C \sum_{i=1}^n \xi_i - \sum_{i=1}^n \lambda_i \left[ y_i (\mathbf{w}^T \mathbf{x}_i + b) - 1 + \xi_i \right] - \sum_{i=1}^n \mu_i \xi_i
L(w,b,ξ,λ,μ)=21∥w∥2+Ci=1∑nξi−i=1∑nλi[yi(wTxi+b)−1+ξi]−i=1∑nμiξi
原问题:
Minimize 12∥w∥2+C∑iξi Subject to yi(wTxi+b)−1+ξi≥0∀iξi≥0∀i
\begin{aligned}
\text { Minimize } & \frac{1}{2}\|\mathbf{w}\|^2+C \sum_i \xi_i \\
\text { Subject to } & y_i\left(\mathbf{w}^T \mathbf{x}_i+b\right)-1+\xi_i \geq 0 \quad \forall i \\
& \xi_i \geq 0 \quad \forall i
\end{aligned}
Minimize Subject to 21∥w∥2+Ci∑ξiyi(wTxi+b)−1+ξi≥0∀iξi≥0∀i
转化为:
Maximize L(w∗,b∗,Ξ∗;Λ,M) Subject to ∇w,b,ΞL(w,b,Ξ;Λ,M)=0Λ≥0,M≥0
\begin{array}{cl}
\text { Maximize } & L\left(\mathbf{w}^*, b^*, \Xi^* ; \Lambda, \mathbf{M}\right) \\
\text { Subject to } & \nabla_{\mathbf{w}, b, \Xi} L(\mathbf{w}, b, \Xi ; \Lambda, \mathbf{M})=0 \\
& \Lambda \geq \mathbf{0}, \mathbf{M} \geq \mathbf{0}
\end{array}
Maximize Subject to L(w∗,b∗,Ξ∗;Λ,M)∇w,b,ΞL(w,b,Ξ;Λ,M)=0Λ≥0,M≥0
梯度为零(Stationarity):
∇wL=w−∑i=1nλiyixi=0⇒w∗=∑i=1nλiyixi
\nabla_{\mathbf{w}} L = \mathbf{w} - \sum_{i=1}^n \lambda_i y_i \mathbf{x}_i = 0 \quad \Rightarrow \quad \mathbf{w}^* = \sum_{i=1}^n \lambda_i y_i \mathbf{x}_i
∇wL=w−i=1∑nλiyixi=0⇒w∗=i=1∑nλiyixi
∇bL=−∑i=1nλiyi=0⇒∑i=1nλiyi=0 \nabla_b L = -\sum_{i=1}^n \lambda_i y_i = 0 \quad \Rightarrow \quad \sum_{i=1}^n \lambda_i y_i = 0 ∇bL=−i=1∑nλiyi=0⇒i=1∑nλiyi=0
∇ξiL=C−λi−μi=0⇒λi+μi=C \nabla_{\xi_i} L = C - \lambda_i - \mu_i = 0 \quad \Rightarrow \quad \lambda_i + \mu_i = C ∇ξiL=C−λi−μi=0⇒λi+μi=C
通过消去 w\mathbf{w}w、bbb 和 ξi\xi_iξi,得到对偶问题:
maxλ∑i=1nλi−12∑i,j=1nλiλjyiyjxiTxjs.t.∑i=1nλiyi=0,0≤λi≤C(由 μi=C−λi≥0 导出)
\begin{aligned} \max_{\lambda} \quad & \sum_{i=1}^n \lambda_i - \frac{1}{2} \sum_{i,j=1}^n \lambda_i \lambda_j y_i y_j \mathbf{x}_i^T \mathbf{x}_j \\ \text{s.t.} \quad & \sum_{i=1}^n \lambda_i y_i = 0, \\ & 0 \leq \lambda_i \leq C \quad (\text{由} \ \mu_i = C - \lambda_i \geq 0 \ \text{导出}) \end{aligned}
λmaxs.t.i=1∑nλi−21i,j=1∑nλiλjyiyjxiTxji=1∑nλiyi=0,0≤λi≤C(由 μi=C−λi≥0 导出)
写成矩阵形式:
Maximize F(Λ)=Λ⋅1−12ΛTDΛ Subject to ΛTy=00≤Λ≤C1
\begin{array}{cl}
\text { Maximize } & F(\Lambda)=\Lambda \cdot 1-\frac{1}{2} \Lambda^T D \Lambda \\
\text { Subject to } & \Lambda^T \mathbf{y}=0 \\
& \mathbf{0} \leq \Lambda \leq C \mathbf{1}
\end{array}
Maximize Subject to F(Λ)=Λ⋅1−21ΛTDΛΛTy=00≤Λ≤C1
KKT 条件
最优解需满足以下条件:
-
梯度为零(Stationarity):
∇wL=w−∑i=1nλiyixi=0⇒w∗=∑i=1nλiyixi \nabla_{\mathbf{w}} L = \mathbf{w} - \sum_{i=1}^n \lambda_i y_i \mathbf{x}_i = 0 \quad \Rightarrow \quad \mathbf{w}^* = \sum_{i=1}^n \lambda_i y_i \mathbf{x}_i ∇wL=w−i=1∑nλiyixi=0⇒w∗=i=1∑nλiyixi∇bL=−∑i=1nλiyi=0⇒∑i=1nλiyi=0 \nabla_b L = -\sum_{i=1}^n \lambda_i y_i = 0 \quad \Rightarrow \quad \sum_{i=1}^n \lambda_i y_i = 0 ∇bL=−i=1∑nλiyi=0⇒i=1∑nλiyi=0
∇ξiL=C−λi−μi=0⇒λi+μi=C \nabla_{\xi_i} L = C - \lambda_i - \mu_i = 0 \quad \Rightarrow \quad \lambda_i + \mu_i = C ∇ξiL=C−λi−μi=0⇒λi+μi=C
-
原始可行性与对偶可行性:
yi(wTxi+b)≥1−ξi,ξi≥0,λi≥0,μi≥0 y_i (\mathbf{w}^T \mathbf{x}_i + b) \geq 1 - \xi_i, \quad \xi_i \geq 0, \quad \lambda_i \geq 0, \quad \mu_i \geq 0 yi(wTxi+b)≥1−ξi,ξi≥0,λi≥0,μi≥0 -
互补松弛条件:
λi[yi(wTxi+b)−1+ξi]=0 \lambda_i \left[ y_i (\mathbf{w}^T \mathbf{x}_i + b) - 1 + \xi_i \right] = 0 λi[yi(wTxi+b)−1+ξi]=0μiξi=0 \mu_i \xi_i = 0 μiξi=0
得到λ\lambdaλ的解后得到原问题的解:
w∗=∑i=1lλi∗yixib∗=yi−w∗Txi,0<λi<C
\begin{array}{ll}
\mathbf{w}^*=\sum_{i=1}^l \lambda_i^* y_i \mathbf{x}_i \\
b^*=y_i-\mathbf{w}^{* T} \mathbf{x}_i, & 0<\lambda_i<C
\end{array}
w∗=∑i=1lλi∗yixib∗=yi−w∗Txi,0<λi<C
-
仅当 0<λi<C0 < \lambda_i < C0<λi<C 时,样本为支持向量(位于间隔边界上)。
-
ξi=max[0,1−yi(w∗xi+b∗)] \xi_i=\max \left[0,1-y_i\left(\mathbf{w}^* \mathbf{x}_i+b^*\right)\right] ξi=max[0,1−yi(w∗xi+b∗)]
如果 ξi>1\xi_i>1ξi>1.那么这是一种错误的分类模式
分类器:
f(x)=sgn(w∗Tx+b∗)=sgn(∑i=1lλi∗yi<xi,x>+b∗)=sgn(∑λi∗≠0λi∗yi<xi,x>+b∗)
\begin{aligned}
f(\mathbf{x}) & =\operatorname{sgn}\left(\mathbf{w}^{*^T} \mathbf{x}+b^*\right) \\
& =\operatorname{sgn}\left(\sum_{i=1}^l \lambda_i^* y_i<\mathbf{x}_i, \mathbf{x}>+b^*\right) \\
& =\operatorname{sgn}\left(\sum_{\lambda_i^* \neq 0} \lambda_i^* y_i<\mathbf{x}_i, \mathbf{x}>+b^*\right)
\end{aligned}
f(x)=sgn(w∗Tx+b∗)=sgn(i=1∑lλi∗yi<xi,x>+b∗)=sgnλi∗=0∑λi∗yi<xi,x>+b∗