统计学习方法 支持向量机(上)

news2025/1/6 20:18:56

文章目录

  • 统计学习方法 支持向量机(上)
    • 线性可分支持向量机与硬间隔最大化
      • 定义
      • 硬间隔最大化
      • 对偶算法
    • 线性支持向量机与软间隔最大化
      • 定义
      • 软间隔最大化
      • 对偶算法
      • 合页损失函数

统计学习方法 支持向量机(上)

读李航的《统计学习方法》中,关于支持向量机的相关笔记。

支持向量机(SVM)是一种二分类模型。其学习策略为间隔最大化,可形式化为一个求解凸二次规划的问题,同时也等价于正则化荷叶损失函数最小化的问题。间隔最大使它有别于感知机。

线性可分支持向量机与硬间隔最大化

线性可分支持向量机使用硬间隔最大化的算法,因此要求线性可分的训练数据集。

定义

线性可分支持向量机:给定线性可分数据集,通过硬间隔最大化或等价求解相应的凸二次规划问题学习到的分离超平面:
w ∗ ⋅ x + b ∗ = 0 w^\ast \cdot x+b^\ast=0 wx+b=0
以及相应的分类决策函数:
f ( x ) = sign ( w ∗ ⋅ x + b ∗ ) f(x)=\text{sign}(w^\ast \cdot x+b^\ast) f(x)=sign(wx+b)
称为线性可分支持向量机。

函数间隔:给定训练数据 T T T 与超平面 ( w ,   b ) (w,\,b) (w,b),超平面关于样本点 ( x 1 ,   y i ) (x_1,\,y_i) (x1,yi) 的函数间隔为:
γ ^ i = y i ( w ⋅ x i + b ) \hat{\gamma}_i=y_i(w \cdot x_i+b) γ^i=yi(wxi+b)

  • 超平面参数确定的情况下,函数间隔可以反映样本点距离超平面的远近和分类的正确性与可信度;

几何间隔:给定训练数据 T T T 与超平面 ( w ,   b ) (w,\,b) (w,b),超平面关于样本点 ( x 1 ,   y i ) (x_1,\,y_i) (x1,yi) 的几何间隔为:
γ ^ i = 1 ∣ ∣ w ∣ ∣ y i ( w ⋅ x i + b ) \hat{\gamma}_i=\frac{1}{||w||}y_i(w \cdot x_i+b) γ^i=∣∣w∣∣1yi(wxi+b)

  • 几何间隔表示样本点到超平面的距离带上是否分类正确的符号,即带符号的距离;
  • 函数间隔的大小受到 w w w b b b 的 scale 的影响,但几何间隔反映了实际距离,二者的关系为:

γ = γ ^ ∣ ∣ w ∣ ∣ \gamma=\frac{\hat{\gamma}}{||w||} γ=∣∣w∣∣γ^

其中:
γ = min ⁡ i = 1 , ⋯   , N γ i , γ ^ = min ⁡ i = 1 , ⋯   , N γ ^ i \gamma=\min\limits_{i=1,\cdots,N}\gamma_i ,\quad\quad \hat\gamma=\min\limits_{i=1,\cdots,N}\hat\gamma_i γ=i=1,,Nminγi,γ^=i=1,,Nminγ^i

硬间隔最大化

硬间隔最大化:SVM 学习的基本想法是,求解能够正确划分数据集、并且几何间隔最大的分离超平面。对于线性可分的数据集,可正确划分的超平面可能有无穷多个,但几何间隔最大的分离超平面是唯一的。

也就是说,我们要找到的分离超平面,不仅可以正确划分数据,同时还能与数据保持尽量远的距离,这样灵活性更高,加入新的未知的实例时能有更好的分类预测能力。

该问题可以表示为下面的约束最优化问题:
max ⁡ w ,   b γ s.t.  1 ∣ ∣ w ∣ ∣ y i ( w ⋅ x i + b ) ≥ γ , i = 1 , 2 , ⋯   , N \begin{array}{l} \max\limits_{w,\,b} \gamma \\ \text{s.t. } \frac{1}{||w||}y_i(w \cdot x_i+b) \geq \gamma,\quad i=1,2,\cdots,N \end{array} w,bmaxγs.t. ∣∣w∣∣1yi(wxi+b)γ,i=1,2,,N
使用函数间隔的话,可以表示为:
max ⁡ w ,   b γ ^ ∣ ∣ w ∣ ∣ s.t.  y i ( w ⋅ x i + b ) ≥ γ ^ , i = 1 , 2 , ⋯   , N \begin{array}{l} \max\limits_{w,\,b} \frac{\hat{\gamma}}{||w||} \\ \text{s.t. } y_i(w \cdot x_i+b) \geq \hat\gamma,\quad i=1,2,\cdots,N \end{array} w,bmax∣∣w∣∣γ^s.t. yi(wxi+b)γ^,i=1,2,,N
函数间隔的取值并不影响最优化问题的解,因为比如将 w w w b b b 等比例放大为 λ w \lambda w λw λ b \lambda b λb ,此时函数间隔也变为 λ γ ^ \lambda\hat\gamma λγ^ 。所以可以取 γ ^ = 1 \hat\gamma=1 γ^=1 ,这样问题转化为:
min ⁡ w ,   b 1 2 ∣ ∣ w ∣ ∣ 2 s.t.  y i ( w ⋅ x i + b ) − 1 ≥ 0 , i = 1 , 2 , ⋯   , N \begin{array}{l} \min\limits_{w,\,b} \frac{1}{2}||w||^2 \\ \text{s.t. } y_i(w \cdot x_i+b) -1 \geq 0,\quad i=1,2,\cdots,N \end{array} w,bmin21∣∣w2s.t. yi(wxi+b)10,i=1,2,,N
这样就变成了一个凸二次规划的问题。

凸二次规划问题:约束最优化问题,形如:
min ⁡ w   f ( w ) s.t.    g i ( w ) ≤ 0 , i = 1 , 2 , ⋯   , k   h i ( w ) = 0 , i = 1 , 2 , ⋯   , l \begin{aligned} \min\limits_w &\, f(w) \\ \text{s.t. } &\, g_i(w)\leq 0,\quad i=1,2,\cdots,k \\ &\, h_i(w)= 0,\quad i=1,2,\cdots,l \\ \end{aligned} wmins.t. f(w)gi(w)0,i=1,2,,khi(w)=0,i=1,2,,l
目标函数 f ( w ) f(w) f(w) 和约束函数 g i ( w ) g_i(w) gi(w) 都是 R n \R^n Rn 上连续可微的凸函数(convex function),而约束函数 h i ( w ) h_i(w) hi(w) R n \R^n Rn 上的仿射函数(即线性变换函数, f ( x ) = a ⋅ x + b f(x)=a\cdot x+b f(x)=ax+b);

算法:线性可分支持向量机学习算法 - 最大间隔法

  • 输入:线性可分训练数据集 T = {   ( x 1 , t 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N )   } T=\set{(x_1,t_1),(x_2,y_2),\cdots,(x_N,y_N)} T={(x1,t1),(x2,y2),,(xN,yN)} ,其中 x i ∈ X ⊆ R n x_i\in\mathcal{X}\subseteq \R^n xiXRn y i ∈ Y = {   1 ,   − 1   } y_i\in\mathcal{Y}=\set{1,\,-1} yiY={1,1}
  • 输出:最大间隔分离超平面和分类决策函数
  1. 构造并求解约束最优化问题:

min ⁡ w ,   b 1 2 ∣ ∣ w ∣ ∣ 2 s.t.  y i ( w ⋅ x i + b ) − 1 ≥ 0 , i = 1 , 2 , ⋯   , N \begin{array}{l} \min\limits_{w,\,b} \frac{1}{2}||w||^2 \\ \text{s.t. } y_i(w \cdot x_i+b) -1 \geq 0,\quad i=1,2,\cdots,N \end{array} w,bmin21∣∣w2s.t. yi(wxi+b)10,i=1,2,,N

求得最优解 w ∗ w^\ast w b ∗ b^\ast b

  1. 由此得到分离超平面:

w ∗ ⋅ x + b ∗ = 0 w^\ast \cdot x+b^\ast = 0 wx+b=0

分类决策函数:
f ( x ) = sign ( w ∗ ⋅ x + b ∗ ) f(x)=\text{sign}(w^\ast \cdot x+b^\ast) f(x)=sign(wx+b)

最大间隔分离超平面的存在唯一性:如果训练数据 T T T 线性可分,则可以将所有样本点正确分开并且最大间隔的分离超平面存在且唯一。

(存在性很明显,唯一性由凸最优问题的解的唯一性可以得到)

支持向量:所谓的支持向量,就是处在离超平面最近的间隔上的点,即:
y i ( w ⋅ x i + b ) − 1 = 0 y_i(w \cdot x_i+b) -1 = 0 yi(wxi+b)1=0
y i = + 1 y_i=+1 yi=+1 的支持向量在超平面:
H 1 :   w ⋅ x + b = 1 H_1:\, w\cdot x+b=1 H1:wx+b=1
y i = − 1 y_i=-1 yi=1 的支持向量在超平面:
H 2 :   w ⋅ x + b = − 1 H_2:\, w\cdot x+b=-1 H2:wx+b=1
间隔 H 1 H_1 H1 H 2 H_2 H2 之间的距离称为间隔,为 2 ∣ ∣ w ∣ ∣ \frac{2}{||w||} ∣∣w∣∣2 H 1 H_1 H1 H 2 H_2 H2 称为间隔边界

请添加图片描述

所以说 SVM 具有稀疏性,因为只有少数几个样本点(支持向量)在起作用。

对偶算法

对偶算法的推导:硬间隔最大化问题的 Lagrangian 为:
L ( w , b , α ) =   1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 N α i ( 1 − y i ( w ⋅ x i + b ) ) =   1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 N α i y i ( w ⋅ x i + b ) ) + ∑ i = 1 N α i \begin{aligned} L(w,b,\alpha)=&\, \frac{1}{2}||w||^2+ \sum\limits_{i=1}^N \alpha_i(1-y_i(w\cdot x_i+b)) \\ =&\, \frac{1}{2}||w||^2-\sum\limits_{i=1}^N \alpha_iy_i(w\cdot x_i+b))+\sum\limits_{i=1}^N \alpha_i \end{aligned} L(w,b,α)==21∣∣w2+i=1Nαi(1yi(wxi+b))21∣∣w2i=1Nαiyi(wxi+b))+i=1Nαi
等价为极小极大问题:(参考拉格朗日对偶性的笔记)
min ⁡ w , b max ⁡ α L ( w , b , α ) \min_{w,b}\max_{\alpha}L(w,b,\alpha) w,bminαmaxL(w,b,α)
等价为对应的对偶问题,即极大极小问题:
max ⁡ α min ⁡ w , b L ( w , b , α ) \max_{\alpha}\min_{w,b}L(w,b,\alpha) αmaxw,bminL(w,b,α)
为了求解对偶问题,我们要先求解极小问题,再求解极大问题:

  1. min ⁡ w , b L ( w , b , α ) \min\limits_{w,b}L(w,b,\alpha) w,bminL(w,b,α) :由 FOC 得:

∂ L ∂ w =   w − ∑ i = 1 N α i y i x i = 0 ⇒ w = ∑ i = 1 N α i y i x i ∂ L ∂ b =   − ∑ i = 1 N α i y i = 0 ⇒ ∑ i = 1 N α i y i = 0 \begin{aligned} \frac{\partial L}{\partial w}= &\, w-\sum_{i=1}^{N}\alpha_iy_ix_i=0 \quad\Rightarrow\quad w =\sum_{i=1}^{N}\alpha_iy_ix_i\\ \frac{\partial L}{\partial b}= &\, -\sum_{i=1}^{N}\alpha_iy_i=0 \quad\Rightarrow \quad \sum_{i=1}^{N}\alpha_iy_i=0 \end{aligned} wL=bL=wi=1Nαiyixi=0w=i=1Nαiyixii=1Nαiyi=0i=1Nαiyi=0

代回原来的 Lagrangian ,得到:
L ( w , b , α ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i L(w,b,\alpha)=-\frac{1}{2}\sum\limits_{i=1}^{N}\sum\limits_{j=1}^{N}\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)+\sum\limits_{i=1}^{N}\alpha_i L(w,b,α)=21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi

  1. max ⁡ α ( min ⁡ w , b L ( w , b , α ) ) \max\limits_{\alpha}\left(\min\limits_{w,b}L(w,b,\alpha)\right) αmax(w,bminL(w,b,α)) :我们取个负号,得到对应的对偶优化问题:

min ⁡ α   1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i s.t.    ∑ i = 1 N α i y i = 0    α i ≥ 0 , i = 1 , 2 , ⋯   , N \begin{aligned} \min_{\alpha}&\, \frac{1}{2}\sum\limits_{i=1}^{N}\sum\limits_{j=1}^{N}\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)-\sum\limits_{i=1}^{N}\alpha_i \\ \text{s.t.}&\,\, \sum_{i=1}^{N}\alpha_iy_i=0 \\ &\,\, \alpha_i\geq 0,\quad i=1,2,\cdots,N \end{aligned} αmins.t.21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαii=1Nαiyi=0αi0,i=1,2,,N

因此,我们先解决对应的对偶优化问题,得到 α ∗ \alpha^\ast α ,再带入得到 w ∗ w^\ast w b ∗ b^\ast b 。其中 b ∗ b^\ast b 的计算为:由于对偶优化问题满足 KKT 条件(参考拉格朗日对偶性的笔记),因此有:
α i ∗ ( y i ( w ∗ ⋅ x i + b ∗ ) − 1 ) = 0 , i = 1 , 2 , ⋯   , N \alpha_i^\ast (y_i(w^\ast \cdot x_i+b^\ast)-1)=0,\quad i=1,2,\cdots,N αi(yi(wxi+b)1)=0,i=1,2,,N
要么 α i ∗ = 0 \alpha_i^\ast=0 αi=0 ,说明 x i x_i xi 没有起到约束作用;要么 α i ∗ > 0 \alpha_i^\ast\gt 0 αi>0 ,即 x i x_i xi支持向量。至少存在一个 a j ∗ > 0 a_j^\ast\gt 0 aj>0 ,此时有:
y j ( w ∗ ⋅ x j + b ∗ ) − 1 = 0 y_j(w^\ast \cdot x_j +b^\ast)-1=0 yj(wxj+b)1=0
代入 w = ∑ i = 1 N α i y i x i w =\sum\limits_{i=1}^{N}\alpha_iy_ix_i w=i=1Nαiyixi ,而且 1 y j = y j \frac{1}{y_j}=y_j yj1=yj ,所以有:
b ∗ = y j − ∑ i = 1 N α i ∗ y i b^\ast=y_j-\sum\limits_{i=1}^N \alpha_i^\ast y_i b=yji=1Nαiyi
算法:线性可分支持向量机学习算法 - 最大间隔法 的对偶算法

  • 输入:线性可分训练数据集 T = {   ( x 1 , t 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N )   } T=\set{(x_1,t_1),(x_2,y_2),\cdots,(x_N,y_N)} T={(x1,t1),(x2,y2),,(xN,yN)} ,其中 x i ∈ X ⊆ R n x_i\in\mathcal{X}\subseteq \R^n xiXRn y i ∈ Y = {   1 ,   − 1   } y_i\in\mathcal{Y}=\set{1,\,-1} yiY={1,1}
  • 输出:最大间隔分离超平面和分类决策函数
  1. 构造并求解约束最优化问题:

min ⁡ α   1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i s.t.    ∑ i = 1 N α i y i = 0    α i ≥ 0 , i = 1 , 2 , ⋯   , N \begin{aligned} \min_{\alpha}&\, \frac{1}{2}\sum\limits_{i=1}^{N}\sum\limits_{j=1}^{N}\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)-\sum\limits_{i=1}^{N}\alpha_i \\ \text{s.t.}&\,\, \sum_{i=1}^{N}\alpha_iy_i=0 \\ &\,\, \alpha_i\geq 0,\quad i=1,2,\cdots,N \end{aligned} αmins.t.21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαii=1Nαiyi=0αi0,i=1,2,,N

得到最优解 α ∗ \alpha^\ast α

  1. 计算:

w ∗ = ∑ i = 1 N α i ∗ y i x i w^\ast = \sum\limits_{i=1}^{N}\alpha_i^\ast y_ix_i w=i=1Nαiyixi

并选择 α ∗ \alpha^\ast α 的一个正分量 α j ∗ \alpha_j^\ast αj ,计算:
b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) b^\ast=y_j-\sum\limits_{i=1}^{N}\alpha_i^\ast y_i(x_i\cdot x_j) b=yji=1Nαiyi(xixj)

  1. 由此得到分离超平面:

w ∗ ⋅ x + b ∗ = 0 w^\ast \cdot x+b^\ast = 0 wx+b=0

分类决策函数:
f ( x ) = sign ( w ∗ ⋅ x + b ∗ ) f(x)=\text{sign}(w^\ast \cdot x+b^\ast) f(x)=sign(wx+b)

线性支持向量机与软间隔最大化

线性支持向量机不要求数据集线性可分,仅仅是支持向量机的数学形式是线性的。

定义

线性支持向量机:对于给定的线性不可分的训练数据集,通过软间隔最大化问题或对应的凸二次规划问题,得到的分离超平面为:
w ∗ ⋅ x + b ∗ = 0 w^\ast \cdot x+b^\ast=0 wx+b=0
以及相应的分类决策函数:
f ( x ) = sign ( w ∗ ⋅ x + b ∗ ) f(x)=\text{sign}(w^\ast \cdot x+b^\ast) f(x)=sign(wx+b)
称为线性支持向量机。

软间隔最大化

软间隔最大化:软间隔的思想是,对于非线性可分的数据集,只是存在一些特异点(outlier),将这些特异点去除后数据集就变得线性可分了。那么,特异点不能满足函数间隔大于等于 1 的约束条件,我们需要引入新的变量:

松弛变量:每个样本引入一个松弛变量 ξ i ≥ 0 \xi_i \geq 0 ξi0 ,使得约束条件变为:
y i ( w ⋅ x i + b ) ≥ 1 − ξ i y_i(w\cdot x_i + b) \geq 1-\xi_i yi(wxi+b)1ξi
惩罚参数:对于分类问题,我们是想让尽量多的样本点处于间隔之外,所以松弛变量应当尽可能小,需要对松弛变量支付代价,目标函数变为:
1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i \frac{1}{2}||w||^2+C\sum\limits_{i=1}^{N}\xi_i 21∣∣w2+Ci=1Nξi
其中惩罚参数 C > 0 C\gt 0 C>0 ,是 SVM 的超参数之一。

算法:线性支持向量机学习算法 - 最大间隔法

  • 输入:非线性可分训练数据集 T = {   ( x 1 , t 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N )   } T=\set{(x_1,t_1),(x_2,y_2),\cdots,(x_N,y_N)} T={(x1,t1),(x2,y2),,(xN,yN)} ,其中 x i ∈ X ⊆ R n x_i\in\mathcal{X}\subseteq \R^n xiXRn y i ∈ Y = {   1 ,   − 1   } y_i\in\mathcal{Y}=\set{1,\,-1} yiY={1,1}
  • 输出:最大间隔分离超平面和分类决策函数
  1. 构造并求解约束最优化问题:

min ⁡ w ,   b   1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i s.t.    y i ( w ⋅ x i + b ) ≥ 1 − ξ i , i = 1 , 2 , ⋯   , N    ξ i ≥ 0 , i = 1 , 2 , ⋯   , N \begin{aligned} \min\limits_{w,\,b}&\, \frac{1}{2}||w||^2+C\sum\limits_{i=1}^{N}\xi_i \\ \text{s.t.}&\,\, y_i(w \cdot x_i+b) \geq 1-\xi_i,\quad i=1,2,\cdots,N \\ &\,\,\xi_i \geq 0 ,\quad i=1,2,\cdots,N \\ \end{aligned} w,bmins.t.21∣∣w2+Ci=1Nξiyi(wxi+b)1ξi,i=1,2,,Nξi0,i=1,2,,N

求得最优解 w ∗ w^\ast w b ∗ b^\ast b

  1. 由此得到分离超平面:

w ∗ ⋅ x + b ∗ = 0 w^\ast \cdot x+b^\ast = 0 wx+b=0

分类决策函数:
f ( x ) = sign ( w ∗ ⋅ x + b ∗ ) f(x)=\text{sign}(w^\ast \cdot x+b^\ast) f(x)=sign(wx+b)

对偶算法

对偶算法的推导:软间隔最大化问题的 Lagrangian 为:
L ( w , b , ξ , α , μ ) =   1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i + ∑ i = 1 N α i ( 1 − ξ i − y i ( w ⋅ x i + b ) ) − ∑ i = 1 N μ i ξ i =   1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i − ∑ i = 1 N α i y i ( w ⋅ x i + b ) ) + ∑ i = 1 N α i − ∑ i = 1 N ( α i + μ i ) ξ i \begin{aligned} L(w,b,\xi,\alpha,\mu)=&\, \frac{1}{2}||w||^2+C\sum\limits_{i=1}^{N}\xi_i+ \sum\limits_{i=1}^N \alpha_i(1-\xi_i-y_i(w\cdot x_i+b))-\sum\limits_{i=1}^{N}\mu_i\xi_i \\ =&\, \frac{1}{2}||w||^2+C\sum\limits_{i=1}^{N}\xi_i-\sum\limits_{i=1}^N \alpha_iy_i(w\cdot x_i+b))+\sum\limits_{i=1}^N \alpha_i-\sum\limits_{i=1}^{N}(\alpha_i+\mu_i)\xi_i \end{aligned} L(w,b,ξ,α,μ)==21∣∣w2+Ci=1Nξi+i=1Nαi(1ξiyi(wxi+b))i=1Nμiξi21∣∣w2+Ci=1Nξii=1Nαiyi(wxi+b))+i=1Nαii=1N(αi+μi)ξi
等价为极小极大问题:(参考拉格朗日对偶性的笔记)
min ⁡ w , b , ξ max ⁡ α , μ L ( w , b , ξ , α , μ ) \min_{w,b,\xi}\max_{\alpha,\mu}L(w,b,\xi,\alpha,\mu) w,b,ξminα,μmaxL(w,b,ξ,α,μ)
等价为对应的对偶问题,即极大极小问题:
max ⁡ α , μ min ⁡ w , b , ξ L ( w , b , ξ , α , μ ) \max_{\alpha,\mu}\min_{w,b,\xi}L(w,b,\xi,\alpha,\mu) α,μmaxw,b,ξminL(w,b,ξ,α,μ)
为了求解对偶问题,我们要先求解极小问题,再求解极大问题:

  1. min ⁡ w , b , ξ L ( w , b , ξ , α , μ ) \min\limits_{w,b,\xi}L(w,b,\xi,\alpha,\mu) w,b,ξminL(w,b,ξ,α,μ) :由 FOC 得:

∂ L ∂ w =   w − ∑ i = 1 N α i y i x i = 0 ⇒ w = ∑ i = 1 N α i y i x i ∂ L ∂ b =   − ∑ i = 1 N α i y i = 0 ⇒ ∑ i = 1 N α i y i = 0 ∂ L ∂ ξ i =   C − α i − μ i = 0 \begin{aligned} \frac{\partial L}{\partial w}= &\, w-\sum_{i=1}^{N}\alpha_iy_ix_i=0 \quad\Rightarrow\quad w =\sum_{i=1}^{N}\alpha_iy_ix_i\\ \frac{\partial L}{\partial b}= &\, -\sum_{i=1}^{N}\alpha_iy_i=0 \quad\Rightarrow \quad \sum_{i=1}^{N}\alpha_iy_i=0 \\ \frac{\partial L}{\partial \xi_i}=&\, C-\alpha_i-\mu_i=0 \end{aligned} wL=bL=ξiL=wi=1Nαiyixi=0w=i=1Nαiyixii=1Nαiyi=0i=1Nαiyi=0Cαiμi=0

代回原来的 Lagrangian ,得到(这个结果和前面的硬间隔最大化的结果是一样的,已经没有 μ \mu μ 了):
L ( w , b , α ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i L(w,b,\alpha)=-\frac{1}{2}\sum\limits_{i=1}^{N}\sum\limits_{j=1}^{N}\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)+\sum\limits_{i=1}^{N}\alpha_i L(w,b,α)=21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi

  1. max ⁡ α , μ ( min ⁡ w , b , ξ L ( w , b , ξ , α , μ ) ) \max\limits_{\alpha,\mu}\left(\min\limits_{w,b,\xi}L(w,b,\xi,\alpha,\mu)\right) α,μmax(w,b,ξminL(w,b,ξ,α,μ)) :我们取个负号,得到对应的对偶优化问题:

min ⁡ α   1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i s.t.    ∑ i = 1 N α i y i = 0    C − α i − μ i = 0    α i ≥ 0    μ i ≥ 0 , i = 1 , 2 , ⋯   , N \begin{aligned} \min_{\alpha}&\, \frac{1}{2}\sum\limits_{i=1}^{N}\sum\limits_{j=1}^{N}\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)-\sum\limits_{i=1}^{N}\alpha_i \\ \text{s.t.}&\,\, \sum_{i=1}^{N}\alpha_iy_i=0 \\ &\,\, C-\alpha_i-\mu_i=0 \\ &\,\, \alpha_i\geq 0 \\ &\,\, \mu_i \geq 0,\quad i=1,2,\cdots,N \\ \end{aligned} αmins.t.21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαii=1Nαiyi=0Cαiμi=0αi0μi0,i=1,2,,N

w ∗ w^\ast w b ∗ b^\ast b 的计算跟前面硬间隔最大化是一样的。既然这里已经没有 μ i \mu_i μi 了,因此 α i \alpha_i αi 的取值范围实际上可以写成:
0 ≤ α i ≤ C 0 \leq \alpha_i \leq C 0αiC
也就是说,软间隔最大化的对偶算法相比于硬间隔最大化中的对偶算法,只多了一个 α i \alpha_i αi 的约束条件:不大于 C。

支持向量:同样地:

  • α i = 0 \alpha_i=0 αi=0 ,则样本点 x i x_i xi 落在间隔外;

  • 0 < α i < C 0\lt \alpha_i \lt C 0<αi<C ,则样本点 x i x_i xi 为支持向量;

  • α i = C \alpha_i=C αi=C ,则样本点 x i x_i xi 落在间隔内(也可以称为支持向量),此时:

    • ξ i = 0 \xi_i =0 ξi=0 ,则样本点 x i x_i xi 落在正确的间隔边界上;
    • 0 < ξ i < 1 0\lt \xi_i \lt 1 0<ξi<1 ,则样本点 x i x_i xi 落在分离超平面与正确的间隔边界之间;
    • ξ i = 0 \xi_i =0 ξi=0 ,则样本点 x i x_i xi 落在分离超平面上;
    • ξ i > 1 \xi_i\gt 1 ξi>1 ,则样本点 x i x_i xi 落在分离超平面与错误的间隔边界之间;

样本 x i x_i xi 到间隔边界的距离为 ξ i ∣ ∣ w ∣ ∣ \frac{\xi_i}{||w||} ∣∣w∣∣ξi

请添加图片描述

算法:线性支持向量机学习算法 - 最大间隔法 的对偶算法

  • 输入:线性可分训练数据集 T = {   ( x 1 , t 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N )   } T=\set{(x_1,t_1),(x_2,y_2),\cdots,(x_N,y_N)} T={(x1,t1),(x2,y2),,(xN,yN)} ,其中 x i ∈ X ⊆ R n x_i\in\mathcal{X}\subseteq \R^n xiXRn y i ∈ Y = {   1 ,   − 1   } y_i\in\mathcal{Y}=\set{1,\,-1} yiY={1,1}
  • 输出:最大间隔分离超平面和分类决策函数
  1. 确定超参数:惩罚参数 C > 0 C\gt 0 C>0 ;构造并求解约束最优化问题:

min ⁡ α   1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i s.t.    ∑ i = 1 N α i y i = 0    0 ≤ α i ≤ C , i = 1 , 2 , ⋯   , N \begin{aligned} \min_{\alpha}&\, \frac{1}{2}\sum\limits_{i=1}^{N}\sum\limits_{j=1}^{N}\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)-\sum\limits_{i=1}^{N}\alpha_i \\ \text{s.t.}&\,\, \sum_{i=1}^{N}\alpha_iy_i=0 \\ &\,\, 0\leq\alpha_i\leq C,\quad i=1,2,\cdots,N \end{aligned} αmins.t.21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαii=1Nαiyi=00αiC,i=1,2,,N

得到最优解 α ∗ \alpha^\ast α

  1. 计算:

w ∗ = ∑ i = 1 N α i ∗ y i x i w^\ast = \sum\limits_{i=1}^{N}\alpha_i^\ast y_ix_i w=i=1Nαiyixi

并选择 α ∗ \alpha^\ast α 的一个分量 0 < α j ∗ < C 0\lt \alpha_j^\ast\lt C 0<αj<C ,计算:
b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) b^\ast=y_j-\sum\limits_{i=1}^{N}\alpha_i^\ast y_i(x_i\cdot x_j) b=yji=1Nαiyi(xixj)

  1. 由此得到分离超平面:

w ∗ ⋅ x + b ∗ = 0 w^\ast \cdot x+b^\ast = 0 wx+b=0

分类决策函数:
f ( x ) = sign ( w ∗ ⋅ x + b ∗ ) f(x)=\text{sign}(w^\ast \cdot x+b^\ast) f(x)=sign(wx+b)

合页损失函数

线性支持向量机学习还可以解释为:最小化以下目标函数:
∑ i = 1 N [ 1 − y i ( w ⋅ x i + b ) ] + + λ ∣ ∣ w ∣ ∣ 2 \sum\limits_{i=1}^{N}\left[1-y_i(w\cdot x_i+b)\right]_++\lambda ||w||^2 i=1N[1yi(wxi+b)]++λ∣∣w2

  • 第一项是经验损失或经验风险函数,称为合页损失函数 (下标 + + + 代表 ReLU):

L ( y ( w ⋅ x + b ) ) = [ 1 − y ( w ⋅ x + b ) ] + L(y(w\cdot x+b))=\left[1-y(w\cdot x+b)\right]_+ L(y(wx+b))=[1y(wx+b)]+

  • 第二项则是 L2 正则化项;

Th 7.4:线性支持向量机原始最优化问题:
min ⁡ w ,   b   1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i s.t.    y i ( w ⋅ x i + b ) ≥ 1 − ξ i , i = 1 , 2 , ⋯   , N    ξ i ≥ 0 , i = 1 , 2 , ⋯   , N \begin{aligned} \min\limits_{w,\,b}&\, \frac{1}{2}||w||^2+C\sum\limits_{i=1}^{N}\xi_i \\ \text{s.t.}&\,\, y_i(w \cdot x_i+b) \geq 1-\xi_i,\quad i=1,2,\cdots,N \\ &\,\,\xi_i \geq 0 ,\quad i=1,2,\cdots,N \\ \end{aligned} w,bmins.t.21∣∣w2+Ci=1Nξiyi(wxi+b)1ξi,i=1,2,,Nξi0,i=1,2,,N
等价于最优化问题:
min ⁡ w , b ∑ i = 1 N [ 1 − y i ( w ⋅ x i + b ) ] + + λ ∣ ∣ w ∣ ∣ 2 \min\limits_{w,b}\sum\limits_{i=1}^{N}\left[1-y_i(w\cdot x_i+b)\right]_++\lambda ||w||^2 w,bmini=1N[1yi(wxi+b)]++λ∣∣w2
证明:令 ξ i = [ 1 − y i ( w ⋅ x i + b ) ] + \xi_i=\left[1-y_i(w\cdot x_i+b)\right]_+ ξi=[1yi(wxi+b)]+ ,则 ξ i ≥ 0 \xi_i \geq 0 ξi0 成立,且 y i ( w ⋅ x i + b ) ≥ 1 − ξ i y_i(w \cdot x_i+b) \geq 1-\xi_i yi(wxi+b)1ξi 成立。所以新的优化问题可以写成:
min ⁡ w , b ∑ i = 1 N ξ i + λ ∣ ∣ w ∣ ∣ 2 \min\limits_{w,b}\sum\limits_{i=1}^{N}\xi_i+\lambda ||w||^2 w,bmini=1Nξi+λ∣∣w2
λ = 1 2 C \lambda=\frac{1}{2C} λ=2C1 ,则变为:
min ⁡ w ,   b   1 C ( 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i ) \min\limits_{w,\,b}\, \frac{1}{C}\left(\frac{1}{2}||w||^2+C\sum\limits_{i=1}^{N}\xi_i\right) w,bminC1(21∣∣w2+Ci=1Nξi)
和原始最优化问题等价。

代理损失函数:图中展示了 0-1 损失函数和合页损失函数。可以认为为 0-1 损失函数是二分类问题真正的损失函数,而合页损失函数是 0-1 损失函数的一个上界,称为代理损失函数。

虚线是感知机的损失函数,可以看出在 [ 0 ,   1 ) [0,\,1) [0,1) 区间内,合页损失函数仍有损失,而感知机的损失函数已经是 0 了,说明感知机只要要求分类正确即可,而合页损失函数需要在分类正确的前提下,确信度足够高(即样本位于间隔之外),才能没有损失。

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1128652.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分区操作系统

简单介绍 什么是分区 首次提出于ARINC 653标准&#xff0c;它是航空领域的一个标准&#xff0c;定义了多分区操作系统的核心服务。 分区使得操作系统的各个功能模块&#xff08;即每个分区&#xff09;看起来好像都被分配了独立的处理器和外设&#xff0c;它们之间通过专线通…

NVIDIA TensorRT 简介及使用

NVIDIA TensorRT 简介及使用 1. NVIDIA TensorRT 的简介2. NVIDIA TensorRT 的优势2.1 推理速度提升 36 倍2.2 优化推理性能2.3 加速每一项工作负载2.4 使用 Triton 进行部署、运行和扩展 3. NVIDIA TensorRT 大型语言模型的推理4. NVIDIA TensorRT 的使用方法5. NVIDIA Tensor…

这是什么牛马机器视觉公司

这是什么牛马机器视觉公司&#xff0c;签订培训协议服务期&#xff0c;培训完三年内跑路直接赔两万。 我看到很多外包公司签订此类合同&#xff0c;当然也有培训机构也会玩此种协议。 对于我这种职场老手&#xff0c;我应该给大家分析下&#xff1a; 我们先看下什么是服务期…

电能计量与远程抄表的应用

摘要&#xff1a;结合当前电力企业实际的发展概况&#xff0c;可知电力活动开展中对于性能可靠的电能计量及远程抄表依赖程度高&#xff0c;需要注重它们实际应用范围的扩大&#xff0c;满足电力企业长期稳定发展的实际需求。基于此&#xff0c;本文将对电能计量与远程抄表应用…

kubernates 集群实战-安装K3s集群

安装K3s集群 安装K3s集群环境准备安装 docker主节点安装work 节点验证环境 安装K3s集群 K3S是一种轻量级的Kubernetes发行版&#xff0c;安装和运行只需要一个二进制文件。相比之下&#xff0c;K8S需要更多的步骤和资源来安装和部署&#xff0c;例如设置etcd集群、安装控制平面…

基于郊狼算法的无人机航迹规划-附代码

基于郊狼算法的无人机航迹规划 文章目录 基于郊狼算法的无人机航迹规划1.郊狼搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用郊狼算法来优化无人机航迹规划。 1.郊狼搜索算法 …

端到端的机器学习项目之探索数据(Machine Learning 研习之七)

本篇其实是承接上一篇内容&#xff0c;之所以没在上一篇将它写完&#xff0c;那是有原因的&#xff0c;毕竟&#xff0c;本着学习的态度&#xff0c;篇幅不应过长&#xff0c;方能使你有学习的欲望&#xff01; 探索数据 首先&#xff0c;确保你已经把测试放在一边&#xff0c…

wsl2环境的搭建

安装WSL WSL Windows官方页面&#xff1a;安装 WSL | Microsoft Learn 系统要求版本&#xff1a;我的电脑->属性可以查看系统版本&#xff0c;采用内部版本 18362 或更高版本以管理员权限运行 powershell启用Windows10子系统功能&#xff0c;再打开的powershell窗口中输入如…

【Linux系统编程:信号】产生信号 | 阻塞信号 | 处理信号 | 可重入函数

写在前面 通过学习信号可以理解进程与进程的一个相对关系&#xff0c;还能理解操作系统与进程的关系。要注意的是进程间通信中的信号量与这里的信号没有半毛钱关系&#xff0c;就像老婆和老婆饼。 本文要点&#xff1a; 掌握 Linux 信号的基本概念掌握信号产生的一般方式理解…

Mysql,SqlServer,Oracle获取库名 表名 列名

先看下需求背景&#xff1a; 获取某个数据源连接下所有库名&#xff0c;库下所有表名&#xff0c;表中所有字段 1.MySql 先说MySql吧&#xff0c;最简单 1.1获得所有数据库库名 这是一个mysql和sqlserver公用的方法&#xff0c;这里url不用担心数据库问题&#xff0c;他其实…

记一次渗透测试事件

一、漏洞发现 拿到登录的接口&#xff0c;丢到sqlmap里面跑一把&#xff0c;发现延时注入 进一步查询&#xff0c;发现是sa权限&#xff0c;直接os-shell whomai查询发现是管理员权限 os-shell执行命令太慢了&#xff0c;直接进行nc 反弹 执行base64 加密后的powershell命令&…

DevEco Studio如何在真机设备上运行HarmonyOS应用之必备的签名文件怎么做

DevEco Studio如何在真机设备上运行HarmonyOS应用 准备签名文件 使用DevEco Studio生成密钥和证书请求文件&#xff08;生成密钥和证书&#xff09; 在DevEco Studio的主菜单栏点击Build > Generate Key 如果没有密钥库文件&#xff0c;点击New进行创建&#xff0c;弹出…

如何使用 PostgreSQL 进行数据迁移和整合?

​ PostgreSQL 是一个强大的开源关系型数据库管理系统&#xff0c;它提供了丰富的功能和灵活性&#xff0c;使其成为许多企业和开发者的首选数据库之一。在开发过程中&#xff0c;经常会遇到需要将数据从一个数据库迁移到另一个数据库&#xff0c;或者整合多个数据源的情况。…

做机器视觉工程师,苏州德创能不能去工作?

每一家公司都有自身特点&#xff0c;同时也每一家都有自身的bug。 苏州德创作为美国康耐视Cognex产品在华东最大的代理商&#xff0c;也是康耐视外包团队。那么苏州德创有哪些业务构成&#xff0c;业务的构成也是其招聘的主要人员的方向。 设备视觉供应商&#xff0c;如卓越&…

免杀对抗-防溯源拉黑+防流量审计

防朔源拉黑-CDN节点 1.购买一个域名&#xff0c;开启开启cdn 2.全球ping一下域名&#xff0c;可以看到cdn生效 3.根据自己cs版本修改对应c2项目文件 下载&#xff1a;https://github.com/threatexpress/malleable-c2 打开文件搜索http-get&#xff0c;将如下图修改为设置cdn的域…

动手学深度学习—网络中的网络NiN(代码详解)

目录 1. NiN块2. NiN模型3. 训练模型 LeNet、AlexNet和VGG都有一个共同的设计模式&#xff1a; 通过一系列的卷积层与汇聚层来提取空间结构特征&#xff1b;然后通过全连接层对特征的表征进行处理。 如果在过程的早期使用全连接层&#xff0c;可能会完全放弃表征的空间结构。 …

Unsupervised Medical Image Translation with Adversarial Diffusion Models

基于对抗扩散模型的无监督医学图像翻译 论文链接&#xff1a;https://arxiv.org/abs/2207.08208 项目链接&#xff1a;https://github.com/icon-lab/SynDiff Abstract 通过源-目标模态转换对缺失图像进行补全可以提高医学成像方案的多样性。利用生成对抗网络(GAN)进行一次映…

string类型数据的基本操作

1.string类型的基本操作 2.string类型数据的扩展操作 2.1 增加和减少 2.2 控制数据的生命周期 3.string类型数据操作的注意事项

nginx中gzip推荐配置

#开启gzip压缩功能 gzip on; #设置允许压缩的页面最小字节数; 这里表示如果文件小于10个字节,就不用压缩,因为没有意义,本来就很小. gzip_min_length 10k; #设置压缩缓冲区大小,此处设置为4个16K内存作为压缩结果流缓存 gzip_buffers 4 16k;#压缩版本 gzip_http_version 1…

PDCA项目开发环境搭建说明

PDCA项目开发环境搭建说明 环境准备 JDK 15.0 &#xff1b; IDEA Community Edition 2021.3 版本要对应&#xff0c;不然会报错 Jdk 安装步骤&#xff1a;https://blog.csdn.net/qq_34913677/article/details/108894727 IDea 安装说明&#xff1a;https://blog.csdn.net/dream…