目录:sheng的学习笔记-AI目录-CSDN博客
目录
什么是向量机
SVM算法原理
SVM基本模型
SVM对偶问题
什么是对偶问题:
为什么使用对偶问题
拉格朗日定理
拉格朗日乘子法
对偶问题算法
非线性SVM算法原理
核函数
常用核函数
软间隔与正则化
软间隔
损失替代函数
拉格朗日解决对偶问题
支持向量回归
逻辑回归和SVM选择
什么是向量机
支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法
与逻辑回归和神经网络相比,支持向量机,在学习复杂的非线性方程时提供了一种更为清晰,更加强大的方式
给定训练样本集D={(x1,y1),(x2,y2),...,(xm,ym)},yi∈{-1,+1},分类学习最基本的想法就是基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开。但能将训练样本分开的划分超平面可能有很多,如图6.1所示,我们应该努力去找到哪一个呢?
比如,这就是一个决策边界可以把正样本和负样本分开。但是多多少少这个看起来并不是非常自然
或者我们可以画一条更差的决策界,这是另一条决策边界,可以将正样本和负样本分开,但仅仅是勉强分开,这些决策边界看起来都不是特别好的选择,支持向量机将会选择这个黑色的决策边界,相较于之前我用粉色或者绿色画的决策界。这条黑色的看起来好得多,黑线看起来是更稳健的决策界。在分离正样本和负样本上它显得的更好。数学上来讲,这是什么意思呢?这条黑线有更大的距离,这个距离叫做间距(margin)
当画出这两条额外的蓝线,我们看到黑色的决策界和训练样本之间有更大的最短距离。然而粉线和蓝线离训练样本就非常近,在分离样本的时候就会比黑线表现差。因此,这个距离叫做支持向量机的间距,而这是支持向量机具有鲁棒性的原因,因为它努力用一个最大间距来分离样本。因此支持向量机有时被称为大间距分类器
SVM算法原理
SVM基本模型
SVM学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。如下图所示,
即为分离超平面,对于线性可分的数据集来说,这样的超平面有无穷多个(即感知机),但是几何间隔最大的分离超平面却是唯一的
SVM对偶问题
什么是对偶问题:
对偶问题是一种数学概念,原始优化问题的另一种表述形式。
对偶问题通过数学变换或转换关系,将原始问题重新表述为另一个问题,通常具有一些特定的性质或特征。在优化理论中,对偶问题是通过构建一个与原问题相关的函数,寻找这个函数的最大值或最小值。例如,在线性规划中,每一个线性规划问题(原始问题)都有一个与之对应的对偶线性规划问题(对偶问题)。对偶问题可以提供关于原始问题的额外信息,如最优值的下界或上界,且在某些情况下,对偶问题的最优解可以提供原始问题最优解的一个界限
在svm算法中,我们可以求出最大间隔的算法,但不直接求,而是使用对偶问题的求解
为什么使用对偶问题
- 对偶问题更简单,更容易求解,效率更高;
- 对偶问题将原始问题中的不等式约束转为了对偶问题中的等式约束;
- 对偶问题方便核函数的引入,进而可以推广到非线性分类问题。
拉格朗日定理
拉格朗日乘子法
对偶问题算法
于是,对任意训练样本(xi,yi),总有ai=0或yif(xi)=1。若ai=0,则该样本将不会在式(6.12)的求和中出现,也就不会对f(x)有任何影响;若ai>0则必有yif(xi)=1,所对应的样本点位于最大间隔边界上,是一个支持向量。这显示出支持向量机的一个重要性质:训练完成后,大部分的训练样本都不需保留,最终模型仅与支持向量有关。
非线性SVM算法原理
核函数
在实际工作中,原始样本空间内也许并不存在一个能正确划分两类样本的超平面。例如图6.3中的“异或”问题就不是线性可分的
对这样的问题,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。例如在图6.3中,若将原始的二维空间映射到一个合适的三维空间,就能找到一个合适的划分超平面。幸运的是,如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使样本可分。
由于在线性支持向量机学习的对偶问题里,目标函数和分类决策函数都只涉及实例和实例之间的内积,所以不需要显式地指定非线性变换,而是用核函数替换当中的内积。核函数表示,通过一个非线性转换后的两个实例间的内积。具体地,
我们希望样本在特征空间内线性可分,因此特征空间的好坏对支持向量机的性能至关重要。需注意的是,在不知道特征映射的形式时,我们并不知道什么样的核函数是合适的,而核函数也仅是隐式地定义了这个特征空间。于是,“核函数选择”成为支持向量机的最大变数.若核函数选择不合适,则意味着将样本映射到了一个不合适的特征空间,很可能导致性能不佳
常用核函数
软间隔与正则化
我们一直假定训练样本在样本空间或特征空间中是线性可分的,即存在一个超平面能将不同类的样本完全划分开。然而,在现实任务中往往很难确定合适的核函数使得训练样本在特征空间中线性可分;退一步说,即便恰好找到了某个核函数使训练集在特征空间中线性可分,也很难断定这个貌似线性可分的结果不是由于过拟合所造成的。
缓解该问题的一个办法是允许支持向量机在一些样本上出错。为此,要引入“软间隔”(soft margin)的概念
软间隔
损失替代函数
拉格朗日解决对偶问题
正则化可理解为一种“罚函数法”,即对不希望得到的结果施以惩罚,从而使得优化过程趋向于希望目标
支持向量回归
逻辑回归和SVM选择
值得一提的是,神经网络在以上三种情况下都可能会有较好的表现,但是训练神经网络可能非常慢,选择支持向量机的原因主要在于它的代价函数是凸函数,不存在局部最小值。
参考资料
什么是支持向量机【图文,超详细】-CSDN博客
支持向量机通俗导论(理解SVM的三层境界)-CSDN博客
支持向量机(SVM)——原理篇
书:机器学习,周志华
吴恩达的机器学习,里面SVM部分