持续更新补充完善…
-
什么是支持向量机?
支持向量机(Support Vector Machine,
SVM)是一种用于分类和回归分析的监督学习模型。它的基本原理是通过找到一个最佳的决策边界(超平面)来最大化类别间的间隔,从而实现分类。 -
详细介绍支持向量机的工作原理。
-
线性可分:
-
对于线性可分的数据,SVM通过找到最大化间隔的超平面来分类数据。此时,SVM的优化目标是最大化边界到支持向量的距离,通过硬间隔最大化,学习一个线性分类器,即硬间隔支持向量机。
- 优化问题: min w , b 1 2 ∥ w ∥ 2 \min_{\mathbf{w}, b} \frac{1}{2} \|\mathbf{w}\|^2 w,bmin21∥w∥2
- 约束条件: y i ( w ⋅ x i + b ) ≥ 1 , ∀ i y_i (\mathbf{w} \cdot \mathbf{x}_i + b) \geq 1, \forall i yi(w⋅xi+b)≥1,∀i 其中, x i \mathbf{x}_i xi 是输入向量, y i y_i yi 是类别标签。
-
-
近似线性可分:
-
当训练数据近似线性可分时,引入松弛变量,通过软间隔最大化,引入了软间隔的概念,允许部分数据点违背约束条件,但会对这些违背的点进行惩罚,从而学习一个线性分类器,即软间隔支持向量机。
- 优化问题:
min w , b , ξ 1 2 ∥ w ∥ 2 + C ∑ i = 1 N ξ i \min_{\mathbf{w}, b, \xi} \frac{1}{2} \|\mathbf{w}\|^2 + C \sum_{i=1}^{N} \xi_i w,b,ξmin21∥w∥2+Ci=1∑Nξi - 约束条件: y i ( w ⋅ x i + b ) ≥ 1 − ξ i , ξ i ≥ 0 , ∀ i y_i (\mathbf{w} \cdot \mathbf{x}_i + b) \geq 1 - \xi_i, \xi_i \geq 0, \forall i yi(w⋅xi+b)≥1−ξi,ξi≥0,∀i 其中, ξ i \xi_i ξi 是松弛变量, C C C 是惩罚参数。
- 优化问题:
-
-
非线性可分:
- 对于非线性可分的数据,SVM通过引入核函数(Kernel Function)将数据映射到高维空间,使得在高维空间中数据线性可分,同时,使软间隔最大化,从而学习非线性支持向量机。
-
-
支持向量机中被分错的向量是不是支持向量?
在硬间隔(Hard Margin)SVM中,不允许任何数据点被错误分类,所有数据点必须在间隔之外,支持向量是那些恰好位于间隔边界上的数据点。
而在软间隔(Soft Margin)SVM中,允许一些数据点被错误分类,以便在允许少量误差的情况下找到一个更好的决策边界。支持向量包括:位于间隔边界上的数据点、间隔边界内的数据点(可能被正确分类也可能被错误分类)、被错误分类的数据点。因此,被分错的向量也是支持向量。 -
支持向量机的间隔指的是什么?
SVM的间隔指的是决策边界到最近的训练样本(支持向量)的距离。 -
硬间隔SVM和软间隔SVM的区别是什么?
- 硬间隔(Hard Margin):
- 当数据集线性可分时,硬间隔SVM试图找到一个超平面,使得所有训练样本都被正确分类,并且间隔最大化。
- 优化目标:最大化间隔,同时确保所有样本满足分类约束条件。
- 数学公式:
min w , b 1 2 ∥ w ∥ 2 \min_{\mathbf{w}, b} \frac{1}{2} \|\mathbf{w}\|^2 w,bmin21∥w∥2
约束条件:
y i ( w ⋅ x i + b ) ≥ 1 , ∀ i y_i (\mathbf{w} \cdot \mathbf{x}_i + b) \geq 1, \forall i yi(w⋅xi+b)≥1,∀i
其中, y i y_i yi 是样本 x i \mathbf{x}_i xi 的标签。
- 软间隔(Soft Margin):
- 当数据集不可线性分时,软间隔SVM允许某些样本点违背分类约束,通过引入松弛变量(slack variables)来允许一些误分类,从而最大化间隔。
- 优化目标:最大化间隔,同时允许一定程度的分类错误。
- 数学公式:
min w , b , ξ 1 2 ∥ w ∥ 2 + C ∑ i = 1 N ξ i \min_{\mathbf{w}, b, \xi} \frac{1}{2} \|\mathbf{w}\|^2 + C \sum_{i=1}^{N} \xi_i w,b,ξmin21∥w∥2+Ci=1∑Nξi
约束条件:
y i ( w ⋅ x i + b ) ≥ 1 − ξ i , ξ i ≥ 0 , ∀ i y_i (\mathbf{w} \cdot \mathbf{x}_i + b) \geq 1 - \xi_i, \xi_i \geq 0, \forall i yi(w⋅xi+b)≥1−ξi,ξi≥0,∀i
其中, ξ i \xi_i ξi 是松弛变量, C C C 是惩罚参数。
-
为什么SVM采用间隔最大化?
-
提高泛化能力:
- 减少过拟合: 最大化间隔有助于减少过拟合的风险。在训练数据中,模型通过选择一个能够最大化间隔的决策边界,可以更好地适应训练数据中的变异,同时避免对训练数据的过度拟合。
- 增强鲁棒性: 更大的间隔意味着决策边界离训练数据点更远,从而增加了模型对新数据点(测试数据)的容错能力和鲁棒性。换句话说,模型对噪声和异常值的敏感度降低,更加稳健。
-
唯一性和最优性:
- 唯一的最优解: 最大化间隔方法保证了唯一的最优解。通过最大化间隔,SVM可以找到一个唯一的决策边界,而不是像其他一些算法那样可能存在多个可能的边界。
- 优化目标明确: SVM通过最大化间隔将分类问题转化为一个凸优化问题,使得优化过程更简单、更高效。
-
-
为什么要将求解 SVM 的原始问题转换为其对偶问题
- 对偶问题往往更易求解,当我们寻找约束存在时的最优点的时候,约束的存在虽然减小了需要搜寻的范围,但是却使问题变得更加复杂。为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,即拉格朗日函数,再通过这个函数来寻找最优点。
- 可以自然引入核函数,进而推广到非线性分类问题。