式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∣∣w∣∣2+i=1∑mαi(1−yi(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∣∣w∣∣2:正则化项,其中 ∣ ∣ w ∣ ∣ 2 ||\boldsymbol{w}||^2 ∣∣w∣∣2 是 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) 1−yi(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≤αi≤C,其中 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=1∑mα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)=w⋅x+b$
其中 w ⋅ x \boldsymbol{w} \cdot \boldsymbol{x} w⋅x 是 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=1∑mα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≤αi≤C,其中 C C C 是一个正的参数,用于控制模型对误分类的容忍度和正则化强度。通过满足这些条件,SVM能够找到最佳的决策边界,以区分不同的类别。
名词解释----对偶问题
在数学优化和机器学习中,对偶问题是与原问题相对应的另一个优化问题。在原问题中,我们寻找最优解以最小化或最大化某个目标函数,同时满足一定的约束条件。对偶问题则是从原问题的拉格朗日函数出发,通过交换最小化和最大化的操作来构建的。
原问题与对偶问题的关系
-
原问题(Primal Problem):
- 目标是最小化(或最大化)某个目标函数。
- 有一系列的约束条件。
-
对偶问题(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∣∣w∣∣2yi(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=1∑mαi−21i,j=1∑mαiαjyiyjxiTxji=1∑mαiyi=0,αi≥0,∀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=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxji=1∑mαiyi=0αi≥0i=1,2,…,m
这个公式是支持向量机(SVM)的对偶问题(dual problem)的表述形式。SVM是一种用于分类和回归的监督学习模型,它通过找到数据点之间的最优边界(称为最大间隔分割)来区分不同的类别。下面是公式各部分的解释:
-
目标函数:
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=1∑mαi−21i=1∑mj=1∑mα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 −21∑i=1m∑j=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 的内积。
-
约束条件:
-
第一个约束条件是:
∑ i = 1 m α i y i = 0 \sum_{i=1}^m \alpha_i y_i =0 i=1∑mαiyi=0
这个条件确保了对偶问题中的间隔一致性,即正样本和负样本的权重乘以它们的标签后求和等于零。 -
第二个约束条件是:
α i ≥ 0 for i = 1 , 2 , … , m \alpha_i \geq 0 \quad \text{for } i=1,2,\dots ,m αi≥0for 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。
-
构造拉格朗日函数:首先构造拉格朗日函数 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=1∑mλigi(x1,x2,...,xn)
其中, λ i \lambda_i λi 是拉格朗日乘子,对应于第 i i i 个约束。 -
求解无约束问题:接下来,我们对 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 ∂xj∂L=0,j=1,2,...,n
∂ L ∂ λ i = 0 , i = 1 , 2 , . . . , m \frac{\partial L}{\partial \lambda_i} = 0, \quad i = 1, 2, ..., m ∂λi∂L=0,i=1,2,...,m -
求解方程组:求解上述方程组,可以得到原始变量 x 1 , x 2 , . . . , x n x_1, x_2, ..., x_n x1,x2,...,xn 和拉格朗日乘子 λ 1 , . . . , λ m \lambda_1, ..., \lambda_m λ1,...,λm 的值。
-
验证解的有效性:得到的解需要满足所有原始约束条件,并且需要检查是否满足KKT条件(如果问题是非凸的)。
应用
拉格朗日乘子法在多个领域有广泛应用,包括但不限于:
- 经济学:在最优化问题中,拉格朗日乘子可以解释为资源的边际价值。
- 物理学:在受约束的动力学问题中,拉格朗日乘子可以用于求解物体的运动。
- 工程学:在设计和优化问题中,用于考虑约束条件。
- 机器学习:在支持向量机(SVM)等算法中,用于求解带约束的优化问题。
注意事项
- 拉格朗日乘子法适用于等式约束问题。如果存在不等式约束,可能需要使用KKT条件。
- 得到的解可能是局部最优解,不一定是全局最优解。
- 在实际应用中,可能需要数值方法来求解得到的方程组。
名词解释–KK条件和KKT条件
KK条件和KKT条件是数学优化中的两个概念,它们都与拉格朗日乘子法有关,但应用的上下文和条件的内容有所不同。
KKT条件(Karush-Kuhn-Tucker Conditions)
KKT条件是一组充分条件,用于确定一个点是否是凸优化问题的局部最优解。对于一般的非线性规划问题,KKT条件包括以下几个部分:
- 原问题的可行性:解必须满足所有等式和不等式的约束。
- 对偶问题的可行性:对偶问题的解(如果有的话)也必须满足所有约束。
- 互补松弛性:对于每个不等式约束,要么约束是满足的(即不等式是严格的),要么对应的拉格朗日乘子是零。
- 梯度为零:原问题的拉格朗日函数对所有变量(包括原始变量和拉格朗日乘子)的梯度之和必须为零。
KK条件(Karush Conditions)
KK条件是KKT条件的一个特例,它适用于当优化问题中的约束都是等式约束时。KK条件包括:
- 原问题的可行性:解必须满足所有的等式约束。
- 梯度为零:原问题的拉格朗日函数对所有原始变量的梯度必须为零。
区别和联系
- 适用性: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.
⎩
⎨
⎧αi⩾0yif(xi)−1⩾0αi(yif(xi)−1)=0
这个公式组是支持向量机(SVM)中的Karush-Kuhn-Tucker (KKT) 条件,它们是优化问题的解必须满足的条件。KKT条件是拉格朗日乘子法中用于解决约束优化问题的一组条件。下面是这些条件的解释:
-
α i ⩾ 0 \alpha_{i} \geqslant 0 αi⩾0:这个条件说明拉格朗日乘子 α i \alpha_i αi 必须是非负的。在SVM中, α i \alpha_i αi 用于衡量每个样本点对最终决策边界的贡献程度,非负的条件确保了优化的目标是正确的。
-
y i f ( x i ) − 1 ⩾ 0 y_{i} f(\boldsymbol{x}_{i})-1 \geqslant 0 yif(xi)−1⩾0:这个条件是间隔的约束条件。 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 都位于间隔边界之内或其上,即正确分类的同时保持一定的间隔。
-
α 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求解过程中不可或缺的一部分,它们帮助我们识别出哪些样本点是重要的,并且如何调整模型以获得最佳的分类效果。
标签:拉格朗,样本,...,boldsymbol,问题,第六章,详解,------,alpha From: https://blog.csdn.net/dengkeaway/article/details/141245087