支持向量机(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。