在机器学习的广阔领域中,分类算法犹如一个个精准的 “决策官”,帮助我们从海量数据中挖掘规律、做出判断。而在众多分类算法里,支持向量机(Support Vector Machine,简称 SVM)凭借其出色的泛化能力、对小样本数据的良好适应性,以及在高维空间中的优异表现,始终占据着重要地位。无论是在图像识别、文本分类,还是生物信息学等领域,都能看到它的身影。今天,就让我们一起揭开支持向量机的神秘面纱,从基础概念到核心原理,再到实际应用,全方位掌握这一经典算法。
一、初识支持向量机:什么是 SVM?
简单来说,支持向量机是一种监督学习算法,主要用于解决二分类问题,后来也被扩展到多分类和回归问题中。它的核心思想非常直观:在特征空间中找到一个最优超平面,将不同类别的样本清晰地分隔开,并且使这个超平面到两类样本中最近点的距离(即 “间隔”)最大化。
这里有几个关键概念需要我们先明确:
- 特征空间:我们将样本的每个特征视为一个维度,那么一个具有 n 个特征的样本就可以表示为 n 维空间中的一个点,这个空间就是特征空间。例如,判断一个水果是苹果还是橙子,若用 “重量” 和 “直径” 两个特征描述,每个水果就对应二维平面上的一个点。
- 超平面:在 n 维特征空间中,能够将样本分为两类的平面或曲面称为超平面。在二维空间中,超平面是一条直线;在三维空间中,超平面是一个平面;而在更高维度的空间中,超平面则难以用直观图形表示,但可以通过数学公式描述(如 n 维空间中超平面的方程为
w⋅x+b=0
,其中w
是法向量,决定超平面的方向,b
是截距,决定超平面的位置)。
- 支持向量:在所有样本点中,距离最优超平面最近的那些样本点就是支持向量。它们是决定最优超平面位置的关键,因为只要这些支持向量不发生变化,即使其他样本点有所变动,最优超平面也不会改变。
二、深入核心:SVM 的原理与数学推导
理解了 SVM 的基本概念后,我们再来深入探讨其背后的原理。SVM 的目标是找到 “最优超平面”,而这个 “最优” 的标准就是使超平面到两类支持向量的距离之和(即 “间隔”)最大。为什么要追求最大间隔呢?因为间隔越大,模型对未知样本的泛化能力就越强,越不容易出现过拟合现象。
1. 线性可分情况下的 SVM
首先,我们考虑最简单的线性可分场景,即存在一个超平面能够将两类样本完全分开。
假设我们有两类样本,正类样本标记为
y=+1
,负类样本标记为
y=−1
。超平面的方程为
w⋅x+b=0
,对于正类样本,满足
w⋅x+b≥+1
;对于负类样本,满足
w⋅x+b≤−1
。这里将不等式右边设为
±1
,是为了后续计算间隔时更加简便,这一操作并不会影响超平面的位置(相当于对
w
和
b
进行了归一化处理)。
此时,超平面到正类支持向量的距离
d1
和到负类支持向量的距离
d2
可以根据点到平面的距离公式计算:
d1=∥w∥∣w⋅x++b∣=∥w∥1
(其中
x+

最低0.47元/天 解锁文章
37

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



