一、概述
支持向量机(Support Vector Machine,简称SVM)是一种对数据进行二分类的广义线性分类器,是一种监督学习算法,其决策边界是对学习样本求解的最大边距超平面。
SVM使用铰链损失函数计算经验风险并在求解系统中加入了正则化项以优化结构风险,是一个具有稀疏性和稳健性的分类器 。
SVM可以通过核方法进行非线性分类,是常见的核学习方法之一。
总结来说,SVM有三大核心,分别是最大边距超平面、对偶问题以及核方法
二、最大边距超平面
在讲解最大超平面之前,先讲一下什么是线性可分。
线性可分是分类问题中的一个基础概念,它指的是在特征空间中,存在一个超平面(在二维空间中为一条直线,三维空间中为一个平面,更高维度则为超平面),使得所有属于一个类别的样本点都位于该超平面的同一侧,而所有属于另一个类别的样本点都位于该超平面的另一侧。换句话说,存在一个线性函数(或超平面)可以将不同类别的样本完全分开。
考虑一个二维数据集,其中红色“×”表示第一类样本,蓝色“√”表示第二类样本。如果能在二维平面上找到一条直线将这两类样本完全分开,则称该数据集是线性可分的。
然而,对于线性可分的数据集,可能存在多个超平面都能将数据分开。为了找到最佳的超平面,我们引入了支持向量机(SVM)算法。SVM算法认为最佳的超平面应该满足以下条件:
1.完全可分性:能够将训练集中的不同类别样本完全分开。
2.稳健性:对训练集中的噪声和异常值具有较好的鲁棒性。
3.最大间隔:与样本数据之间的间隔达到最大。
这里的“间隔”是指两侧样本点到超平面的最短距离之和,通常简称为“边距”(Margin)。为了找到最大间隔的超平面,我们需要考虑距离超平面最近的那些样本点,即支持向量(Support Vectors)。这些支持向量决定了最大间隔超平面的位置。
在SVM中,我们试图最大化边距,即找到距离超平面最近的样本点到超平面的距离之和 margin = min(d1 + d2),并确保这个距离之和在所有可能的超平面中是最大的。这样的超平面就被称为最大边距超平面(Maximum Margin Hyperplane),也是我们在SVM算法中寻求的最佳超平面。通过求解一个优化问题,SVM可以找到这个最大边距超平面,并使用它来对新数据进行分类。
转化为数学公式为:
点到直线的距离d:</