本文是将文章《近似线性可分支持向量机的原理推导》中的公式单独拿出来做一个详细的解析,便于初学者更好的理解。
公式 9-40 解释:
min α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i \min_{\alpha} \quad \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) - \sum_{i=1}^{N} \alpha_i αmin21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαi
s.t. ∑ i = 1 N α i y i = 0 , 0 ≤ α i ≤ C , i = 1 , 2 , … , N \text{s.t.} \quad \sum_{i=1}^{N} \alpha_i y_i = 0, \quad 0 \leq \alpha_i \leq C, \quad i = 1, 2, \dots, N s.t.i=1∑Nαiyi=0,0≤αi≤C,i=1,2,…,N
公式 9-40 是 近似线性可分支持向量机(SVM) 的对偶问题,通过对原始问题(公式 9-39)进行拉格朗日对偶优化推导而来。这个公式转化后的问题是通过优化对偶变量 α i \alpha_i αi 来求解。
1. 对偶问题的背景:
在支持向量机的优化过程中,原始问题可以通过拉格朗日对偶理论转化为对偶问题。转化后的对偶问题可以让我们使用更有效的算法来解决,尤其是当数据量较大时,对偶问题的求解往往比原始问题更高效。
2. 公式的组成部分:
(1) 目标函数:
1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) - \sum_{i=1}^{N} \alpha_i 21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαi
- α i \alpha_i αi:这是优化变量,称为拉格朗日乘子。每个 α i \alpha_i αi 与数据点 x i x_i xi 相关,控制这个点在优化中的贡献。
- y i y_i yi 和 y j y_j yj:分别是第 i i i 和第 j j j 个样本的标签,取值为 ± 1 \pm 1 ±1。
- ( x i ⋅ x j ) (x_i \cdot x_j) (xi⋅xj):是第 i i i 和第 j j j 个样本的内积,表示它们之间的相似度。
- 第一项 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) 21∑i=1N∑j=1Nαiαjyiyj(xi⋅xj):
- 这是一个二次项,用于描述样本点之间的相互作用。它将每对样本 x i x_i xi 和 x j x_j xj 的贡献通过拉格朗日乘子 α i \alpha_i αi 和 α j \alpha_j αj 结合在一起。目标是最小化这一项,从而找到一个最优的分类超平面。
- 第二项 ∑ i = 1 N α i \sum_{i=1}^{N} \alpha_i ∑i=1Nαi:
- 这是一个线性项,用于拉格朗日乘子 α i \alpha_i αi 的惩罚。目标是使得误分类样本的贡献尽量小。
(2) 约束条件:
∑ i = 1 N α i y i = 0 , 0 ≤ α i ≤ C , i = 1 , 2 , … , N \sum_{i=1}^{N} \alpha_i y_i = 0, \quad 0 \leq \alpha_i \leq C, \quad i = 1, 2, \dots, N i=1∑Nαiyi=0,0≤αi≤C,i=1,2,…,N
- ∑ i = 1 N α i y i = 0 \sum_{i=1}^{N} \alpha_i y_i = 0 ∑i=1Nαiyi=0:
- 这是优化问题中的一个线性约束条件,确保支持向量机的决策函数正确地分隔正类和负类数据。
- 0 ≤ α i ≤ C 0 \leq \alpha_i \leq C 0≤αi≤C:
- 这是每个拉格朗日乘子的约束,表示 α i \alpha_i αi 必须在 0 和 C C C 之间。这里的 C C C 是惩罚系数,控制误分类点的惩罚权重。较大的 C C C 值会减少误分类点的数量。
3. 目标函数的直观解释:
(1) 第一项 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) 21∑i=1N∑j=1Nαiαjyiyj(xi⋅xj):
这一项描述了每对样本 x i x_i xi 和 x j x_j xj 之间的相互作用:
- α i α j \alpha_i \alpha_j αiαj:表示每个样本对目标函数的贡献。
- y i y j y_i y_j yiyj:由于 y i , y j y_i, y_j yi,yj 取值为 ± 1 \pm 1 ±1,这项确保了同类样本(即 y i = y j y_i = y_j yi=yj)对目标函数的贡献为正,异类样本(即 y i ≠ y j y_i \neq y_j yi=yj)对目标函数的贡献为负。
- ( x i ⋅ x j ) (x_i \cdot x_j) (xi⋅xj):是样本之间的相似度。它表示两个样本的内积,内积越大,表示两个样本越相似。
通过最小化这一项,我们希望找到一个超平面,使得同类样本之间的距离尽量远(即分类边界尽量远离异类样本),而异类样本之间的距离尽量远。
(2) 第二项 ∑ i = 1 N α i \sum_{i=1}^{N} \alpha_i ∑i=1Nαi:
这一项是一个线性项,表示对拉格朗日乘子 α i \alpha_i αi 的总和进行惩罚。我们希望通过最小化这一项,来减少误分类样本点的数量。
4. 对偶问题的优势:
- 对偶问题比原始问题更易求解:通过对偶问题,我们可以将原本需要优化 w w w 和 b b b 的问题转化为只需要优化拉格朗日乘子 α i \alpha_i αi 的问题。对偶问题的优化只依赖于数据点之间的内积,这使得我们可以通过核函数扩展到更高维的特征空间。
- 核方法的引入:由于对偶问题只涉及数据点之间的内积,因此我们可以使用核函数来代替内积,从而实现非线性分类。
5. 约束条件的作用:
(1) ∑ i = 1 N α i y i = 0 \sum_{i=1}^{N} \alpha_i y_i = 0 ∑i=1Nαiyi=0:
这个约束条件确保优化过程中的拉格朗日乘子满足平衡条件,即支持向量机的决策函数能够正确地将正类和负类数据分开。
(2) 0 ≤ α i ≤ C 0 \leq \alpha_i \leq C 0≤αi≤C:
这个条件限制了每个拉格朗日乘子的范围。这里的 C C C 是惩罚系数,控制模型对误分类的容忍度。如果 C C C 很大,模型会尽量减少误分类,反之则会允许更多的误分类样本。
6. 对偶问题的几何意义:
- 在对偶问题中,拉格朗日乘子 α i \alpha_i αi 表示每个样本点对决策边界的贡献。只有那些 α i > 0 \alpha_i > 0 αi>0 的样本点被称为支持向量,它们决定了最终的分类边界。
- 非支持向量的 α i = 0 \alpha_i = 0 αi=0,意味着这些点对分类边界没有贡献,它们位于超平面的外部,且对决策函数无关紧要。
7. 总结:
公式 9-40 表示了支持向量机的对偶问题,通过优化拉格朗日乘子 α i \alpha_i αi,我们可以找到最大化分类间隔并最小化误分类的超平面。这个对偶问题比原始问题更易求解,尤其适合大规模数据集。同时,核方法的引入使得我们可以在高维空间中进行非线性分类。