支持向量机(Support Vector Machines)

与逻辑回归和神经网络相比,支持向量机,或者简称SVM,在学习复杂的非线性方程时提供了一种更为清晰,更加强大的方式

,我们从优化目标开始。那么,我们开始学习这个算法。为了描述支持向量机,事实上,我将会从逻辑回归开始展示我们如何一点一点修改来得到本质上的支持向量机。

支持向量机(Support Vector Machines)_第1张图片

 

支持向量机(Support Vector Machines)_第2张图片

 

支持向量机(Support Vector Machines)_第3张图片

 

如果你有一个正样本,我们会希望,反之,如果y是等于0的,我们观察一下,函数,它只有在的区间里函数值为0。这是支持向量机的一个有趣性质。

    事实上,如果你有一个正样本y=1,则其实我们仅仅要求()就能将该样本恰当分出,这是因为如果的话,我们的模型代价函数值为0,类似地,如果你有一个负样本,则仅需要就会将负例正确分离。但是,支持向量机的要求更高,不仅仅要能正确分开输入的样本,即不仅仅要求,我们需要的是比0值大很多,比如大于等于1,我也想这个比0小很多,比如我希望它小于等于-1,这就相当于在支持向量机中嵌入了一个额外的安全因子**。或者说安全的间距因子。

    人们有时将支持向量机看作是大间距分类器。在这一部分,我将介绍其中的含义,这有助于我们直观理解SVM模型的假设是什么样的。

支持向量机(Support Vector Machines)_第4张图片

如果我们设置一个c为很大的数字,为了最小化

如果 C非常大,则最小化代价函数的时候,我们将会很希望找到一个使第一项为0的最优解。因此,让我们尝试在代价项的第一项为0的情形下理解该优化问题。比如我们可以把C设置成了非常大的常数,这将给我们一些关于支持向量机模型的直观感受。

支持向量机(Support Vector Machines)_第5张图片 

 

具体而言,如果你考察这样一个数据集,其中有正样本,也有负样本,可以看到这个数据集是线性可分的。我的意思是,存在一条直线把正负样本分开。当然有多条不同的直线,可以把正样本和负样本完全分开。

支持向量机(Support Vector Machines)_第6张图片

 或者我们可以画一条更差的决策界,这是另一条决策边界,可以将正样本和负样本分开,但仅仅是勉强分开,这些决策边界看起来都不是特别好的选择,支持向量机将会选择这个黑色的决策边界,相较于之前我用粉色或者绿色画的决策界。这条黑色的看起来好得多,黑线看起来是更稳健的决策界。在分离正样本和负样本上它显得的更好。数学上来讲,这是什么意思呢?这条黑线有更大的距离,这个距离叫做间距(margin)。

支持向量机(Support Vector Machines)_第7张图片

 

在本节课中关于大间距分类器,我想讲最后一点:我们将这个大间距分类器中的正则化因子常数C设置的非常大,我记得我将其设置为了100000,因此对这样的一个数据集,也许我们将选择这样的决策界,从而最大间距地分离开正样本和负样本。那么在让代价函数最小化的过程中,我们希望找出在y=1和y=0两种情况下都使得代价函数中左边的这一项尽量为零的参数。如果我们找到了这样的参数,则我们的最小化问题便转变成:

事实上,支持向量机现在要比这个大间距分类器所体现得更成熟,尤其是当你使用大间距分类器的时候,你的学习算法会受异常点(outlier) 的影响。比如我们加入一个额外的正样本。

支持向量机(Support Vector Machines)_第8张图片

 

在这里,如果你加了这个样本,为了将样本用最大间距分开,也许我最终会得到一条类似这样的决策界,对么?就是这条粉色的线,仅仅基于一个异常值,仅仅基于一个样本,就将我的决策界从这条黑线变到这条粉线,这实在是不明智的。而如果正则化参数C,设置的非常大,这事实上正是支持向量机将会做的。它将决策界,从黑线变到了粉线,但是如果C设置的小一点,如果你将C设置的不要太大,则你最终会得到这条黑线,

支持向量机(Support Vector Machines)_第9张图片

  • 大边界分类背后的数学(选修) 

支持向量机(Support Vector Machines)_第10张图片

计算内积。。。

优化目标

支持向量机(Support Vector Machines)_第11张图片 

 支持向量机(Support Vector Machines)_第12张图片

 

因此支持向量机做的全部事情,就是极小化参数向量θ范数的平方,或者说长度的平方

支持向量机(Support Vector Machines)_第13张图片

 

 支持向量机(Support Vector Machines)_第14张图片

 

现在让我们考虑下面这里的训练样本。现在,继续使用之前的简化,即,我们来看一下支持向量机会选择什么样的决策界。这是一种选择,我们假设支持向量机会选择这个决策边界。这不是一个非常好的选择,因为它的间距很小。这个决策界离训练样本的距离很近。我们来看一下为什么支持向量机不会选择它。

对于这样选择的参数,可以看到参数向量θ事实上是和决策界是90度正交的,因此这个绿色的决策界对应着一个参数向量​​​​​​​θ这个方向,顺便提一句​​​​​​​​​​​​​​θ的简化仅仅意味着决策界必须通过原点。现在让我们看一下这对于优化目标函数意味着什么。

支持向量机(Support Vector Machines)_第15张图片

支持向量机(Support Vector Machines)_第16张图片

支持向量机(Support Vector Machines)_第17张图片 

因此,如果我们想令θ的范数变小,从而令θ范数的平方变小,就能让支持向量机选择右边的决策界。这就是支持向量机如何能有效地产生大间距分类的原因。 

 

你可能感兴趣的:(机器学习)