当前位置: 首页 > news >正文

机器学习12——支持向量机中

支持向量机中

拉格朗日对偶方法(Lagrange Duality)

初始问题(Primal form)

目标是:
min⁡w,b12∥w∥2 \min_{\mathbf{w}, b} \quad \frac{1}{2} \|\mathbf{w}\|^2 w,bmin21w2
约束条件:
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;λ)=21w2i=1lλi[yi(wTxi+b)1]

为什么可以把原问题变成:
min⁡w,bmax⁡α≥0L(w,b,α) \min_{w,b} \max_{\alpha \ge 0} L(w, b, \alpha) w,bminα0maxL(w,b,α)
这是凸优化中的鞍点问题(Saddle Point)。原因有两个:

  1. 函数关于 w,bw,bw,b 是凸的,因为 ∣w∣2|w|^2w2 是一个凸函数;
  2. 函数关于 α\alphaα 是线性的,也就是说关于 α\alphaα 是凹的(线性函数既是凸也是凹);

所以这个问题是一个凸-凹问题(convex-concave problem),满足一些条件(例如Slater条件)后,就满足所谓的强对偶性(后面再讲)。

于是,原问题(有约束)可以等价写成一个无约束的 min-max 问题

其中每个 λi≥0\lambda_i \geq 0λi0 是拉格朗日乘子。我们需要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问题:
min⁡w,bmax⁡α≥0L(w,b,α)⇒max⁡α≥0min⁡w,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λi0,i=1, K,l

max在外层,min在内层,因此我们需要先求内层导数,得到最小值,再带入式子求外层的最大值。

为什么可以交换 min⁡\minminmax⁡\maxmax 的顺序?

这就用到了凸优化中的强对偶性理论

  • 弱对偶性总是成立:min⁡max⁡≥max⁡min⁡\min \max \ge \max \minminmaxmaxmin
  • 强对偶性在满足一定条件(凸性 + Slater 条件)时成立:min⁡max⁡=max⁡min⁡\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;Λ)=21w2i=1lλiyi(wTxi+b)+i=1lλiwL(w,b;Λ)=wi=1lλiyixi=0w=i=1lλiyixibL(w,b;Λ)=i=1lλiyi=0i=1lλ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=1lλiyixi)Ti=1lλiyixi(i=1lλiyixi)Ti=1lλiyixibi=1lλiyi+i=1lλi=i=1lλi21(i=1lλiyixi)Ti=1lλiyixi=i=1lλi21i=1lj=1lλ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=1lλi21i=1lj=1lλiλjyiyjxi,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=1lλi21i=1lj=1lλiλjyiyjxi,xj
对偶问题的约束条件:
λi≥0,∑i=1lλiyi=0 \lambda_i \geq 0,\quad \sum_{i=1}^{l} \lambda_i y_i = 0 λi0,i=1lλiyi=0
这是一个凸二次规划问题,具有全局最优解。

最终解的表达

w∗\mathbf{w}^*w∑λiyi=0\sum \lambda_i y_i = 0λiyi=0 代入 LLL,消去 w\mathbf{w}wbbb
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=1lλiyixi2i=1lλiyi(j=1lλjyjxj)Txi+b+i=1lλ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=1lλi21i=1lj=1lλiλjyiyjxiTxj
对偶问题的形式

最大化 L(Λ)L(\Lambda)L(Λ) 受限于 λi≥0\lambda_i \geq 0λi0∑λ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=1lλi21i,jλiλjyiyjxiTxj)s.t.λi0,i=1lλ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(ΛT121Λ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λi0∑λ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} λi0,yi(wTxi+b)10,λ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 条件

  1. 原始可行性(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)10,i

  2. 对偶可行性(Dual Feasibility)
    λi≥0,∀i \lambda_i \geq 0, \quad \forall i λi0,i

  3. 梯度为零(Stationarity)
    ∇wL=0和∇bL=0 \nabla_{\mathbf{w}} L = 0 \quad \text{和} \quad \nabla_b L = 0 wL=0bL=0

  4. 互补松弛(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=1lλiyixi

  • 偏置 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=yiwTxi

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λiyixi,x+b
其中:

  • λi∗\lambda_i^*λi 是拉格朗日乘子的最优解(仅对支持向量非零)。
  • yiy_iyi 是支持向量的标签(+1+1+1−1-11)。
  • ⟨xi,x⟩\langle \mathbf{x}_i, \mathbf{x} \ranglexi,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λiyixi,x

  • 每个支持向量 xi\mathbf{x}_ixi 的贡献由其 拉格朗日乘子 λi∗\lambda_i^*λi标签 yiy_iyi 加权。
  • 相似性越高(⟨xi,x⟩\langle \mathbf{x}_i, \mathbf{x} \ranglexi,x 越大),且 λi∗yi\lambda_i^* y_iλiyi 越大,对分类的影响越大。

(3) 加上偏移项 b∗b^*b
b∗=yk−w∗Txk(任选一个支持向量 xk 计算) b^* = y_k - \mathbf{w}^{*T} \mathbf{x}_k \quad \text{(任选一个支持向量 \(\mathbf{x}_k\) 计算)} b=ykwTxk(任选一个支持向量 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)=1yk2(wTxk+b)yk(wTxk+b)ykb=ykwTxk

  • 由于 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(wTxi+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)={+11if z>0,if z<0.

  • 最终输出 +1+1+1−1-11,表示分类结果。
直观解释

(1) 支持向量的作用

  • 决策边界仅由支持向量决定,其他样本不影响分类。
  • 支持向量是离决策超平面最近的样本,决定了最大间隔。

(2) 相似性度量

  • ⟨xi,x⟩\langle \mathbf{x}_i, \mathbf{x} \ranglexi,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+b1+ξi for yi=1yi(wxi+b)1+ξi0iξi0i

  • ξi=0\xi_i = 0ξi=0:样本 iii 被正确分类,且位于间隔边界之外(完全满足约束)。
  • 0<ξi<10 < \xi_i < 10<ξi<1:样本 iii 被正确分类,但位于间隔内部(违反硬间隔约束)。
  • ξi≥1\xi_i \geq 1ξi1:样本 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 21w2+C(iξi)kyi(wTxi+b)1+ξi0iξi0i

  • 12∥w∥2\frac{1}{2} \|\mathbf{w}\|^221w2:最大化间隔(与硬间隔 SVM 相同)。
  • C∑iξiC \sum_{i} \xi_iCiξ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ξi0,i(允许样本在间隔内或误分类)(松弛变量非负)

  • 这么建模的原因是,当数据整体上线性可分,但存在一些噪声点时候,就需要这样的soft margin。
  • 其实从拉格朗日乘子法的角度来理解,这两个约束条件是不等式约束KKT条件的一部分。
引入拉格朗日函数

引入拉格朗日乘子 λi≥0\lambda_i \geq 0λi0(对应样本约束)和 μi≥0\mu_i \geq 0μi0(对应 ξi≥0\xi_i \geq 0ξi0),构建拉格朗日函数:
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,ξ,λ,μ)=21w2+Ci=1nξii=1nλi[yi(wTxi+b)1+ξi]i=1nμ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 21w2+Ciξiyi(wTxi+b)1+ξi0iξi0i
转化为:
 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,M0
梯度为零(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=wi=1nλiyixi=0w=i=1nλ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=1nλiyi=0i=1nλ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}wbbbξ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=1nλi21i,j=1nλiλjyiyjxiTxji=1nλiyi=0,0λiC( μi=Cλi0 导出)
写成矩阵形式:
 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(Λ)=Λ121ΛTDΛΛTy=00ΛC1
KKT 条件

最优解需满足以下条件:

  1. 梯度为零(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=wi=1nλiyixi=0w=i=1nλ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=1nλiyi=0i=1nλ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

  2. 原始可行性与对偶可行性
    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,ξi0,λi0,μi0

  3. 互补松弛条件
    λ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λiyixib=yiwTxi,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,1yi(wxi+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(wTx+b)=sgn(i=1lλiyi<xi,x>+b)=sgnλi=0λiyi<xi,x>+b

在这里插入图片描述

http://www.dtcms.com/a/271923.html

相关文章:

  • ElementUI:高效优雅的Vue.js组件库
  • Rust 简介
  • 工厂的神经进化—工业智能体重塑制造本质的技术革命与文明挑战
  • 【Linux】Rocky Linux 清华镜像源安装 GitLab
  • IT运维:远程协助工具TrustViewer,简单好用,免费用不受限制
  • Qt 信号槽的扩展知识
  • libimagequant 在 mac 平台编译双架构
  • 在 Mac 上安装 Java 和 IntelliJ IDEA(完整笔记)
  • CMD,PowerShell、Linux/MAC设置环境变量
  • MacOS 终端(Terminal)配置显示日期时间
  • 政安晨【开源人工智能硬件】【ESP乐鑫篇】 —— 在macOS上部署工具开发环境(小资的非开发者用苹果系统也可以玩乐鑫)
  • Canny边缘检测(cv2.Canny())
  • Mac自定义右键功能
  • 如何在Linux上搭建本地Docker Registry并实现远程连接
  • 【TCP/IP】6. 差错与控制报文协议
  • Rust Web 全栈开发(四):构建 REST API
  • llvm, polly, 向量化测试,GEMM非常明显
  • ValueConverter转换器WPF
  • Leetcode力扣解题记录--第42题 接雨水(动规和分治法)
  • 开源 Arkts 鸿蒙应用 开发(六)数据持久--文件和首选项存储
  • [特殊字符] LLM(大型语言模型):智能时代的语言引擎与通用推理基座
  • 藏文识别技术的关键挑战与解决方案
  • 使用Visual Studio Code附加到Jetty进程调试Servlet
  • 小皮面板搭建pikachu靶场
  • 710 Mybatis实战
  • Go语言中map的零值是什么?对零值map进行读写操作会发生什么?如何正确初始化和使用map?
  • 力扣-73.矩阵置零
  • 【会员专享数据】2013-2024年我国省市县三级逐年SO₂数值数据(Shp/Excel格式)
  • 2025年材料应用与计算机科学国际会议(MACS 2025)
  • C++中的左值、右值与std::move()