码迷,mamicode.com
首页 > 其他好文 > 详细

机器学习07:支持向量机4

时间:2018-07-04 13:49:58      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:误差   同步   hit   alt   load   display   nbsp   span   data   

本文来自同步博客

 

前面介绍的SVM,无论是线性可分还是非线性可分,称为Hard Margin SVM,都要求对输入数据进行精确划分。我们不难想到这类SVM存在过拟合这个问题。如果输入数据本身就存在误差,精确划分反而是没意义的。本篇文章就如何处理过拟合问题,介绍即所谓的Soft Margin SVM

数学推导

引入衡量误差的变量 -\xi\_i-ξ_i−。-\xi\_i-ξ_i−表示不能被正确分类的样本点距离正确一侧边界的距离,距离越大表示错误越大,即-\xi\_i-ξ_i−越大。如果样本点能被正确分类,则-\xi\_i = 0-ξ_i=0−。故有-\xi\_i \ge 0-ξ_i0−。

那么,原来能通过求解函数-\frac{1}{2}\vec{w}^{2}-21?w2−在最小化下的参数-\vec{\alpha}-α−,如今需要增加能够体现误差的约束条件再求解。

可以如下构造函数来描述误差:
\frac{1}{2}\vec{w}^{2} + C\sum_{i}^{n}{\xi\_i}21?w2+Cin?ξ_i

这个函数把所有输入数据的误差叠加在一起,即-\sum_{i}^{n}{\xi\_i}-in?ξ_i−。然后用参数C来控制所有误差的权重。如果C很大,表示即使有很小的误差出现都会严重影响目标函数。

结合之前文章提到的知识,可以构造拉格朗日方程:

L(\vec{w}, b, \vec{\xi}, \vec{\alpha}, \vec{\beta}) = \frac{1}{2}\vec{w}^{T}\vec{w} + C\sum_{i}^{n}{\xi\_i} - \sum\_{i}^{n}{\alpha\_i[y\_i(\vec{w}^{T}\vec{x\_i}+b)-1+\xi\_i]} - \sum\_{i}^{n}\beta\_i\xi\_iL(w,b,ξ?,α,β?)=21?wTw+Cin?ξ_i_inα_i[y_i(wTx_i?+b)1+ξ_i]_inβ_iξ_i
其中,
\alpha\_i \ge 0, \beta\_i \ge 0, i = 1,2...nα_i0,β_i0,i=1,2...n

然后利用对偶思想求解-\vec{w}, b, \xi-w,b,ξ−的导数,并让他们等于0。如下:

\begin{array}{lcl} \frac{\partial L}{\partial \vec{w}} = \vec{w} - \sum\_{i}^{n}\alpha\_{i} y\_{i} \vec{x}\_i = 0 \\\\ \frac{\partial L}{\partial b} = - \sum\_{i}^{n}\alpha\_{i} y\_{i} = 0 \\\\ \frac{\partial L}{\partial \xi\_{i}} = C - \alpha\_{i} - \beta\_{i} = 0 \end{array}wL?=w_inα_iy_ix_i=0bL?=_inα_iy_i=0ξ_iL?=Cα_iβ_i=0?

代入上面的拉格朗日方程,可以得到二项规划方程。最后求解-\vec{\alpha}-α−,可得-\vec{w}-w−和-b-b−。二项规划方程如下:
公式输入有误

其中-\vec{w}-w−如下:
\vec{w} = \sum\_{i}^{n}\alpha\_{i}y\_{i}\vec{x}\_{i}w=_inα_iy_ix_i

-b-b−可利用落于边界上的支持向量求解。

比较

看到二项规划那一步,我们可以发现Hard Margin SVMSoft Margin SVM的差别仅仅是-\alpha\_i-α_i−的取值范围上有差异。Hard Margin SVM的约束条件是-\alpha\_i \ge 0-α_i0−;Soft Margin SVM的约束条件是-C \ge \alpha\_i \ge 0-Cα_i0−。

我们知道-\alpha\_{i}-α_i−仅在-\vec{x}-x−为支持向量时值大于零。而在这里,-\alpha\_{i}-α_i−多了一个上限C。因为-C = \alpha\_{i} + \beta\_{i}-C=α_i+β_i−,所以有下面结论:

如果-\alpha\_{i} = 0-α_i=0−,表示该点为非支持向量。

如果- 0 \lt \alpha\_{i} \lt C-0<α_i<C−,则-\beta\_{i} \gt 0-β_i>0−,对应的-\xi\_{i} = 0-ξ_i=0−,表示该点为边界支持向量。如下图:

 
技术分享图片
image.png

 

如果-\alpha\_{i} = C-α_i=C−,则-\beta\_{i} = 0-β_i=0−,对应的-\xi\_{i} \gt 0-ξ_i>0−,表示该点违反了最大边界的原则,属于噪声点。

 
技术分享图片
image.png

机器学习07:支持向量机4

标签:误差   同步   hit   alt   load   display   nbsp   span   data   

原文地址:https://www.cnblogs.com/developerdaily/p/9262413.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!