SVM入门笔记

本文不是一篇正式的tutorial,只是帮助回忆和理解SVM推导的笔记。此文章会长期更新。

分类问题

SVM(support vector machine)是一种著名的分类算法。我们学过Logistic回归,但它只能处理简单的线性分类。在现实生活中,很多问题的属性不能简单的用线性分类完成,或者说线性分类的效果不好,这时候我们就要想其他办法。

超平面

我们可以想象这样一个方程:

w T x + b = 0 w^Tx + b = 0 wTx+b=0

若这里的 x x x是二维向量,那么就是我们熟悉的平面方程。若大于二维,则是一个超平面,在SVM中,这个超平面也被称为决策面。

我们的目标就是想找到这样一个决策面,使得样本点能够较好的分布在超平面两侧,这就达到了我们分类的目的。

分类间隔

很显然,对于样本点来说,这样的决策面肯定不止一个。那么,如何来度量我们分类好坏的标准呢?

在SVM中,我们使用分类间隔来度量,所谓分类间隔,是指保证决策面方向不变且不会错分样本的情况下移动决策面,会在原来的决策面两侧找到两个极限位置(越过则会产生错分现象)。因此,这两条平行线(面)之间的垂直距离就是这个决策面对应的分类间隔

不同方向的最优决策面通常是不同的,那个具有最大间隔的决策面就是SVM要寻找的最优解。而这个真正的最优解对应的两侧虚线所穿过的样本点,就是SVM中的支持样本点,称为支持向量

根据我们学习过的平面距离可以得到:

d = ∣ w T + b ∣ ∣ ∣ w ∣ ∣ d = \frac {|w^T + b|}{||w||} d=wwT+b

我们首先考虑一个决策面是否能够将所有样本都正确分类的约束。我们可以为每个样本点 x i x_i xi加上一个类别标签 y i = { − 1 , 1 } y_i = \{-1,1\} yi={ 1,1},假如我们的决策面方程能够完全正确的对所有样本点进行分类,则可以得到:

f ( x ) = { w T x i + b &gt; 0   f o r   y i = 1 w T x i + b &lt; 0   f o r   y i = − 1 f(x)=\left\{\begin{aligned}w^Tx_i + b &gt;0 \space for \space y_i = 1 \\w^Tx_i + b &lt;0 \space for \space y_i = -1\end{aligned}\right. f(x)={ wTxi+b>0 for yi=1wTxi+b<0 for yi=1

如果我们要求再高一点,假设决策面正好处于间隔区域的中轴线上,并且相应的支持向量对应的样本点到决策面的距离为d,那么公式可以进一步写成:

f ( x ) = { ( w T x i + b ) / ∣ ∣ w ∣ ∣ ≥ d   ∀ y i = 1 ( w T x i + b ) / ∣ ∣ w ∣ ∣ ≤ − d   ∀ y i = − 1 f(x)=\left\{\begin{aligned}(w^Tx_i + b )/||w||\ge d \space \forall y_i = 1 \\ (w^Tx_i + b )/||w||\le -d \space \forall y_i = -1\end{aligned}\right. f(x)={ (wTxi+b)/wd yi=1(wTxi+b)/wd yi=1

对公式重写(两边同时除以d):

f ( x ) = { w d T x i + b d &gt; 1   f o r   y i = 1 w d T x i + b d &lt; 1   f o r   y i = − 1 w d = w ∣ ∣ w ∣ ∣ d , b d = b ∣ ∣ w ∣ ∣ d f(x)=\left\{\begin{aligned}w_d^Tx_i + b_d &gt;1 \space for \space y_i = 1 \\w_d^Tx_i + b_d &lt;1 \space for \space y_i = -1\end{aligned}\right. \quad w_d = \frac{w}{||w||d},b_d = \frac {b}{||w||d} f(x)={ wdTxi+bd>1 for yi=1wdTxi+bd<1 for yi=1wd=wdw,bd=wdb

由于 w d w_d wd w w w并没有本质差别,因此不再做区分,我们的目标是想要在正确分类的情况下使得分类间隔最大化,即 m a x { d } max \{d\} max{ d},也等价于 m i n { 1 2 ∣ ∣ w ∣ ∣ 2 } min \{ \frac {1}{2} ||w||^2\} min{ 21w2}

因此,我们得到我们问题的总描述:

min ⁡ 1 2 ∣ ∣ w ∣ ∣ 2 \min \frac {1}{2} ||w||^2 min21w2

s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , . . . , n s.t. \quad y_i(w^Tx_i +b)\ge1,i=1,...,n s.t.yi(wTxi+b)1,i=1,...,n

margins

  • Functional margins
    • γ ( i ) = y ( i ) ( w T x + b ) \gamma^{(i)} = y^{(i)}(w^Tx + b) γ(i)=y(i)(wTx+b)
    • 这个函数可以用来衡量confident和correct
    • 如果分类正确,那么该函数始终是正数,且离决策边界越远,值越大,也就越confident
    • 如果分类错误,那么该函数是负数
    • 因此,我们的目标是找到最小的margin,也就是 γ = min ⁡ γ ( i ) \gamma = \min \gamma^{(i)} γ=minγ(i)
  • Geometric margins
    • Functional margins有一个很大的问题在于,如果我等比例的scale w , b w,b w,b,那么该值就一定会增大。但此时对于margin来说并没有提升,因此无法直接用来衡量。
    • 我们新定义一个Geometric margins,可以认为是一个相对的大小:
      • γ ( i ) = y ( i ) ( w ∣ ∣ w ∣ ∣ T x + b ∣ ∣ w ∣ ∣ ) \gamma^{(i)} = y^{(i)}(\frac{w}{||w||}^Tx + \frac{b}{||w||}) γ(i)=y(i)(wwT</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值