南瓜书公式详解------第六章-1(支持向量机1)

式6.8(支持向量机目标函数)

L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) L(\boldsymbol{w},b,\boldsymbol{\alpha}) = \frac{1}{2}||\boldsymbol{w}||^2+\sum_{i=1}^m\alpha_i(1-y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)) L(w,b,α)=21∣∣w2+i=1mαi(1yi(wTxi+b))
这个公式是支持向量机(SVM)中的目标函数,也称为损失函数或正则化风险最小化问题。它用于在训练过程中找到最优的权重向量 w \boldsymbol{w} w 和偏置项 b b b。下面是公式中各个部分的解释:

  • L ( w , b , α ) L(\boldsymbol{w}, b, \boldsymbol{\alpha}) L(w,b,α):损失函数,用于衡量模型预测与实际标签之间的差异。
  • 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||\boldsymbol{w}||^2 21∣∣w2:正则化项,其中 ∣ ∣ w ∣ ∣ 2 ||\boldsymbol{w}||^2 ∣∣w2 w \boldsymbol{w} w 的欧几里得范数的平方,这有助于防止模型过拟合。
  • ∑ i = 1 m α i \sum_{i=1}^m\alpha_i i=1mαi:对所有样本的系数 α i \alpha_i αi 求和。
  • 1 − y i ( w T x i + b ) 1 - y_i(\boldsymbol{w}^T\boldsymbol{x}_i + b) 1yi(wTxi+b):第 i i i 个样本的误差,其中 y i y_i yi 是样本的真实标签, w T x i + b \boldsymbol{w}^T\boldsymbol{x}_i + b wTxi+b 是模型对样本 x i \boldsymbol{x}_i xi 的预测值。如果预测值与实际标签一致,误差为 0;如果不一致,误差为 1 或更高。
  • α i \alpha_i αi:第 i i i 个样本的拉格朗日乘子,用于在优化过程中平衡正则化和误差。

SVM 的目标是最小化这个损失函数,同时满足 0 ≤ α i ≤ C 0 \leq \alpha_i \leq C 0αiC,其中 C C C 是一个正的参数,用于控制模型的复杂度和对误分类的容忍度。通过求解这个优化问题,可以得到最优的权重向量 w \boldsymbol{w} w 和偏置项 b b b,从而定义出决策边界。

优化问题通常通过拉格朗日乘子法和二次规划(Quadratic Programming, QP)来解决。求解完成后,只有一部分样本点(即支持向量)的 α i \alpha_i αi 会是非零的,这些点决定了决策边界的位置和形状。

式6.9(支持向量机:计算决策函数的权重向量 ω \omega ω

w = ∑ i = 1 m α i y i x i \boldsymbol{w} = \sum_{i=1}^m\alpha_iy_i\boldsymbol{x}_i w=i=1mαiyixi
这个公式是机器学习中支持向量机(Support Vector Machine, SVM)算法的一个关键公式,用于计算决策函数的权重向量 w \boldsymbol{w} w。这里解释一下公式中的各个部分:

  • w \boldsymbol{w} w:权重向量,用于确定决策边界的方向和位置。
  • ∑ \sum :表示求和,是对所有项进行累加。
  • m m m:样本数量,即训练数据集中的点的数量。
  • α i \alpha_i αi:第 i i i 个样本的系数,通常由优化算法确定,反映了样本点在决策边界上的重要性。
  • y i y_i yi:第 i i i 个样本的标签,通常是 +1 或 -1,表示分类的两个类别。
  • x i \boldsymbol{x}_i xi:第 i i i 个样本的特征向量。

该公式的意思是,权重向量 w \boldsymbol{w} w 是所有支持向量(即那些有非零系数 α i \alpha_i αi 的点)的特征向量的加权和,其中权重由相应的 α i \alpha_i αi y i y_i yi 确定。这个权重向量与偏置项 b b b 一起定义了决策函数,可以用来对新的数据点进行分类。在 SVM 中,决策函数通常表示为:

$ f ( x ) = w ⋅ x + b f(\boldsymbol{x}) = \boldsymbol{w} \cdot \boldsymbol{x} + b f(x)=wx+b$

其中 w ⋅ x \boldsymbol{w} \cdot \boldsymbol{x} wx w \boldsymbol{w} w 和特征向量 x \boldsymbol{x} x 的点积, b b b 是偏置项。

式6.10(支持向量机约束条件—KK条件)

0 = ∑ i = 1 m α i y i 0=\sum_{i=1}^m\alpha_iy_i 0=i=1mαiyi
这个等式是支持向量机(SVM)中的一个约束条件,称为“间隔的一致性条件”或“KKT条件”(Karush-Kuhn-Tucker条件)。它确保了在优化过程中,所有样本的拉格朗日乘子 α i \alpha_i αi 与它们对应的标签 y i y_i yi 的乘积之和等于零。下面是这个条件的详细解释:

  • α i \alpha_i αi:第 i i i 个样本的拉格朗日乘子,它表示了样本在优化过程中的权重。
  • y i y_i yi:第 i i i 个样本的真实标签,通常是 +1 或 -1,表示两个不同的类别。
  • m m m:样本的总数。

这个等式意味着:

  • 对于二分类问题,正类和负类样本的权重(由 α i \alpha_i αi 表示)在优化过程中达到平衡,确保模型不会偏向于任何一方。
  • 这个条件是SVM优化问题的一部分,与损失函数一起定义了SVM的求解目标。
  • 这个等式也与SVM的对偶问题有关,它确保了原始问题的解与对偶问题的解是一致的。

在SVM的实际应用中,这个条件通常与其他约束条件一起使用,例如 0 ≤ α i ≤ C 0 \leq \alpha_i \leq C 0αiC,其中 C C C 是一个正的参数,用于控制模型对误分类的容忍度和正则化强度。通过满足这些条件,SVM能够找到最佳的决策边界,以区分不同的类别。

名词解释----对偶问题

在数学优化和机器学习中,对偶问题是与原问题相对应的另一个优化问题。在原问题中,我们寻找最优解以最小化或最大化某个目标函数,同时满足一定的约束条件。对偶问题则是从原问题的拉格朗日函数出发,通过交换最小化和最大化的操作来构建的。

原问题与对偶问题的关系

  1. 原问题(Primal Problem):

    • 目标是最小化(或最大化)某个目标函数。
    • 有一系列的约束条件。
  2. 对偶问题(Dual Problem):

    • 目标是最大化(或最小化)原问题的拉格朗日函数对拉格朗日乘子的线性组合。
    • 约束条件通常是原问题的对偶,即原问题的拉格朗日函数中的非线性部分。

支持向量机(SVM)中的对偶问题

以SVM为例,其原始问题是求解一个线性分类器,目标是找到一个决策边界,使得两类数据点之间的间隔最大化。原始问题可以表述为:

min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 s.t. y i ( w T x i + b ) ≥ 1 , ∀ i = 1 , … , m \begin{aligned} \min_{\boldsymbol{w}, b} & \quad \frac{1}{2} ||\boldsymbol{w}||^2 \\ \text{s.t.} & \quad y_i(\boldsymbol{w}^T\boldsymbol{x}_i + b) \geq 1, \quad \forall i = 1, \ldots, m \end{aligned} w,bmins.t.21∣∣w2yi(wTxi+b)1,i=1,,m

这个原始问题可以通过拉格朗日乘子法转化为对偶问题:

max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i , j = 1 m α i α j y i y j x i T x j s.t. ∑ i = 1 m α i y i = 0 , α i ≥ 0 , ∀ i = 1 , … , m \begin{aligned} \max_{\boldsymbol{\alpha}} & \quad \sum_{i=1}^m \alpha_i - \frac{1}{2} \sum_{i,j=1}^m \alpha_i \alpha_j y_i y_j \boldsymbol{x}_i^T \boldsymbol{x}_j \\ \text{s.t.} & \quad \sum_{i=1}^m \alpha_i y_i = 0, \\ & \quad \alpha_i \geq 0, \quad \forall i = 1, \ldots, m \end{aligned} αmaxs.t.i=1mαi21i,j=1mαiαjyiyjxiTxji=1mαiyi=0,αi0,i=1,,m

对偶问题的重要性

  • 求解效率:对偶问题在某些情况下比原始问题更容易求解,尤其是在大规模优化问题中。
  • 理论性质:对偶问题提供了对原问题解的性质的深入理解,例如,原问题的最优解和对偶问题的最优解之间的关系。
  • 算法实现:在机器学习中,对偶问题常常通过算法(如梯度下降、坐标下降等)来求解,这些算法可以有效地处理大规模数据集。

对偶问题在优化理论中扮演着重要的角色,并且在机器学习、经济学、工程学等领域有着广泛的应用。

式6.11(支持向量机对偶问题的表现形式)

max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j  s.t.  ∑ i = 1 m α i y i = 0 α i ≥ 0 i = 1 , 2 , … , m \begin{aligned} \max_{\boldsymbol{\alpha}} & \sum_{i=1}^m\alpha_i - \frac{1}{2}\sum_{i = 1}^m\sum_{j=1}^m\alpha_i \alpha_j y_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j \\ \text { s.t. } & \sum_{i=1}^m \alpha_i y_i =0 \\ & \alpha_i \geq 0 \quad i=1,2,\dots ,m \end{aligned} αmax s.t. i=1mαi21i=1mj=1mαiαjyiyjxiTxji=1mαiyi=0αi0i=1,2,,m
这个公式是支持向量机(SVM)的对偶问题(dual problem)的表述形式。SVM是一种用于分类和回归的监督学习模型,它通过找到数据点之间的最优边界(称为最大间隔分割)来区分不同的类别。下面是公式各部分的解释:

  1. 目标函数

    max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j \max_{\boldsymbol{\alpha}} \sum_{i=1}^m\alpha_i - \frac{1}{2}\sum_{i = 1}^m\sum_{j=1}^m\alpha_i \alpha_j y_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j αmaxi=1mαi21i=1mj=1mαiαjyiyjxiTxj

    这个表达式是SVM对偶问题的目标函数,它是一个凸二次规划问题。目标是最大化目标函数,其中:

    • 第一项 ∑ i = 1 m α i \sum_{i=1}^m\alpha_i i=1mαi 是所有样本的拉格朗日乘子 α i \alpha_i αi 的和。
    • 第二项 − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j -\frac{1}{2}\sum_{i = 1}^m\sum_{j=1}^m\alpha_i \alpha_j y_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j 21i=1mj=1mαiαjyiyjxiTxj 是正则化项,用于避免过拟合,其中 x i T x j \boldsymbol{x}_i^T\boldsymbol{x}_j xiTxj 是样本 x i \boldsymbol{x}_i xi x j \boldsymbol{x}_j xj 的内积。
  2. 约束条件

    • 第一个约束条件是:
      ∑ i = 1 m α i y i = 0 \sum_{i=1}^m \alpha_i y_i =0 i=1mαiyi=0
      这个条件确保了对偶问题中的间隔一致性,即正样本和负样本的权重乘以它们的标签后求和等于零。

    • 第二个约束条件是:
      α i ≥ 0 for  i = 1 , 2 , … , m \alpha_i \geq 0 \quad \text{for } i=1,2,\dots ,m αi0for i=1,2,,m
      这个条件确保了所有样本的拉格朗日乘子 α i \alpha_i αi 都是非负的。

通过对偶问题求解,我们可以得到最优的拉格朗日乘子 α i \alpha_i αi。只有那些对应的 α i \alpha_i αi 非零的样本点(即支持向量)会影响最终的决策边界。这些支持向量是距离决策边界最近的点,它们决定了SVM模型的性能。

求解对偶问题通常比求解原始问题(涉及 w \boldsymbol{w} w b b b 的优化问题)更高效,特别是对于大规模数据集。求解完成后,可以使用这些最优的 α i \alpha_i αi 来构造决策函数,从而对新样本进行分类。

名词解释–拉格朗日乘子法

拉格朗日乘子法(Lagrange Multiplier Method)是一种在数学优化中用于求解带有等式约束的非线性问题的方法。这种方法通过引入拉格朗日乘子(Lagrange multipliers)来将约束问题转化为无约束问题,从而简化问题的求解过程。

基本原理

假设我们有一个优化问题,目标是最小化或最大化一个函数 f ( x 1 , x 2 , . . . , x n ) f(x_1, x_2, ..., x_n) f(x1,x2,...,xn),同时满足一个或多个等式约束 g i ( x 1 , x 2 , . . . , x n ) = 0 g_i(x_1, x_2, ..., x_n) = 0 gi(x1,x2,...,xn)=0,其中 i = 1 , 2 , . . . , m i = 1, 2, ..., m i=1,2,...,m

  1. 构造拉格朗日函数:首先构造拉格朗日函数 L L L,它是目标函数和约束函数的线性组合,形式如下:
    L ( x 1 , x 2 , . . . , x n , λ 1 , . . . , λ m ) = f ( x 1 , x 2 , . . . , x n ) + ∑ i = 1 m λ i g i ( x 1 , x 2 , . . . , x n ) L(x_1, x_2, ..., x_n, \lambda_1, ..., \lambda_m) = f(x_1, x_2, ..., x_n) + \sum_{i=1}^m \lambda_i g_i(x_1, x_2, ..., x_n) L(x1,x2,...,xn,λ1,...,λm)=f(x1,x2,...,xn)+i=1mλigi(x1,x2,...,xn)
    其中, λ i \lambda_i λi 是拉格朗日乘子,对应于第 i i i 个约束。

  2. 求解无约束问题:接下来,我们对 L L L 分别对 x 1 , x 2 , . . . , x n x_1, x_2, ..., x_n x1,x2,...,xn λ 1 , . . . , λ m \lambda_1, ..., \lambda_m λ1,...,λm 求偏导数,并将它们设为零,得到一系列方程:
    ∂ L ∂ x j = 0 , j = 1 , 2 , . . . , n \frac{\partial L}{\partial x_j} = 0, \quad j = 1, 2, ..., n xjL=0,j=1,2,...,n
    ∂ L ∂ λ i = 0 , i = 1 , 2 , . . . , m \frac{\partial L}{\partial \lambda_i} = 0, \quad i = 1, 2, ..., m λiL=0,i=1,2,...,m

  3. 求解方程组:求解上述方程组,可以得到原始变量 x 1 , x 2 , . . . , x n x_1, x_2, ..., x_n x1,x2,...,xn 和拉格朗日乘子 λ 1 , . . . , λ m \lambda_1, ..., \lambda_m λ1,...,λm 的值。

  4. 验证解的有效性:得到的解需要满足所有原始约束条件,并且需要检查是否满足KKT条件(如果问题是非凸的)。

应用

拉格朗日乘子法在多个领域有广泛应用,包括但不限于:

  • 经济学:在最优化问题中,拉格朗日乘子可以解释为资源的边际价值。
  • 物理学:在受约束的动力学问题中,拉格朗日乘子可以用于求解物体的运动。
  • 工程学:在设计和优化问题中,用于考虑约束条件。
  • 机器学习:在支持向量机(SVM)等算法中,用于求解带约束的优化问题。

注意事项

  • 拉格朗日乘子法适用于等式约束问题。如果存在不等式约束,可能需要使用KKT条件。
  • 得到的解可能是局部最优解,不一定是全局最优解。
  • 在实际应用中,可能需要数值方法来求解得到的方程组。

名词解释–KK条件和KKT条件

KK条件和KKT条件是数学优化中的两个概念,它们都与拉格朗日乘子法有关,但应用的上下文和条件的内容有所不同。

KKT条件(Karush-Kuhn-Tucker Conditions)

KKT条件是一组充分条件,用于确定一个点是否是凸优化问题的局部最优解。对于一般的非线性规划问题,KKT条件包括以下几个部分:

  1. 原问题的可行性:解必须满足所有等式和不等式的约束。
  2. 对偶问题的可行性:对偶问题的解(如果有的话)也必须满足所有约束。
  3. 互补松弛性:对于每个不等式约束,要么约束是满足的(即不等式是严格的),要么对应的拉格朗日乘子是零。
  4. 梯度为零:原问题的拉格朗日函数对所有变量(包括原始变量和拉格朗日乘子)的梯度之和必须为零。

KK条件(Karush Conditions)

KK条件是KKT条件的一个特例,它适用于当优化问题中的约束都是等式约束时。KK条件包括:

  1. 原问题的可行性:解必须满足所有的等式约束。
  2. 梯度为零:原问题的拉格朗日函数对所有原始变量的梯度必须为零。

区别和联系

  • 适用性:KKT条件适用于包含不等式和等式约束的优化问题,而KK条件仅适用于只有等式约束的优化问题。
  • 互补松弛性:KKT条件包括互补松弛性,这是KK条件所没有的。互补松弛性确保了不等式约束的拉格朗日乘子只在约束边界上非零。
  • 对偶可行性:KKT条件考虑了对偶问题的可行性,而KK条件则没有这一要求。

在实际应用中,特别是在机器学习和经济学等领域,KKT条件被广泛用于确定最优解的存在性和唯一性,以及在算法实现中作为停止准则。而KK条件由于其适用范围的限制,使用较少。

式6.13(支持向量机的KKT条件)

{ α i ⩾ 0 y i f ( x i ) − 1 ⩾ 0 α i ( y i f ( x i ) − 1 ) = 0 \left\{\begin{array}{l}\alpha_{i} \geqslant 0 \\ y_{i} f\left(\boldsymbol{x}_{i}\right)-1 \geqslant 0 \\ \alpha_{i}\left(y_{i} f\left(\boldsymbol{x}_{i}\right)-1\right)=0\end{array}\right. αi0yif(xi)10αi(yif(xi)1)=0
这个公式组是支持向量机(SVM)中的Karush-Kuhn-Tucker (KKT) 条件,它们是优化问题的解必须满足的条件。KKT条件是拉格朗日乘子法中用于解决约束优化问题的一组条件。下面是这些条件的解释:

  1. α i ⩾ 0 \alpha_{i} \geqslant 0 αi0:这个条件说明拉格朗日乘子 α i \alpha_i αi 必须是非负的。在SVM中, α i \alpha_i αi 用于衡量每个样本点对最终决策边界的贡献程度,非负的条件确保了优化的目标是正确的。

  2. y i f ( x i ) − 1 ⩾ 0 y_{i} f(\boldsymbol{x}_{i})-1 \geqslant 0 yif(xi)10:这个条件是间隔的约束条件。 y i y_{i} yi 是样本的真实标签, f ( x i ) f(\boldsymbol{x}_{i}) f(xi) 是模型对第 i i i 个样本的预测函数, 1 1 1 是间隔的宽度。这个条件确保了每个样本点 x i \boldsymbol{x}_{i} xi 都位于间隔边界之内或其上,即正确分类的同时保持一定的间隔。

  3. α i ( y i f ( x i ) − 1 ) = 0 \alpha_{i}(y_{i} f(\boldsymbol{x}_{i})-1)=0 αi(yif(xi)1)=0:这个条件称为互补松弛条件(complementary slackness condition),它是KKT条件中的一个重要部分。它表明如果一个样本点 x i \boldsymbol{x}_{i} xi 正确分类并且不在间隔边界上,即 y i f ( x i ) > 1 y_{i} f(\boldsymbol{x}_{i}) > 1 yif(xi)>1,那么对应的拉格朗日乘子 α i \alpha_i αi 必须为零;反之,如果 α i > 0 \alpha_i > 0 αi>0,则样本点必须位于间隔边界上,即 y i f ( x i ) = 1 y_{i} f(\boldsymbol{x}_{i}) = 1 yif(xi)=1。这意味着只有支持向量(即位于间隔边界上的点)的 α i \alpha_i αi 会是非零的。

这些条件共同确保了SVM模型在训练过程中能够找到最佳的决策边界,并且只有支持向量会影响最终的模型参数。在实际应用中,这些条件是SVM求解过程中不可或缺的一部分,它们帮助我们识别出哪些样本点是重要的,并且如何调整模型以获得最佳的分类效果。

  • 18
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值