ARTICLE
支持向量机 (Support Vector Machine, SVM)
支持向量机 (Support Vector Machine, SVM) 支持向量机(Support Vector Machine,简称SVM)是一种经典的监督学习算法,广泛用于分类和回归分析。SVM的核心思想是在特征空间中寻找一个超平面,使得不同类别的样本被尽可能宽地分隔开。该算法由Vapnik及其合作者于20世纪90年代提出,建立在统计学习理论(Stati
支持向量机 (Support Vector Machine, SVM)
支持向量机(Support Vector Machine,简称SVM)是一种经典的监督学习算法,广泛用于分类和回归分析。SVM的核心思想是在特征空间中寻找一个超平面,使得不同类别的样本被尽可能宽地分隔开。该算法由Vapnik及其合作者于20世纪90年代提出,建立在统计学习理论(Statistical Learning Theory)和结构风险最小化(Structural Risk Minimization, SRM)原则之上,具有坚实的理论基础和优秀的泛化能力。
基本概念:线性可分与最大间隔分类器
考虑一个二分类问题。设有训练样本集:
其中 为特征向量, 为类别标签。
在线性可分的情况下,存在一个超平面 能够完全分开两类样本。SVM的目标不仅是找到这样一个超平面,而是要找到使两类样本之间的间隔(Margin)最大化的超平面。
间隔定义为所有训练样本到分割超平面的最小距离。若将超平面参数标准化为:
则间隔大小为 。最大化间隔等价于最小化 ,由此得到SVM的原始优化问题:
该优化问题构成一个凸优化中的二次规划(Quadratic Programming, QP)问题,具有唯一的全局最优解。距离超平面最近的样本点(即恰使约束取等号的那些点)称为支持向量(Support Vectors),它们是决定决策边界的核心样本——模型的名称即源于此。
软间隔与松弛变量
现实中的数据往往不是完美线性可分的:可能存在噪声、异常值或类别之间的重叠区域。为处理这种情况,Cortes和Vapnik(1995)引入了软间隔(Soft Margin)SVM,通过引入松弛变量(Slack Variables) 允许部分样本点位于间隔边界之内甚至被误分类。
软间隔SVM的优化问题为:
其中参数 称为惩罚系数:较大的 对误分类的惩罚更重,决策边界更复杂;较小的 使模型更注重最大化间隔,容忍更多误分类。此参数是SVM最重要的超参数之一,通常通过交叉验证(Cross-Validation)选择。
对偶问题与核技巧
SVM的强大之处在于其对偶表示。通过引入拉格朗日乘子(Lagrange Multipliers),可将原始优化问题转化为其对偶问题:
对偶形式的显著优势在于,优化目标和决策函数仅依赖于样本之间的内积 。这一性质引出SVM最核心的技术——核技巧(Kernel Trick)。
核函数 定义了在某个高维(甚至无限维)特征空间中两个向量的内积,而无需显式地计算该高维空间的坐标变换。常用的核函数包括:
- 线性核:,即原始空间中的线性SVM。
- 多项式核:,引入多项式决策边界。
- 径向基核(RBF核):,最常用的一种核函数,对应无限维特征空间。
- Sigmoid核:。
核技巧使得SVM能够在不显著增加计算复杂度的情况下捕捉复杂的非线性决策边界。线性不可分的数据在核映射后的高维空间中可能变得线性可分,这正是SVM被誉为"核方法之王"的原因。
决策函数与分类规则
利用对偶问题的解,SVM的分类决策函数可写成:
注意,只有支持向量(即 对应的样本)对决策函数有贡献,其余样本的 。这意味着SVM的解具有稀疏性(Sparsity):决策边界仅由训练集的一小部分样本决定,这使模型在推理阶段非常高效。
SVM的扩展:支持向量回归与多分类
SVM的思想不仅限于分类问题。支持向量回归(Support Vector Regression, SVR)将SVM扩展到回归分析:SVR引入-不敏感损失函数,寻找一个在允许误差内尽可能平坦的回归函数。
对于多分类问题,常见策略包括一对多(One-vs-All, OvA)和一对一(One-vs-One, OvO)。实际应用中,SVM通常与OvO或OvA策略结合使用,每个二分类器用单独的训练数据构建。
优点与局限性
SVM的主要优点包括:
- 理论基础坚实,基于结构风险最小化原则,泛化能力强。
- 核函数的灵活性使其能处理线性与非线性问题。
- 解具有稀疏性,仅依赖支持向量,内存效率高。
- 在高维特征空间中表现优异,尤其当特征数大于样本数时仍能有效工作。
其主要局限性包括:
- 对大规模数据集,标准SVM的训练复杂度为 至 ,计算开销较大。
- 核函数的选择和参数(如 和 )的调优对性能影响显著,需要经验和网格搜索(Grid Search)。
- 原始SVM面向二分类设计,多分类扩展需要额外策略。
- 模型输出为类别决策而非概率,虽然可通过Platt缩放(Platt Scaling)等方法进行概率校准。
应用领域
SVM被广泛应用于各类实际问题:在生物信息学中用于基因表达数据的分类和蛋白质结构预测;在图像识别中用于手写数字识别和人脸检测;在文本分类中用于垃圾邮件过滤和情感分析;在金融工程中用于信用评分和市场预测。尽管深度学习在端到端学习的许多领域超越了SVM,SVM在中小规模数据集、高维稀疏特征场景以及需要可解释性的应用中仍然是首选方法之一。