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

相关推荐
小宇的天下9 分钟前
Calibre eqDRC(方程化 DRC)核心技术解析与实战指南(14-2)
人工智能·机器学习·支持向量机
qunaa01019 分钟前
YOLO13-C3k2-RFCBAMConv:基于改进卷积的显卡型号识别与分类技术详解
人工智能·数据挖掘
F_D_Z10 分钟前
K-Means 聚类的目标函数:簇内误差平方和
机器学习·kmeans·聚类
周杰伦fans13 分钟前
BIM(建筑信息模型)不仅仅是一项技术
人工智能
seasonsyy18 分钟前
再说机器学习与深度学习的关系
人工智能·深度学习·机器学习
饼干,19 分钟前
期末考试3
开发语言·人工智能·python
乾元20 分钟前
AI 在 BGP 池管理与路由安全(RPKI / ROA)中的自动化运用——服务提供商网络中“可验证路由”的工程化实现
运维·服务器·网络·人工智能·网络协议·安全·自动化
视觉&物联智能21 分钟前
【杂谈】-AGI的皇帝新衣:OpenAI商业模式能否抵御开源模型冲击?
人工智能·ai·开源·openai·agi·deepseek
jackylzh22 分钟前
数据集标签文件转换方法--将 XML 文件类型转化为 TXT 文件类型
人工智能·python·深度学习
小程故事多_8023 分钟前
Manus AI技术架构深度解析,CPU与GPU的异构协作革命
人工智能·架构·aigc