《SMO算法 公式推导》9-72选择两个变量α1和α2其它固定 公式解析

本文是将文章《SMO算法 公式推导》中的公式单独拿出来做一个详细的解析,便于初学者更好的理解。


公式 9-72 是 SMO(Sequential Minimal Optimization) 算法的关键部分,它是通过将支持向量机的二次规划问题简化为两个拉格朗日乘子 α 1 \alpha_1 α1 和 α 2 \alpha_2 α2 的优化问题推导出来的。为了理解公式 9-72 的推导过程,我们需要回顾 SVM 的对偶问题,以及 SMO 算法的分解原理。

SVM 对偶问题的回顾

SVM 的对偶问题的目标是最小化以下函数:
min ⁡ α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( 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 K(x_i, x_j) - \sum_{i=1}^{N} \alpha_i αmin21i=1∑Nj=1∑NαiαjyiyjK(xi,xj)−i=1∑Nαi

subject to: ∑ i = 1 N α i y i = 0 , 0 ≤ α i ≤ C \text{subject to:} \quad \sum_{i=1}^{N} \alpha_i y_i = 0, \quad 0 \leq \alpha_i \leq C subject to:i=1∑Nαiyi=0,0≤αi≤C

其中:

  • α i \alpha_i αi 是拉格朗日乘子。
  • y i y_i yi 是训练样本的类别标签。
  • K ( x i , x j ) K(x_i, x_j) K(xi,xj) 是核函数,表示样本点 x i x_i xi 和 x j x_j xj 之间的相似性。
  • C C C 是惩罚参数,控制允许的误分类程度。

SMO 算法的思想

SMO 算法通过每次优化两个拉格朗日乘子 α 1 \alpha_1 α1 和 α 2 \alpha_2 α2,将原始的多变量优化问题简化为一个 子问题。SMO 的基本思路是:

  1. 选择两个拉格朗日乘子 α 1 \alpha_1 α1 和 α 2 \alpha_2 α2 进行优化,其余乘子保持固定。
  2. 在优化这两个变量时,其他 α i \alpha_i αi( i ≠ 1 , 2 i \neq 1, 2 i=1,2)的值被固定。
  3. 因为拉格朗日乘子必须满足线性约束 ∑ i = 1 N α i y i = 0 \sum_{i=1}^{N} \alpha_i y_i = 0 ∑i=1Nαiyi=0,这意味着 α 1 \alpha_1 α1 和 α 2 \alpha_2 α2 之间存在线性关系。

公式 9-72 的推导

1. 原始的优化问题

支持向量机的对偶问题是一个关于所有 α 1 , α 2 , ... , α N \alpha_1, \alpha_2, \dots, \alpha_N α1,α2,...,αN 的优化问题,但 SMO 每次只优化两个拉格朗日乘子 α 1 \alpha_1 α1 和 α 2 \alpha_2 α2,其他的乘子保持不变。因此,目标函数可以写成:
S ( α 1 , α 2 ) = 1 2 ∑ i = 1 2 ∑ j = 1 2 α i α j y i y j K ( x i , x j ) + ∑ i = 3 N α i y i ∑ j = 1 2 α j y j K ( x i , x j ) − ∑ i = 1 2 α i S(\alpha_1, \alpha_2) = \frac{1}{2} \sum_{i=1}^{2} \sum_{j=1}^{2} \alpha_i \alpha_j y_i y_j K(x_i, x_j) + \sum_{i=3}^{N} \alpha_i y_i \sum_{j=1}^{2} \alpha_j y_j K(x_i, x_j) - \sum_{i=1}^{2} \alpha_i S(α1,α2)=21i=1∑2j=1∑2αiαjyiyjK(xi,xj)+i=3∑Nαiyij=1∑2αjyjK(xi,xj)−i=1∑2αi

由于我们固定 α 3 , α 4 , ... , α N \alpha_3, \alpha_4, \dots, \alpha_N α3,α4,...,αN,这些部分会在优化过程中视为常数项。

2. 分离出 α 1 \alpha_1 α1 和 α 2 \alpha_2 α2 的部分

我们只关心关于 α 1 \alpha_1 α1 和 α 2 \alpha_2 α2 的部分,因此可以把公式化简为:
S ( α 1 , α 2 ) = 1 2 K 11 α 1 2 + 1 2 K 22 α 2 2 + y 1 y 2 K 12 α 1 α 2 − ( α 1 + α 2 ) S(\alpha_1, \alpha_2) = \frac{1}{2} K_{11} \alpha_1^2 + \frac{1}{2} K_{22} \alpha_2^2 + y_1 y_2 K_{12} \alpha_1 \alpha_2 - (\alpha_1 + \alpha_2) S(α1,α2)=21K11α12+21K22α22+y1y2K12α1α2−(α1+α2)

加上其他固定的部分:

  • y 1 α 1 ∑ i = 3 N y i α i K i 1 + y 2 α 2 ∑ i = 3 N y i α i K i 2 +y_1 \alpha_1 \sum_{i=3}^{N} y_i \alpha_i K_{i1} + y_2 \alpha_2 \sum_{i=3}^{N} y_i \alpha_i K_{i2} +y1α1i=3∑NyiαiKi1+y2α2i=3∑NyiαiKi2

这些项反映了 α 1 \alpha_1 α1 和 α 2 \alpha_2 α2 与固定的其他乘子 α 3 , ... , α N \alpha_3, \dots, \alpha_N α3,...,αN 的交互作用。

3. 约束条件

SMO 需要满足拉格朗日乘子的 线性约束
α 1 y 1 + α 2 y 2 = − ∑ i = 3 N y i α i = γ \alpha_1 y_1 + \alpha_2 y_2 = - \sum_{i=3}^{N} y_i \alpha_i = \gamma α1y1+α2y2=−i=3∑Nyiαi=γ

这个线性约束反映了所有拉格朗日乘子的总和必须为零的条件。通过这个条件,我们可以将 α 1 \alpha_1 α1 和 α 2 \alpha_2 α2 的取值限制在满足该约束的线性空间内。

同时,拉格朗日乘子还必须满足边界条件:
0 ≤ α 1 ≤ C , 0 ≤ α 2 ≤ C 0 \leq \alpha_1 \leq C, \quad 0 \leq \alpha_2 \leq C 0≤α1≤C,0≤α2≤C

这些条件确保了优化解不会超出惩罚参数 C C C 的限制。

公式总结

公式 9-72 是通过将原始 SVM 的对偶问题简化为只优化两个变量的子问题推导出来的。每次只优化两个拉格朗日乘子 α 1 \alpha_1 α1 和 α 2 \alpha_2 α2,其他乘子保持不变,因此目标函数只包含 α 1 \alpha_1 α1 和 α 2 \alpha_2 α2 的二次项和线性项。通过不断地优化不同的乘子对,SMO 能够逐渐逼近最优解。

公式 9-72 具体形式为:
S ( α 1 , α 2 ) = 1 2 K 11 α 1 2 + 1 2 K 22 α 2 2 + y 1 y 2 K 12 α 1 α 2 − ( α 1 + α 2 ) + y 1 α 1 ∑ i = 3 N y i α i K i 1 + y 2 α 2 ∑ i = 3 N y i α i K i 2 S(\alpha_1, \alpha_2) = \frac{1}{2} K_{11} \alpha_1^2 + \frac{1}{2} K_{22} \alpha_2^2 + y_1 y_2 K_{12} \alpha_1 \alpha_2 - (\alpha_1 + \alpha_2) +y_1 \alpha_1 \sum_{i=3}^N y_i \alpha_i K_{i1} + y_2 \alpha_2 \sum_{i=3}^N y_i \alpha_i K_{i2} S(α1,α2)=21K11α12+21K22α22+y1y2K12α1α2−(α1+α2)+y1α1i=3∑NyiαiKi1+y2α2i=3∑NyiαiKi2

约束条件为:
α 1 y 1 + α 2 y 2 = γ , 0 ≤ α 1 ≤ C , 0 ≤ α 2 ≤ C \alpha_1 y_1 + \alpha_2 y_2 = \gamma, \quad 0 \leq \alpha_1 \leq C, \quad 0 \leq \alpha_2 \leq C α1y1+α2y2=γ,0≤α1≤C,0≤α2≤C

SMO 算法通过这个子问题的解析解来更新 α 1 \alpha_1 α1 和 α 2 \alpha_2 α2,然后重复此过程,直到所有乘子满足 KKT 条件,找到全局最优解。

相关推荐
AIGCmagic社区几秒前
AI多模态技术介绍:理解多模态大语言模型的原理
人工智能·语言模型·自然语言处理
图王大胜7 分钟前
模型 双螺旋(通俗解读)
人工智能·管理·系统科学·认知科学·生命科学·战略规划·通识科学
dwjf32126 分钟前
机器学习(四)-回归模型评估指标
人工智能·机器学习·线性回归
吕小明么30 分钟前
OpenAI o3 “震撼” 发布后回归技术本身的审视与进一步思考
人工智能·深度学习·算法·aigc·agi
算力魔方AIPC1 小时前
Meta重磅发布Llama 3.3 70B:开源AI模型的新里程碑
人工智能·llama
CSBLOG1 小时前
深度学习试题及答案解析(一)
人工智能·深度学习
四口鲸鱼爱吃盐1 小时前
Pytorch | 利用VMI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击
人工智能·pytorch·python
四口鲸鱼爱吃盐2 小时前
Pytorch | 利用PI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击
人工智能·pytorch·python
边缘计算社区2 小时前
吉快科技荣膺“金边奖·最佳大模型一体机”,引领AI边缘新时代
人工智能·科技
新智元2 小时前
LeCun 八年前神预言,大模型路线再颠覆?OpenAI 宣告:强化学习取得稳定性突破
人工智能·openai