支持向量机(SVM)核心笔记

一、核心目标与基本概念

1. 基本需求:在样本空间中找到一个划分超平面,将不同类别样本分开。
2. 理想超平面:对训练样本局部扰动的"容忍性"最优,即最大化margin(间隔)------超平面到两类样本中最近点的距离之和。
3. 关键定义

超平面:n维空间中的n-1维子空间,用方程 wᵀx + b = 0 表示(如3维空间中是平面,2维空间中是直线)。

支持向量:距离超平面最近的样本点,是决定超平面位置的关键,其他样本点不影响。

点到超平面距离:n维空间中,点x到超平面wᵀx + b = 0的距离为 |wᵀx + b| / √(wᵀw)。

二、SVM优化目标与推导

1. 优化目标转化

初始目标:最大化间隔(margin = 2d,d为超平面到最近样本点的距离),即最大化d。

样本标签定义:正例Y=+1,负例Y=-1;决策方程为 y(x) = w·Φ(x) + b(Φ(x)是数据的高维映射)。

约束条件:通过放缩变换,使所有样本满足 Y·(w·Φ(x) + b) ≥ 1(保证样本在超平面正确一侧且远离超平面)。

目标函数转化:最大化d等价于最小化 (1/2)wᵀw(因d = 1/√(wᵀw),最大化d即最小化wᵀw),最终优化问题变为:

最小化:(1/2)wᵀw

约束条件:Y·(w·Φ(x) + b) ≥ 1

2. 拉格朗日乘子法求解

带约束优化转换:引入拉格朗日乘子α,构造拉格朗日函数:

L(w, b, α) = (1/2)wᵀw - Σαᵢ[Yᵢ·(w·Φ(xᵢ) + b) - 1]

(约束:αᵢ ≥ 0,ΣαᵢYᵢ = 0)

求偏导得关键条件
  1. 对w求偏导并令其为0:w = ΣαᵢYᵢΦ(xᵢ)

  2. 对b求偏导并令其为0:ΣαᵢYᵢ = 0

对偶问题转化:将w代入拉格朗日函数,原最小化问题转化为最大化问题:

max Σαᵢ - (1/2)ΣΣαᵢαⱼYᵢYⱼ·Φ(xᵢ)·Φ(xⱼ)

(约束:αᵢ ≥ 0,ΣαᵢYᵢ = 0)

三、关键拓展:软间隔与核函数

1. 软间隔(处理噪音数据)

问题:实际数据存在噪音,硬间隔(要求完全分类正确)会导致超平面泛化能力差。

解决方案:引入松弛因子ξᵢ(ξᵢ ≥ 0,代表样本允许的分类误差),修改约束条件和目标函数:

约束条件:Y·(w·Φ(x) + b) ≥ 1 - ξᵢ

目标函数:min (1/2)wᵀw + CΣξᵢ(C为惩罚参数,C越大对误差容忍越低,C越小容忍越高)

对偶问题约束:0 ≤ αᵢ ≤ C(原硬间隔中αᵢ ≥ 0)

2. 核函数(处理低维不可分)

问题:低维空间中线性不可分的数据,映射到高维空间后可能线性可分,但高维映射计算复杂度极高。

核心思想:无需显式计算Φ(x),通过核函数 K(xᵢ, xⱼ) = Φ(xᵢ)·Φ(xⱼ) 直接计算高维内积,降低复杂度。

常见核函数

线性核函数:K(xᵢ, xⱼ) = xᵢ·xⱼ(适用于低维可分数据)

高斯核函数:K(xᵢ, xⱼ) = exp(-||xᵢ - xⱼ||² / (2σ²))(适用于低维不可分数据,σ控制核函数平滑度)

四、SVM求解实例(核心步骤)

  1. 根据对偶问题目标函数,代入样本数据化简表达式;

  2. 对拉格朗日乘子α求偏导并令其为0,求解α(需满足α ≥ 0和ΣαᵢYᵢ = 0);

  3. 代入α计算w:w = ΣαᵢYᵢΦ(xᵢ);

  4. 选择支持向量(α > 0的样本)计算b:b = Yᵢ - w·Φ(xᵢ);

  5. 得到超平面方程:w·x + b = 0。