支持向量机(Support Vector Machine,简称SVM)是一种监督学习模型,主要用于分类和回归分析
。
SVM的基本思想是寻找一个决策边界或超平面
,使得两类样本之间的间隔最大化
。
这个间隔被定义为支持向量到超平面的最短距离
,而支持向量
就是那些恰好位于间隔边缘上的训练样本点。
线性可分情况下的SVM
假设我们有一组训练数据 ,其中 是输入特征向量
, 是对应的输出标签
( 或
SVM试图找到一个最优超平面
来区分这两类数据,其中 是权重向量
, 是偏置项。
最大间隔超平面公式
为了找到最大间隔超平面,我们需要满足以下条件:
这表示对于所有的训练样本,它们都必须正确分类并且与决策边界保持至少单位距离。
这个距离由 给出,因此我们的目标是最小化
公式解释
- :第
- :第 个训练样本的标签,取值为 或
软间隔SVM
在实际问题中,数据可能不是完全线性可分的
,此时可以允许一些样本点跨越
决策边界,这就是所谓的软间隔SVM。
为此,我们引入松弛变量
和惩罚参数
,并最小化以下目标函数:
同时满足:
核技巧
当数据不是线性可分时
,SVM通过核函数
(Kernel Function)将原始低维特征空间映射到高维特征空间,在高维空间中找到一个线性超平面来实现分类。
常用的核函数包括多项式核、高斯核(RBF核)、Sigmoid核等。
核函数公式
其中, 表示从原始特征空间到高维特征空间的映射函数
, 是核函数
,它直接计算两个向量在高维空间中的内积。
拉格朗日乘子法
SVM的优化问题通常通过拉格朗日乘子法
转化为对偶
问题来解决,对偶问题的形式为:
其中,
这些公式和概念构成了SVM的基础,通过调整参数和选择合适的核函数,SVM可以非常有效地处理复杂的数据分类问题。