实训日志day28

一、SVM 核心基础

  1. 基本需求 :在样本空间中找到一个划分超平面 ,实现不同类别样本的分离。超平面是 n 维空间映射到 n-1 维的子空间,由 n 维向量和实数定义,如三维空间中超平面是二维平面,二维空间中超平面是一维直线,其方程为wᵀx + b = 0(w 为法向量,b 为位移项)。
  2. 理想超平面标准 :对训练样本局部扰动的 "容忍性" 最佳,即能在样本发生微小变化时,仍保持良好的分类效果,核心是最大化margin(间隔)------ 超平面到两类样本中最近点的距离之和(margin = 2d,d 为超平面到最近样本点的距离)。
  3. 支持向量:距离超平面最近的样本点,是决定超平面位置的关键,SVM 的模型复杂度仅与支持向量数量相关,而非样本总数。
  4. 点到超平面距离:基于二维空间点 (x,y) 到直线 Ax+By+C=0 的距离公式(|Ax+By+C|/√(A²+B²)),拓展到 n 维空间,点到超平面 wᵀx + b = 0 的距离为 **|wᵀx + b|/√(wᵀw)**。

二、SVM 优化目标与转化

  1. 初始目标
    • 样本标签定义:正例 Y=+1,负例 Y=-1;决策方程为y(x) = w·Φ(x) + b(Φ(x) 是对数据的变换,用于后续处理非线性问题)。
    • 核心目标:找到 w 和 b,使离超平面最近的样本点(支持向量)距离最远,即满足Yᵢ·(w·Φ(xᵢ)+b) ≥ 1 (通过放缩 w 和 b,让支持向量满足等号),最终转化为最大化 d = 1/√(wᵀw)
  2. 目标转化:将 "最大化 d" 的极大值问题,等价转化为 "最小化 (1/2) wᵀw" 的极小值问题(因 wᵀw 最小化时,1/√(wᵀw) 最大化),约束条件仍为 Yᵢ・(w・Φ(xᵢ)+b) ≥ 1。

三、SVM 求解:拉格朗日乘子法

  1. 构建拉格朗日函数 :针对带约束的极小值问题,引入拉格朗日乘子 αᵢ(αᵢ ≥ 0),函数为:
    L(w,b,α) = (1/2)wᵀw - Σαᵢ[Yᵢ·(w·Φ(xᵢ)+b) - 1]
  2. 对偶问题转化 :利用对偶性,将 "min (w,b) max (α) L (w,b,α)" 转化为 "max (α) min (w,b) L (w,b,α)",通过对 w 和 b 求偏导并令其为 0,得到关键条件:
    • 对 w 求偏导:w = ΣαᵢYᵢΦ(xᵢ)(w 由支持向量的 αᵢ、Yᵢ和 Φ(xᵢ) 决定)。
    • 对 b 求偏导:ΣαᵢYᵢ = 0(α 与样本标签 Y 的加权和为 0)。
  3. 最终对偶问题 :将上述条件代入拉格朗日函数,最终求解目标变为:
    max(α) [Σαᵢ - (1/2)ΣΣαᵢαⱼYᵢYⱼΦ(xᵢ)·Φ(xⱼ)] ,约束条件为ΣαᵢYᵢ = 0αᵢ ≥ 0

四、SVM 求解实例

通过具体数据计算,代入对偶问题目标函数后,对 α₁、α₂等变量求偏导并令其为 0,筛选满足 αᵢ ≥ 0 约束的解(若偏导为 0 的解不满足约束,则在边界上找最优解,如 α₁=0.25、α₃=0.25、α₂=0),再代入 w 和 b 的计算公式:

  • 求解 w:w = ΣαᵢYᵢΦ(xᵢ)(实例中得到 w=(0.5,0.5))。
  • 求解 b:b = Yᵢ - ΣαⱼYⱼΦ(xⱼ)·Φ(xᵢ)(实例中得到 b=-2)。
  • 最终超平面方程:0.5x₁ + 0.5x₂ - 2 = 0

五、特殊场景处理

  1. 软间隔:应对噪音数据
    • 问题:当数据含噪音时,硬间隔(要求完全分类正确)会导致超平面效果差,需引入松弛因子 ξᵢ ≥ 0 ,将约束条件放宽为Yᵢ·(w·xᵢ + b) ≥ 1 - ξᵢ
    • 目标函数:变为min(w,b,ξ) [(1/2)wᵀw + CΣξᵢ](C 为惩罚参数),C 越大,对分类错误的惩罚越重(接近硬间隔);C 越小,对错误的容忍度越高。
    • 求解调整:拉格朗日乘子约束变为0 ≤ αᵢ ≤ C,其他步骤与硬间隔类似。
  2. 低维不可分:核变换
    • 问题:低维空间中样本线性不可分,需映射到高维空间(如 3 维数据映射到 9 维),但高维空间内积计算复杂(复杂度 O (n²))。
    • 核函数解决方案:引入核函数 K (xᵢ,xⱼ) = Φ(xᵢ)・Φ(xⱼ) ,无需显式计算高维映射 Φ(x),直接通过低维样本计算内积,常用核函数包括:
      • 线性核函数:K (xᵢ,xⱼ) = xᵢ・xⱼ(适用于低维可分数据)。
      • 高斯核函数(RBF):K (xᵢ,xⱼ) = exp (-||xᵢ - xⱼ||²/(2σ²))(适用于非线性数据,通过调节 σ 控制映射范围)。