SVM支持向量机原理总结

文中借鉴引用CSDN各大博主文献,图片,并非完全原创。

支持向量机SVM是一种二类分类模型,其基本模型是定义在特征空间上的间隔最大的线性分类器。 

硬间隔:要求所有样本又必须划分正确 

软j间隔:允许一些样本(不满足(w^t)x + b >= 1)出错。 

当训练数据线性可分时:通过硬间隔最大化,学习一个线性的分类器,即线性可分支持向量机(硬间隔SVM)。 

当训练数据近似线性可分时:通过软间隔最大化,学习一个线性的分类器,即线性支持向量机(软间隔SVM) 

当训练数据线性不可分时:通过使用核技巧及软间隔最大化,学习非线性支持向量机。 

支持向量机包括的内容: 

支持向量  最大间隔  线性可分/不可分 凸优化问题  对偶问题   核函数的使用  SMO算法 

对于SVM和LR的异同: 

相同: 

不同: 

线性可分支持向量机

让我们从一个线性分类任务开始 

       如果一个线性函数能够将样本分开,我们称这些数据样本是线性可分的。那么什么是线性函数? 在二维空间中,线性函数就是一条y关于x的直线,三维空间就是一个平面,以此类推。如果不考虑空间维数,那么这个间隔函数被统称为超平面。 

硬间隔支持向量机 

间隔最大化和支持向量: 

对于一个二维空间,如下图: 

      有很多条线都能将其分开(无数条)。而我们所说的线性可分支持向量机就对应着能将数据正确划分并且间最大的直线。 

那么怎么才能间隔最大?一般来说,一个点距离超平面的远近可以表示为分类预测的确信度,一开始图中的A,B两点,B被预测为正类的确定度大于A。所以SVM的目标是寻找一个超平面,使得离超平面较近的异类点能够有更大的间隔。即:不用考虑所有点,只需让求得的离超平面使离它近的点的间隔最大。 

计算间隔: 

其实间隔说白了就是:两个异类支持向量的差在W方向上的投影,W方向是超平面的法线方向。 

最后的结论公式便是支持向量机的基本型。 

。该基本型是一个凸二次规划问题,什么是凸二次规划见数学基础(凸)。 

软间隔支持向量机 

      在前面的讨论中,我们假设训练样本在样本空间或特征空间是线性可分的,但在现实任务中往往很难确定合适的核函数(见非线性与核)使得训练集在特征空间中线性可分。退一步说,即使恰好找到了这样的核函数使得样本在特征空间中线性可分,也很难判断是不是由于过拟合做成。 

松弛变量:为了解决这种问题,可引入松弛变量。 

       

       

非线性与核

对于非线性问题,线性可分支持向量机并不能有效解决,要使用非线性模型才能很好的分类。 

如下图:可以使用一个椭圆将它们分开。非线性问题往往不好求解,所以希望能使用解线性分类问题的方法求解,因此可以采用非线性变换,将非线性函数变换为线性函数。 

对于这种问题:可以将训练样本从原始空间映射到一个更高维的空间,使得样本在这个空间中线性可分。如果原始空间维数是有限的,即属性是有限的,那么一定存在一个高维特征空间是线性可分的。令ϕ(x)表示将 x 映射后的特征向量,于是在特征空间中,划分超平面所对应的的模型可表示为: 

即xi和xj在特征空间中的内积等于他们在原始样本空间中通过函数k(xi,xj)计算的函数值。 

  

猜你喜欢

转载自blog.csdn.net/qq249356520/article/details/89208089