SVM的原理及推导

SVM的原理及推导

我们直接用数学公式来描述我们要解决的问题。假设我有一个数据集 D \mathcal{D} D,总共有m个样本 { x i , y i } , i = 1 , . . . , n \{x_i, y_i\}, i=1, ..., n { xi,yi},i=1,...,n。其中。其中 x i ∈ R d x_i \in \mathbb{R}^d xiRd是维的向量,是二类分类问题的标签,是d维的向量,y是二类分类问题的标签, y i ∈ { − 1 , + 1 } y_i \in \{-1, +1\} yi{ 1,+1}。我们首先假设我们的数据是完美的,即,在维度的平面上,我们的数据是线性可分的,那么我们就可以画一条直线。我们首先假设我们的数据是完美的,即,在维度d的平面上,我们的数据是线性可分的,那么我们就可以画一条直线 f ( x ) = w T x + b f(x)=w^Tx+b f(x)=wTx+b使得我们所有的不同类别的样本区分开来,即对于所有使得我们所有的不同类别的样本区分开来,即对于所有 y i = − 1 y_i=-1 yi=1的样本的样本 i i i w T x + b ≤ 0 w^Tx+b \leq 0 wTx+b0,反之对于所有,反之对于所有 y i = + 1 y_i = +1 yi=+1的样本有的样本有 w T x + b ≥ 0 w^Tx+b \geq 0 wTx+b0

但是,如果我们只是单纯的规定 w T x + b = 0 w^Tx+b=0 wTx+b=0作为超平面来区分正负样本,这样的超平面有很多,任何一个超平面符合上述条件都可以作为解,而这对分类的泛化性并不友好。也就是说,当超平面实际上选取很差时,对于测试数据,一点微小的噪声就会导致它的错分。所以SVM定义了另外两个超平面(支持超平面 Supporting Hyperplane),都与 w T x + b = 0 w^Tx+b=0 wTx+b=0平行,到超平面的距离(边际 Margin)分别为 d − d_- d d + d_+ d+,并且保持 d − = d + d_-=d_+ d=d+。我们将这两个超平面用公式表示:
w T x = b − σ w T x = b + σ w^Tx = b-\sigma \\ w^Tx = b+\sigma wTx=bσwTx=b+σ
我们注意到,如果将公式的左右两边同时乘以一个系数,公式仍然成立。而且这个公式存在着过参数化。因此SVM规定了这个 σ = 1 \sigma = 1 σ=1。那么边际大小 γ = d − + d + \gamma = d_-+d_+ γ=d+d+就等于:
γ = 2 ∥ w ∥ \gamma = \frac{2}{\Vert w\Vert} γ=w2

至此我们已经决定了我们所要得到的优化目标,即找到一个超平面 w T x + b = 0 w^Tx+b=0 wTx+b=0使得它存在两个与之平行、与之距离为 1 1 1并分布两侧的超平面,能够完美分开所有的训练数据,使得正样本在 w T x + b ≥ 1 w^Tx+b \geq 1 wTx+b1,负样本 w T x + b ≤ − 1 w^Tx+b \leq -1 wTx+b1。我们把问题写成凸优化问题的形式:(这里强调一点,源自于Convex Optimization那门课中,很多人把优化公式中的max和maximize,min和minimize混为一谈,实际上是不正确的,min/max返回的是一个值,即最小/大值,只有maximize/minimize代表着优化目标函数。)
m a x i m i z e    2 ∥ w ∥ s . t .    y i ( w T x + b ) − 1 ≥ 0 ,   i = 1 , . . . , m \begin{aligned} \mathop{maximize}&~~\frac{2}{\|w\|}\\ s.t. &~~y_i(w^Tx+b) -1 \geq 0 , ~i=1,...,m \end{aligned} maximizes.t.  w2  yi(wTx+b)10, i=1,...,m
由于 2 ∥ w ∥ \frac{2}{\|w\|} w2是个concave的函数,我们便可以通过倒数的方式转成convex的标准形式,这里加平方应该是要为了是让曲线保证平滑来保证处处可导(这里不是很确定,如果说的不对请大家指出谢谢),即:
m i n i m i z e    1 2 ∥ w ∥ 2 s . t .    y i ( w T x + b ) − 1 ≥ 0 ,   i = 1 , . . . , m \begin{aligned} minimize&~~\frac{1}{2}\|w\|^2\\ s.t. &~~y_i(w^Tx+b) -1 \geq 0 , ~i=1,...,m \end{aligned} minimizes.t.  21w2  yi(wTx+b)10, i=1,...,m
对于刚好落在支持超平面上的点,我们就将他们成为支持向量(Support Vector)
这个问题,可以通过拉格朗日法(Lagrangian) 转换成对偶问题求解。

首先,我们将约束条件乘以一个 λ i \lambda_i λi加入到优化函数 f 0 ( x ) f_0(x) f0(x)中。随后根据拉格朗日法求对偶问题的定义,我们可以得到:
L ( w , b , λ i ) = inf ⁡ w , b 1 2 ∥ w ∥ 2 − ∑ i m λ i [ y i ( w T x + b ) − 1 ] \mathcal{L}(w,b,\lambda_i)=\inf_{w,b}\frac{1}{2}\|w\|^2-\sum_{i}^{m}\lambda_i[y_i (w^Tx+b)-1] L(w,b,λi)=w,binf21w2imλi[yi(wTx+b)1]
我们仔细看 L \mathcal{L} L这个公式,要求关于 w w w b b b的下界,实际上,对于 w w w来说,是一个二次型 w T w w^Tw wTw加上一个累加的Affine映射 ∑ i m λ i y i w T x \sum_i^m \lambda_i y_i w^Tx imλiyiwTx,那么这些都是保持凸函数性质的运算。对于 b b b来说,是一个Affine映射。因此对于 w w w b b b而言, L \mathcal{L} L是一个凸函数,在求下界时,我们可以直接通过求导函数为0的点来计算Optimal(全局最优)。

那么我们分别对 w w w b b b求导并求等于0的点:
∂ L ∂ w = w − ∑ i m λ i y i x i = 0 ∂ L ∂ b =

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值