第7章:支持向量机(SVM)
第7章:支持向量机(SVM)树模型的决策边界是"轴对齐的阶梯",而 SVM 在说:“我要找那条与两类数据距离最大的分界线——不是随便一条能分开的线,而是最宽的那条街道的中心线。” 这个追求"最大间隔"的执念,催生了 20 世纪最优雅的分类算法之一。0. 本章导读核心问题:为什么"最大间隔"是个好主意?SVM 如何用对偶问题和核技巧在高维空间里分类?学完你将掌握:最大间隔分类器的几何直觉与数学推导硬间隔 SVM 的二次规划原问题与 KKT 条件软间隔 SVM:松弛变量与参数 C 的作用对偶问题:从原问题到 Lagrange 对偶,为什么对偶更高效核技巧:如何在不显式映射到高维的情况下处理非线性问题常用核函数(线性核、RBF 核、多项式核)的直觉与选择策略SVM 的局限与最佳实践:何时用、何时不用1. 最大间隔:为什么不只是"能分开"就够了?💭先想一想:假设你要在平面上画一条线,把红点和蓝点分开。下图有无数条线都能分开它们,你会选哪一条?为什么?× × × × o o × o o o o ← 无数条分界线都行,哪条最好? →(停下来想一想……)✅解答:直觉上,我们会选"离两边都最远"的那条线——离最近的红点和最近的蓝点距离相等,且这个距离最大。原因很朴素:如果决策边界紧贴某一类数据,测试时一点点噪声就会导致误分类。间隔越大,模型对扰动越鲁棒,泛化性能理论上越好。这就是 SVM 的核心动机。1.1 几何间隔的定义设超平面方程为w⊤x+b=0\mathbf{w}^\top \mathbf{x} + b = 0w⊤x+b=0,样本xi\mathbf{x}_ixi到该超平面的有符号距离为:γ^i=yi(w⊤xi+b∥w∥)\hat{\gamma}_i = y_i \left( \frac{\mathbf{w}^\top \mathbf{x}_i + b}{\|\mathbf{w}\|} \right)γ^i=yi(∥w∥w⊤xi+b)其中yi∈{ +1,−1}y_i \in \{+1, -1\}yi∈{+1,−1}是类别标签。当预测正确时γ^i0\hat{\gamma}_i 0γ^i0。间隔(Margin)定义为所有样本中最小几何距离的2倍:Margin=2⋅miniγ^i=2∥w∥\text{Margin} = 2 \cdot \min_i \hat{\gamma}_i = \frac{2}{\|\mathbf{w}\|}Margin=2⋅iminγ^i=∥w∥2几何直觉:想象两条与超平面平行的"护栏",一条紧贴正类最近的点,一条紧贴负类最近的点。两条护栏之间的距离就是间隔。那些恰好压在护栏上的样本叫支持向量——SVM 名字的由来!1.2 支持向量的特殊地位支持向量是离决策边界最近的那些样本点,满足:w⊤xi+b=±1\mathbf{w}^\top \mathbf{x}_i + b = \pm 1w⊤xi+b=±1(规范化约束)划重点:最终的超平面只由支持向量决定,其他样本点删掉也不影响结果。这是 SVM 的一个重要性质——模型的复杂度由支持向量数量决定,而非特征维度。2. 硬间隔 SVM:完整数学推导2.1 原问题(Primal Problem)目标:最大化间隔2∥w∥\frac{2}{\|\mathbf{w}\|}∥w∥2,等价于最小化12∥w∥2\frac{1}{2}\|\mathbf{w}\|^221∥w∥2(加12\frac{1}{2}21是为了求导方便)。约束:所有样本被正确分类,且在护栏外侧:yi(w⊤xi+b)≥1,∀i=1,…,ny_i(\mathbf{w}^\top \mathbf{x}_i + b) \geq 1, \quad \forall i = 1, \ldots, nyi(w⊤xi+b)≥1,∀i=1,…,n写成标准形式:minw,b12∥w∥2\min_{\mathbf{w}, b} \quad \frac{1}{2}\|\mathbf{w}\|^2w,bmin21∥w∥2s.t.yi(w⊤xi+b)≥1,i=1,…,n\text{s.t.} \quad y_i(\mathbf{w}^\top \mathbf{x}_i + b) \geq 1, \quad i = 1, \ldots, ns.t.yi(w⊤xi+b)≥1,i=1,…,n这是一个**凸二次规划(Convex QP)**问题,有唯一全局最优解。2.2 Lagrange 函数与 KKT 条件引入 Lagrange 乘子αi≥0\alpha_i \geq 0αi≥0,构造 Lagrangian:L(w,b,α)=12∥w∥2−∑i=1nαi[yi(w⊤xi+b)−1]\mathcal{L}(\mathbf{w}, b, \boldsymbol{\alpha}) = \frac{1}{2}\|\mathbf{w}\|^2 - \sum_{i=1}^{n} \alpha_i \left[ y_i(\mathbf{w}^\top \mathbf{x}_i + b) - 1 \right]L(w,b,α)=21∥w∥2−i=1∑nαi[yi(w⊤xi+b)−1]对w\mathbf{w}w和bbb求偏导并令其为零:∂L∂w=w−∑i=1nαiyixi=0 ⟹ w∗=∑i=1nαiyixi\frac{\partial \mathcal{L}}{\partial \mathbf{w}} = \mathbf{w} - \sum_{i=1}^{n} \alpha_i y_i \mathbf{x}_i = 0 \implies \mathbf{w}^* = \sum_{i=1}^{n} \alpha_i y_i \mathbf{x}_i∂w∂L=w−i=1∑nαiyixi=0⟹w∗=i=1∑nαiyixi∂L∂b=−∑i=1nαiyi=0 ⟹ ∑i=1nαiyi=0\frac{\partial \mathcal{L}}{\partial b} = -\sum_{i=1}^{n} \alpha_i y_i = 0 \implies \sum_{i=1}^{n} \alpha_i y_i = 0∂b∂L=−i=1∑nαiyi=0⟹i=1∑nαiyi=0KKT 互补条件(最重要!):αi[yi(w⊤xi+b)−1]=0,∀i\alpha_i \left[ y_i(\mathbf{w}^\top \mathbf{x}_i + b) - 1 \right] = 0, \quad \forall iαi[yi(w⊤xi+b)−1]=0,∀i这意味着:要么αi=0\alpha_i = 0αi=0(该样本不是支持向量,被"忽视"),要么yi(w⊤xi+b)=1y_i(\mathbf{w}^\top \mathbf{x}_i + b) = 1yi(w⊤xi+b)=1(该样本恰好压在护栏上,是支持向量)。关键结论:w∗=∑i∈SVαiyixi\mathbf{w}^* = \sum_{i \in \text{SV}} \alpha_i y_i \mathbf{x}_iw∗=∑i∈SVαiyix
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2501807.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!