【机器学习】04_支持向量机_拉格朗日对偶法

拉格朗日对偶法(Lagrange Dual Method)

示例问题:二维线性可分 SVM

假设我们只有两个样本点,特征空间为 R2\mathbb{R}^2R2:

  1. 正例 (y1=+1y_1 = +1y1=+1) :x1=(3,3)Tx_1 = (3, 3)^Tx1=(3,3)T 1
  2. 负例 (y2=−1y_2 = -1y2=−1) :x2=(1,1)Tx_2 = (1, 1)^Tx2=(1,1)T 2
    我们的目标是找到一个硬间隔最大化分离超平面 w⋅x+b=0w \cdot x + b = 0w⋅x+b=0

第一步:构造原始问题 (Primal Problem)

根据课件,原始目标是最小化 12∣∣w∣∣2\frac{1}{2}||w||^221∣∣w∣∣2 4:

minw,b12(w12+w22)min_{w,b} \frac{1}{2}(w_1^2 + w_2^2)minw,b21(w12+w22)
约束条件 (yi(w⋅xi+b)≥1y_i(w \cdot x_i + b) \ge 1yi(w⋅xi+b)≥1)

  1. 对于 x1x_1x1:1(3w1+3w2+b)≥1⇒3w1+3w2+b−1≥01(3w_1 + 3w_2 + b) \ge 1 \Rightarrow 3w_1 + 3w_2 + b - 1 \ge 01(3w1+3w2+b)≥1⇒3w1+3w2+b−1≥0
  2. 对于 x2x_2x2:−1(1w1+1w2+b)≥1⇒−w1−w2−b−1≥0-1(1w_1 + 1w_2 + b) \ge 1 \Rightarrow -w_1 - w_2 - b - 1 \ge 0−1(1w1+1w2+b)≥1⇒−w1−w2−b−1≥0

第二步:构造拉格朗日函数

引入拉格朗日乘子 α1,α2≥0\alpha_1, \alpha_2 \ge 0α1,α2≥0 6666:

L(w,b,α)=12(w12+w22)−α1(3w1+3w2+b−1)−α2(−w1−w2−b−1)L(w, b, \alpha) = \frac{1}{2}(w_1^2 + w_2^2) - \alpha_1(3w_1 + 3w_2 + b - 1) - \alpha_2(-w_1 - w_2 - b - 1)L(w,b,α)=21(w12+w22)−α1(3w1+3w2+b−1)−α2(−w1−w2−b−1)

第三步:求解对偶问题 (Dual Problem)

为了得到对偶问题的表达形式,我们先对 www 和 bbb 求偏导并令其为 0 8:

  1. ∂L∂w=0⇒w=α1x1y1+α2x2y2\frac{\partial L}{\partial w} = 0 \Rightarrow w = \alpha_1 x_1 y_1 + \alpha_2 x_2 y_2∂w∂L=0⇒w=α1x1y1+α2x2y2 9999
    • w1=3α1−α2w_1 = 3\alpha_1 - \alpha_2w1=3α1−α2
    • w2=3α1−α2w_2 = 3\alpha_1 - \alpha_2w2=3α1−α2
  2. ∂L∂b=0⇒α1y1+α2y2=0⇒α1−α2=0⇒α1=α2\frac{\partial L}{\partial b} = 0 \Rightarrow \alpha_1 y_1 + \alpha_2 y_2 = 0 \Rightarrow \alpha_1 - \alpha_2 = 0 \Rightarrow \alpha_1 = \alpha_2∂b∂L=0⇒α1y1+α2y2=0⇒α1−α2=0⇒α1=α2
    将上述关系代入 LLL,得到只包含 α\alphaα 的对偶目标函数 W(α)W(\alpha)W(α)
    maxαα1+α2−12∑i=12∑j=12αiαjyiyj(xi⋅xj)max_{\alpha} \alpha_1 + \alpha_2 - \frac{1}{2} \sum_{i=1}^{2} \sum_{j=1}^{2} \alpha_i \alpha_j y_i y_j (x_i \cdot x_j)maxαα1+α2−21i=1∑2j=1∑2αiαjyiyj(xi⋅xj)
    计算内积:x1⋅x1=18,x2⋅x2=2,x1⋅x2=6x_1 \cdot x_1 = 18, x_2 \cdot x_2 = 2, x_1 \cdot x_2 = 6x1⋅x1=18,x2⋅x2=2,x1⋅x2=6。
    代入 α1=α2=α\alpha_1 = \alpha_2 = \alphaα1=α2=α:
    W(α)=2α−12[α2(18)+α2(2)−2α2(6)]=2α−4α2W(\alpha) = 2\alpha - \frac{1}{2} [\alpha^2(18) + \alpha^2(2) - 2\alpha^2(6)] = 2\alpha - 4\alpha^2W(α)=2α−21[α2(18)+α2(2)−2α2(6)]=2α−4α2
    对 α\alphaα 求极值:dWdα=2−8α=0⇒α=0.25\frac{dW}{d\alpha} = 2 - 8\alpha = 0 \Rightarrow \alpha = 0.25dαdW=2−8α=0⇒α=0.25。
    所以:α1∗=0.25,α2∗=0.25\alpha_1^* = 0.25, \alpha_2^* = 0.25α1∗=0.25,α2∗=0.25 13。

第四步:解出最优参数 w∗w^*w∗ 和 b∗b^*b∗

  1. 求解 w∗w^*w∗ w∗=α1y1x1+α2y2x2=0.25(1)(33)+0.25(−1)(11)=(0.50.5)w^* = \alpha_1 y_1 x_1 + \alpha_2 y_2 x_2 = 0.25(1)\begin{pmatrix} 3 \\ 3 \end{pmatrix} + 0.25(-1)\begin{pmatrix} 1 \\ 1 \end{pmatrix} = \begin{pmatrix} 0.5 \\ 0.5 \end{pmatrix}w∗=α1y1x1+α2y2x2=0.25(1)(33)+0.25(−1)(11)=(0.50.5)
  2. 求解 b∗b^*b∗(使用支持向量 x1x_1x1,y1(w⋅x1+b)=1y_1(w \cdot x_1 + b) = 1y1(w⋅x1+b)=1)15151515:
    1(0.5×3+0.5×3+b)=1⇒3+b=1⇒b∗=−21(0.5 \times 3 + 0.5 \times 3 + b) = 1 \Rightarrow 3 + b = 1 \Rightarrow b^* = -21(0.5×3+0.5×3+b)=1⇒3+b=1⇒b∗=−2

总结结论

  • 分离超平面 :0.5x1+0.5x2−2=00.5x_1 + 0.5x_2 - 2 = 00.5x1+0.5x2−2=0 16
  • 决策函数 :f(x)=sign(0.5x1+0.5x2−2)f(x) = sign(0.5x_1 + 0.5x_2 - 2)f(x)=sign(0.5x1+0.5x2−2) 17
  • 物理意义 :这两个点都是支持向量(因为 α∗>0\alpha^* > 0α∗>0)18181818。超平面正好位于 (3,3)(3,3)(3,3) 和 (1,1)(1,1)(1,1) 连线的中垂线上。

通过这个例子你可以看到: 我们根本没有直接去解复杂的 www 方程组,而是通过解简单的 α\alphaα 得到了最终结果。这就是对偶法的魅力。

相关推荐
MSTcheng.1 分钟前
CANN ops-math:AI 硬件端高效数学运算的算子设计与工程化落地方法
人工智能·深度学习·cann
Dev7z6 分钟前
基于深度学习的肺部听诊音疾病智能诊断方法研究
人工智能·深度学习
一灰灰blog10 分钟前
Spring AI中的多轮对话艺术:让大模型主动提问获取明确需求
数据库·人工智能·spring
行者无疆_ty16 分钟前
什么是Node.js,跟OpenCode/OpenClaw有什么关系?
人工智能·node.js·openclaw
AC赳赳老秦24 分钟前
2026国产算力新周期:DeepSeek实战适配英伟达H200,引领大模型训练效率跃升
大数据·前端·人工智能·算法·tidb·memcache·deepseek
工程师老罗25 分钟前
基于Pytorch的YOLOv1 的网络结构代码
人工智能·pytorch·yolo
xfddlm28 分钟前
边缘计算_ubuntu环境下使用瑞芯微RK3576NPU推理LLM
人工智能·ubuntu·边缘计算
日晨难再1 小时前
DSO.ai:基于AI的搜索优化型EDA工具介绍
人工智能·数字ic
机器学习之心HML1 小时前
多光伏电站功率预测新思路:当GCN遇见LSTM,解锁时空预测密码,python代码
人工智能·python·lstm
JarryStudy1 小时前
HCCL与PyTorch集成 hccl_comm.cpp DDP后端注册全流程
人工智能·pytorch·python·cann