支持向量机svm的优势和缺点(机器学习Support)

Support Vector Machines 支持向量机

Created: Apr 14, 2020 5:28 PM

什么是支持向量机?

支持向量机是一个分类算法,它的目标不仅是分类数据,而且寻找最大界线。提高模型的鲁棒性。

大家可以思考以下,下面两条黄色和绿色的线,哪一条线更好? 虽然两条线都可以把红色的点和蓝色的点分开,但是对比之后,我们发现黄色的线离点的距离更远,所以左边的线更好。

支持向量机svm的优势和缺点(机器学习Support)(1)

分类问题就是我们要找到一条线把红色和蓝色的点分开,我们还想更近一步,让这条线尽可能离这些点远,所以我们可以再增加两条线,然后尝试使这两条线之间的距离间隔最大化。

支持向量机svm的优势和缺点(机器学习Support)(2)

目标函数

支持向量机算法不仅要求正确的分类,而且要求它的间隔最大,所以我们就有两个衡量指标,一个是分类错误的指标,一个是间隔的指标

ERROR = CLASSIFICATION ERROR MARGIN ERROR

分类误差

下面图的分类问题,线的方程是wx b=0,然后再在线的两侧在加两条线形成间隔,即

wx b=1和wx b=-1,我们不希望两条中间有任何点,我们把这些点看成是误分类的点,

支持向量机svm的优势和缺点(机器学习Support)(3)

我们可以通过下图计算除误差Error=1.5 3.5 0.5 2 3 0.3=10.8

支持向量机svm的优势和缺点(机器学习Support)(4)

间隔误差

我们可以使用梯度下降法将误差最小化,我们需要编写一个函数,使得在间隔最大的情况下误差最小,以及在间隔小的情况下误差最大。为什么这样做的原因是我们想获得尽可能大的间隔模型。

支持向量机svm的优势和缺点(机器学习Support)(5)

公式为:

支持向量机svm的优势和缺点(机器学习Support)(6)

下面我们举例来说明,我们可以根据公式计算除第一个模型的Margin更大是2/5,Error更小是25,另外一个的Margin更小是1/5,Error更大是100

支持向量机svm的优势和缺点(机器学习Support)(7)

支持向量机svm的优势和缺点(机器学习Support)(8)

如何计算间距?

这里我们可以定义W=(w1, w2)和x= (x1, x2),所以Wx=w1x1 w2x2

三条线的方程是:

支持向量机svm的优势和缺点(机器学习Support)(9)

为了找到第一条线和第三条线之间的距离,我们只要找到第一条和第二条之间的距离,然后乘以2。

支持向量机svm的优势和缺点(机器学习Support)(10)

我们可以平移这两条线,使一条线经过原点。方程就变成

支持向量机svm的优势和缺点(机器学习Support)(11)

第一条线的方程Wx = 0,这意味着它与红色的向量W=(w1,w2)正交(垂直)

支持向量机svm的优势和缺点(机器学习Support)(12)

我们假设(p, q)是该向量与Wx=1相交的点,即蓝色的点,因为(p,q) 在该向量上,所以可以得到如下的公式,(p,q)是(w1,w2)的倍数,我们假设是k倍。

支持向量机svm的优势和缺点(机器学习Support)(13)

将(p,q)= k(w_1,w_2)带入第一个方程就有:

支持向量机svm的优势和缺点(机器学习Support)(14)

所以蓝色点的向量是w/|w|2,两条之间的距离是蓝色向量的范数。

支持向量机svm的优势和缺点(机器学习Support)(15)

因此总距离为2/|W|

支持向量机svm的优势和缺点(机器学习Support)(16)

SVM C参数 松弛变量

我们看一种特殊情况,下图中那一条线更好?这个要看具体情况而定,比如在医学模型中,我们希望它尽量准确无误,所以我们选择右边的模型,其他情况下我们选择左边,即使有一个被错误分类了,但是它的间隔更大。根据不同的需求,我们的选择也不同。所以我们加入了参数C

支持向量机svm的优势和缺点(机器学习Support)(17)

Error = C*Calssification Error Margin Error

支持向量机svm的优势和缺点(机器学习Support)(18)

完全可分的情况我们称为硬间隔,当存在不完全可分的情况,我们称为软间隔。

拉格朗日乘子法

目标函数:

支持向量机svm的优势和缺点(机器学习Support)(19)

拉格朗日Lagrange乘子法

支持向量机svm的优势和缺点(机器学习Support)(20)

Lagrange函数

支持向量机svm的优势和缺点(机器学习Support)(21)

引入拉格朗日的目标函数为:

支持向量机svm的优势和缺点(机器学习Support)(22)

求L对于w,b的偏导数,并等于0

支持向量机svm的优势和缺点(机器学习Support)(23)

支持向量机svm的优势和缺点(机器学习Support)(24)

支持向量机svm的优势和缺点(机器学习Support)(25)

核方法

线性不可分的情况下,用核函数将样本投射到高维空间,使其变成可分的情况,

多项式核方法

对与下图的样本,我们无法找到一条直线来把蓝色和红色点分开。我们可以把它转化为关于平面的二维问题,增加一个y轴。我们可以创建一个抛物线, 然后把点移到抛物线上。我们可以找到y=4这条线把蓝色和红色的点分开

支持向量机svm的优势和缺点(机器学习Support)(26)

支持向量机svm的优势和缺点(机器学习Support)(27)

核函数就像一个工具箱,对于线性核,我们的工具就只有x,y,我们寻找任何关于这两个变量的线性组合方程式。如果我们把它扩展为一个多项式核函数,我们的工具箱就由x,y,xy,x2,y2,我们可以创建很多核函数,例如⚪x2 y2=1,双曲线xy=1,抛物线y=x2。我们在数据上增加一些维度,寻找一个更高维度的表面,然后投射到平面上形成曲线。

支持向量机svm的优势和缺点(机器学习Support)(28)

RBF核或径向基核函数

我们要想分离这些点,同样没有一条直线可以做到这点,我们在这画一个小山脉,把这些点移到山脉上,

支持向量机svm的优势和缺点(机器学习Support)(29)

我们就可以找到这几条线可以把他们区分开,然后再回到原来的线上,就得到的分界线。

支持向量机svm的优势和缺点(机器学习Support)(30)

我们假设这里有三座山,每个点上有一个,我们可以使用向量记录这座山的高度,第一个点的第一座上高是1,第二座和第三座的高度是0.8和0.2,注意,每个点上构建的山的高度值中都有一个1,。我们把这三个向量绘制在三维空间。

支持向量机svm的优势和缺点(机器学习Support)(31)

他们就像三个基向量,我们在三维空间就可以把他们分开。

支持向量机svm的优势和缺点(机器学习Support)(32)

我们可以选择一种径向基函数,是选择陡峭的还是平缓的。我们可以在他们的映射中看到,陡峭可能导致过拟合,平缓有可能欠拟合。

支持向量机svm的优势和缺点(机器学习Support)(33)

支持向量机svm的优势和缺点(机器学习Support)(34)

支持向量机svm的优势和缺点(机器学习Support)(35)

如何选择呢,我们用到高斯分布。sigma和曲线的宽度有关,sigma越大,曲线越宽, sigam越小,曲线越窄。

支持向量机svm的优势和缺点(机器学习Support)(36)

高维空间

支持向量机svm的优势和缺点(机器学习Support)(37)

优缺点

优点

- SVM的主要优势是训练相对容易。 与神经网络不同,没有局部最优

- 非线性SVM使用非线性内核。 非线性SVM意味着算法计算的边界不必是直线。 好处是捕获数据点之间复杂的情况,不必执行困难的转换。 缺点是训练时间长得多,因为它需要大量的计算。

- SVM具有正则化参数,可以帮助避免过度拟合。

- 在高维空间有效。

- 在维数大于样本数的情况下仍然有效。

- 在决策函数中使用训练点的子集(称为支持向量),因此它还可以提高内存效率

缺点

- 与Logistic回归分类器不同,SVM不直接提供概率估计。

- 在许多分类问题中,你实际上希望获得类成员身份的概率

- 求解模型的参数难以解释。

- 对大型数据集的培训时间长

- 选择一个“好的”内核可能很棘手。

LR与SVM区别

相同点:

1、都是分类算法,都是监督学习

2、如果不考虑核函数,LR和SVM都是线性分类算法

3、LR和SVM都是判别模型

不同点:

1、本质上是loss函数不同,或者说分类的原理不同。

2、支持向量机只考虑局部的边界线附近的点,而逻辑回归考虑全局(远离的点对边界线的确定也起作用,虽然作用会相对小一些)。

3、在解决非线性问题时,支持向量机采用核函数的机制,而LR通常不采用核函数的方法。

4、SVM计算复杂,但效果比LR好,适合小数据集;LR计算简单,适合大数据集,可以在线训练。

5、线性SVM依赖数据表达的距离测度,所以需要对数据先做normalization,LR不受其影响

支持向量机svm的优势和缺点(机器学习Support)(38)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页