《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 条件,找到全局最优解。

相关推荐
AI机器学习算法3 小时前
深度学习模型演进:6个里程碑式CNN架构
人工智能·深度学习·cnn·大模型·ai学习路线
Ztopcloud极拓云视角3 小时前
从 OpenRouter 数据看中美 AI 调用量反转:统计口径、模型路由与多云应对方案
人工智能·阿里云·大模型·token·中美ai
AI医影跨模态组学3 小时前
如何将深度学习MTSR与膀胱癌ITGB8/TGF-β/WNT机制建立关联,并进一步解释其与患者预后及肿瘤侵袭、免疫抑制的生物学联系
人工智能·深度学习·论文·医学影像
搬砖的前端3 小时前
AI编辑器开源主模型搭配本地模型辅助对标GPT5.2/GPT5.4/Claude4.6(前端开发专属)
人工智能·开源·claude·mcp·trae·qwen3.6·ops4.6
Python私教4 小时前
Hermes Agent 安全加固与生态扩展:2026-04-23 更新解析
人工智能
饼干哥哥4 小时前
Kimi K2.6 干成了Claude Design国产版,一句话生成电影级的动态品牌网站
人工智能
肖有米XTKF86464 小时前
带货者精品优选模式系统的平台解析
人工智能·信息可视化·团队开发·csdn开发云
天天进步20154 小时前
打破沙盒限制:OpenWork 如何通过权限模型实现安全的系统级调用?
人工智能·安全
xcbrand4 小时前
政府事业机构品牌策划公司找哪家
大数据·人工智能·python
骥龙4 小时前
第十篇:合规与未来展望——构建AI智能体安全标准
人工智能·安全