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

相关推荐
ZHOU_WUYI2 小时前
3.langchain中的prompt模板 (few shot examples in chat models)
人工智能·langchain·prompt
如若1232 小时前
主要用于图像的颜色提取、替换以及区域修改
人工智能·opencv·计算机视觉
老艾的AI世界2 小时前
AI翻唱神器,一键用你喜欢的歌手翻唱他人的曲目(附下载链接)
人工智能·深度学习·神经网络·机器学习·ai·ai翻唱·ai唱歌·ai歌曲
DK221512 小时前
机器学习系列----关联分析
人工智能·机器学习
Robot2512 小时前
Figure 02迎重大升级!!人形机器人独角兽[Figure AI]商业化加速
人工智能·机器人·微信公众平台
FreedomLeo13 小时前
Python数据分析NumPy和pandas(四十、Python 中的建模库statsmodels 和 scikit-learn)
python·机器学习·数据分析·scikit-learn·statsmodels·numpy和pandas
浊酒南街3 小时前
Statsmodels之OLS回归
人工智能·数据挖掘·回归
风间琉璃""3 小时前
二进制与网络安全的关系
安全·机器学习·网络安全·逆向·二进制
畅联云平台4 小时前
美畅物联丨智能分析,安全管控:视频汇聚平台助力智慧工地建设
人工智能·物联网
加密新世界4 小时前
优化 Solana 程序
人工智能·算法·计算机视觉