线性可分SVM

支持向量机

支持向量机(Support Vecor Machine,以下简称SVM)诞生于上个世纪90年代,由于它良好的分类性能,在分类领域称霸多年,在深度时代之前是分类算法中当之无愧的王者。

SVM是一个二分类算法,支持线性分类和非线性分类。经过改进,支持多元分类。经过扩展,也能应用于回归问题。

线性SVM

线性SVM分类算法针对的是线性可分数据集。

线性可分数据集:可以被线性超平面完全正确分类的数据集。

在这里插入图片描述

线性不可分数据集:不可以被线性超平面完全正确分类的数据集。

在这里插入图片描述

问题1:二分类线性可分的训练数据集如何分类?

回答:寻找一个线性分离超平面将样本点分开。

在这里插入图片描述
问题2:当训练数据集线性可分时,有无穷个分离超平面可将两类样本正确分开,应该以什么原则确定最 优超平面呢?

在这里插入图片描述
回答:希望分离超平面离两类样本尽可能远,等价于离两类的最近点尽可能远,这称为最大间隔(margin)原则

在这里插入图片描述

问题3:为什么要离两个类的最近点尽量远?

回答:对未知新样本的分类预测有很好的泛化能力。

在这里插入图片描述

以上的文字表述过于笼统,下面用数学来严谨表达。

线性SVM的优化问题

数据集

假定训练数据集为
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T=\{(\mathbf{x}_1,y_1), (\mathbf{x}_2,y_2), \cdots, (\mathbf{x}_N,y_N)\} T={ (x1,y1),(x2,y2),,(xN,yN)}
其中, x i = [ x i 0 , x i 1 , ⋯   , x i m ] T , i = 1 , 2 , ⋯   , N \mathbf{x}_i=[x_{i0},x_{i1},\cdots,x_{im}]^T, \quad i=1,2,\cdots,N xi=[xi0,xi1,,xim]T,i=1,2,,N,是m维特征向量; y i ∈ { 1 , − 1 } , i = 1 , 2 , ⋯   , N y_i \in \{1,-1\}, \quad i=1,2,\cdots,N yi{ 1,1},i=1,2,,N,是对应特征向量的标签, y i = 1 y_i=1 yi=1 x i \mathbf{x}_i xi为正例, y i = − 1 y_i=-1 yi=1 x i \mathbf{x}_i xi为负例。

线性超平面

线性超平面的数学表达式为
w T x + b = 0 \mathbf{w}^T \mathbf{x}+b=0 wTx+b=0
其中, w = [ w 1 , w 2 , ⋯   , w m ] T \mathbf{w}=[w_1,w_2,\cdots,w_m]^T w=[w1,w2,,wm]T是超参数, x \mathbf{x} x是样本特征向量, b b b为截距。

分类决策函数

F ( x ) = w T x + b F(\mathbf{x})=\mathbf{w}^T \mathbf{x}+b F(x)=wTx+b F ( x ) F(\mathbf{x}) F(x)可以作为二分类的判别器。

假定落入 F ( x ) > 0 F(\mathbf{x}) \gt 0 F(x)>0区域为正例,落入 F ( x ) < 0 F(\mathbf{x}) \lt 0 F(x)<0区域为负例,可以通过 F ( x ) F(\mathbf{x}) F(x)符号来分类。

上面的想法表示为一个分类决策函数
f ( x ) = sgn ( F ( x ) ) = sgn ( w T x + b ) f(\mathbf{x})=\text{sgn}(F(\mathbf{x}))=\text{sgn}(\mathbf{w}^T \mathbf{x}+b) f(x)=sgn(F(x))=sgn(wTx+b)

间隔

在这里插入图片描述
x − x_- x w T x + b = − 1 \mathbf{w}^T \mathbf{x} + b = -1 wTx+b=1上的一个样本点, w T x + b = − 1 \mathbf{w}^T \mathbf{x} + b = -1 wTx+b=1以点 x − x_- x为垂足作一条垂直线,与 w T x + b = 1 \mathbf{w}^T \mathbf{x} + b = 1 wTx+b=1相交于 x + x_+ x+,设定 x + x_+ x+ x − x_- x之间的距离为 λ \lambda λ x + x_+ x+ x − x_- x的关系可以表示为
x + = x − + λ w ∣ ∣ w ∣ ∣ 2 x_+=x_-+\lambda \frac{\mathbf{w}}{||\mathbf{w}||_2} x+=x+λw2w
其中, ∣ ∣ w ∣ ∣ 2 = w 0 2 + w 1 2 + ⋯ + w n 2 ||\mathbf{w}||_2=\sqrt{w_0^2+w_1^2+\cdots+w_n^2} w2=w02+w12++wn2 ,为 w \mathbf{w} w的L2范数。

λ \lambda λ就是要求的间隔,具体的求解方式如下:

{ w T x + + b = 1 w T x − + b = − 1 ⇒ w T ( x + − x − ) = 2 ⇒ w T λ w ∣ ∣ w ∣ ∣ 2 = 2 ⇒ λ = 2 ∣ ∣ w ∣ ∣ 2 \begin{aligned} &\left\{ \begin{aligned} \mathbf{w}^T \mathbf{x}_+ + b & = 1 \\ \mathbf{w}^T \mathbf{x}_- + b & = -1 \end{aligned} \right. \\ \Rightarrow& \mathbf{w}^T (\mathbf{x}_+ - \mathbf{x}_-)=2 \\ \Rightarrow& \frac{\mathbf{w}^T \lambda \mathbf{w}}{||\mathbf{w}||_2} = 2 \\ \Rightarrow& \lambda = \frac{2}{||\mathbf{w}||_2} \end{aligned} { wTx++bwTx+b=1=1wT(x+x)=2w2wTλw=2λ=w22

这里 w T x + + b = 1 \mathbf{w}^T \mathbf{x}_+ + b = 1 wTx++b=1 w T x − + b = − 1 \mathbf{w}^T \mathbf{x}_- + b = -1 wTx+b=

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值