引言
在机器学习领域,支持向量机(Support Vector Machine, SVM)是一款经典且高效的监督学习算法,尤其在小样本、高维数据分类场景中表现突出,比如早期的文本分类、图像识别等任务。不同于逻辑回归等概率模型,SVM 的核心思想是 “找到最优划分超平面”,通过最大化分类间隔提升模型泛化能力。本文将结合 PPT 内容,从基础概念到数学推导,再到工程实践细节,一步步拆解 SVM 的核心逻辑,帮你彻底搞懂这款 “老牌强算法”。
一、SVM 核心思想:从 “划分超平面” 到 “理想超平面”
要理解 SVM,首先要明确它的基本需求:在样本空间中找到一个划分超平面,将不同类别的样本完全分开(硬间隔场景下)。但 “能分开” 的超平面有无数个,哪一个才是最好的?
理想超平面:最大化 “局部扰动容忍性”
SVM 的关键洞察是:理想的超平面应对训练样本的局部扰动具有最好的容忍性。换句话说,即使训练样本有微小偏移,超平面仍能正确分类 —— 这种特性直接决定了模型的泛化能力。
举个直观例子:假设二维空间中有两类样本(正例和负例),存在多条直线可将它们分开。其中,“离两类样本都最远” 的直线就是理想超平面 —— 因为它与样本的 “安全距离” 最大,轻微扰动不会导致分类错误。
超平面的数学定义
超平面是 n 维空间中的 n-1 维子空间,比如:
- 二维空间(平面)的超平面是直线;
- 三维空间的超平面是平面;
- 更高维空间的超平面则是抽象的 n-1 维子结构。
其数学方程为:wTx+b=0
其中:
- wT是超平面的法向量(决定超平面的方向);
- b 是超平面的截距(决定超平面的位置);
- x是样本在 n 维空间中的特征向量。
二、关键概念:Margin(间隔)与支持向量
要找到 “离样本最远” 的超平面,需要量化 “距离”—— 这就引出了Margin(间隔) 和支持向量的概念。
Margin 的定义:两类样本到超平面的 “最小距离的两倍”
Margin 是 SVM 的核心优化目标,定义为:两类样本中,离超平面最近的点到超平面距离的两倍。
- 正例标签 (yi = +1);
- 负例标签 (yi = -1)。
支持向量:决定超平面的 “关键样本”
那些满足 yi(wTxi+b)=1的样本,就是支持向量(Support Vector)—— 它们是离超平面最近的样本,直接决定了 Margin 的大小。
重要结论:SVM 的超平面仅由支持向量决定,与其他样本无关。这也是 SVM 在小样本场景中高效的原因之一。
三、SVM 优化问题:从 “最大化 Margin” 到 “最小化
∥w∥2
SVM 的核心优化目标是最大化 Margin,但结合 Margin 的表达式,我们可以将其转化为更易求解的数学问题。
这里的Φ(x) 是数据变换函数—— 若样本在低维空间线性不可分,可通过 Φ(x)将其映射到高维空间(后续 “核变换” 章节详细讲解)。
四、拉格朗日乘子法:求解 SVM 优化问题
上述问题是带不等式约束的凸优化问题,无法直接用梯度下降求解,需通过拉格朗日乘子法转化为对偶问题求解。
构造拉格朗日函数
对每个约束条件引入非负拉格朗日乘子 αi≥0,构造拉格朗日函数
L(w,b,α)=21∥w∥2−∑i=1nαi[yi(wTΦ(xi)+b)−1]
其中α=[α1,α2,...,αn]T是拉格朗日乘子向量。
对偶问题转化:min max → max min
要最小化 L 对 w, b 的值,需分别对 w 和 b 求偏导,并令偏导数为 0:
第二步:代入拉格朗日函数,得到对偶目标
将式 (1) 和式 (2) 代入原拉格朗日函数,消去 \(\boldsymbol{w}\) 和 b,最终得到对偶问题的目标函数: maxα∑i=1nαi−21∑i=1n∑j=1nαiαjyiyjΦ(xi)TΦ(xj)
约束条件为:∑i=1nαiyi=0,αi≥0(i=1,2,...,n)
求解实例:直观理解对偶问题
PPT 中给出了一个简单的求解实例,这里简化说明: 假设存在 3 个样本,通过代入对偶目标函数,对 (α1, α2, α3) 求偏导并结合约束(αi>0),最终得到非零的 αi值(仅支持向量对应的 αi> 0)。
五、软间隔 SVM:应对噪音与线性不可分
前面讨论的 “硬间隔 SVM” 要求样本完全线性可分,但实际数据中往往存在噪音点(异常值)—— 若强行用硬间隔,超平面会严重偏离最优位置,泛化能力骤降。此时需要引入 “软间隔”。
5.1 引入松弛因子ξi
为允许少量样本分类错误或偏离 Margin,引入松弛因子 ξi大于等于0 ,表示第i个样本的 “偏离程度”:
- 若 ξi = 0样本在 Margin 外侧,分类正确;
- 若 0 <ξi < 1样本在 Margin 内侧,分类正确;
- 若ξi >1样本被错误分类。
其中,C 的含义的关键:
- C 越大:对错误的惩罚越重,模型越倾向于严格分类(接近硬间隔);
- C 越小:对错误的容忍度越高,模型更关注 Margin 大小。
六、核变换:解决低维不可分问题
当样本在低维空间中无法线性分时,SVM 的解决方案是:将样本映射到高维空间—— 在高维空间中,样本可能变得线性可分。但直接映射会面临 “维度灾难”(计算量爆炸),而核函数(Kernel Function)正是解决这一问题的关键。
6.1 维度灾难的困境
6.4 高斯核的直观理解
高斯核的作用是将样本映射到 “无限维空间”,但通过指数函数的特性,仍能在低维高效计算。其可视化效果是:对靠近的样本赋予高相似度(核值接近 1),对远离的样本赋予低相似度(核值接近 0)—— 相当于在样本空间中 “画圆”(二维)或 “画球”(高维),实现非线性分类。
七、SVM 总结与实践建议
7.1 SVM 的优缺点
- 优点:
- 泛化能力强:基于 Margin 最大化,对过拟合有天然抑制;
- 适合高维数据:无需降维,可直接处理如文本(词袋模型)等高维特征;
- 鲁棒性好:仅依赖支持向量,对噪音不敏感(软间隔下)。
- 缺点:
- 对大样本不友好:时间复杂度 \(O(n^2)\),样本量超过 10 万时效率低;
- 参数敏感:C(惩罚系数)和核函数参数(如高斯核的 \(\gamma\))需仔细调优;
- 不直接输出概率:需额外通过交叉验证拟合概率。
5667

被折叠的 条评论
为什么被折叠?



