机器学习(支持向量机)
要解决什么样的问题:什么样的决策边界才是最好的?
特征数据本身如果就很难分,怎么办呢?
计算复杂度怎么样?能实际应用吗?
1. 核心思想与直观理解
核心思想:SVM的核心目标是寻找一个最优的决策边界(一个超平面),这个边界能够将不同类别的样本以最大间隔分离开来。
直观比喻:想象在二维平面上有两类不同的点,我们可以画出无数条直线将它们分开。SVM的目标是找到那条“最棒”的直线,这条直线要尽可能地远离两类样本中离它最近的那些点,就好像在两类点之间画出一条最宽的“马路”,而这条马路的中心线就是我们的决策边界。
2. 关键概念与数学推导
2.1 超平面与决策函数
-
超平面:在n维空间中,一个超平面就是一个n-1维的子空间。对于二维空间,超平面是一条直线;对于三维空间,它是一个平面。
-
决策函数:这个超平面可以用一个线性方程定义为:

其中:
-
W是法向量,决定了超平面的方向。
-
b 是偏置项,决定了超平面到原点的距离。
-
X 是特征向量。
-
-
决策规则:

2.2 支持向量与间隔
-
支持向量:这是SVM中最重要的概念。它们是每一类样本中离决策边界最近的那些数据点。正是这些点“支撑”起了整个间隔带,决定了决策边界的位置。移动或删除其他非支持向量的样本,不会改变模型,这使得SVM对数据中的噪声具有一定的鲁棒性。
-
间隔:间隔是决策边界到最近的支持向量的距离。SVM的目标就是找到使这个间隔最大化的 W 和 b。
2.3 函数间隔与几何间隔
-
函数间隔:对于一个样本点 (Xi,yi),其函数间隔定义为:
-

函数间隔可以表示分类的正确性和确信度。值越大,说明分类越确信、越正确。
-
几何间隔:函数间隔会随着 W 和 b 的等比例缩放而改变,这不利于优化。因此我们引入几何间隔,它是函数间隔对权重向量 W 的模长进行归一化的结果:

几何间隔是样本点到超平面的实际欧氏距离,它是一个不随参数缩放而改变的固定值。
2.4 最大化间隔的数学形式
我们的目标是最大化所有样本中最小的几何间隔。这个最大化问题可以表述为:

为了方便求解,我们通常做一个重要的约定:将支持向量上的函数间隔固定为1,即 γ^=1。这样,最大化∣1/∣∣W∣∣ 就等价于最小化∣∣W∣∣。最终,我们将问题转化为一个更易处理的凸二次规划问题:

这里的1/2 是为了后续求导方便。
3. 软间隔与核函数:应对现实世界的复杂性
3.1 软间隔
现实中的数据往往不是完美线性可分的,可能存在噪声或重叠。如果强制要求所有样本都满足约束条件(即“硬间隔”),会导致模型过拟合,或者根本无解。
软间隔的引入允许SVM在一定程度上“犯错”。我们通过在目标函数中引入一个铰链损失和惩罚参数 C 来实现:

3.2 核函数
对于非线性可分的数据,单靠一个超平面无法有效分离。SVM通过一个巧妙的“核技巧”来解决这个问题。
核心思想:将原始低维特征空间中的数据,通过一个非线性映射 ϕ,投射到一个更高维的特征空间中。在这个高维空间中,数据变得线性可分了。然后,我们在这个新空间里寻找最优线性超平面。
核函数的妙处:我们不需要显式地知道这个映射 ϕ 是什么,也不需要在高维空间中进行复杂的计算。核函数K(Xi,Xj) 被定义为两个向量在原始空间中的函数,其计算结果等于它们在高维空间中的内积:

4. SVM的优缺点总结
优点:
-
理论优美:基于坚实的统计学习理论(结构风险最小化)。
-
有效处理高维数据:即使特征维度远高于样本数,也能有效工作。
-
内存效率高:最终的模型仅由支持向量决定,无需存储全部训练数据。
-
泛化能力强:通过最大化间隔,通常具有很好的泛化性能。
-
高度灵活:通过使用不同的核函数,可以解决各种复杂的非线性问题。
缺点:
-
对超参数敏感:当使用非线性核(如RBF)时,惩罚参数 CC 和核参数 γγ 的选择对性能影响巨大,需要仔细调优。
-
训练速度慢:对于大规模数据集,训练时间可能较长(尤其是与线性模型相比)。
-
可解释性差:与逻辑回归和决策树相比,SVM模型(特别是使用非线性核时)的可解释性较差,很难理解每个特征的具体贡献。
-
对缺失数据敏感。
5. 实践中的SVM
-
特征缩放至关重要:SVM的性能很大程度上依赖于距离计算(如RBF核),因此务必对特征进行标准化/归一化,否则范围大的特征会主导模型。
-
核函数选择:
-
首先尝试线性核,如果效果不错且训练速度很快,那就用它。它简单且不易过拟合。
-
如果线性核效果不好,再尝试RBF核。它是解决非线性问题的首选。
-
-
多分类:SVM本质是二分类器。解决多分类问题通常采用一对一或一对多的策略。
总结
支持向量机是一种通过最大化分类间隔来寻找最优决策边界的强大分类器。其核心思想可以概括为:
硬间隔SVM -> 引入软间隔以容忍噪声和重叠 -> 使用核技巧处理非线性问题
通过巧妙地结合间隔最大化、软间隔和核函数,SVM成为了一个既强大又灵活的机器学习工具,在许多复杂任务中表现出色。
更多推荐
所有评论(0)