支持向量机(SVM)

本文介绍了支持向量机(SVM)的基本概念,包括其用于线性可分数据的超平面划分、通过拉格朗日乘子法求解最优超平面、以及处理线性不可分数据的核函数和Mercer定理。还提及了松弛变量在避免过度约束的重要性。
摘要由CSDN通过智能技术生成

支持向量机(support vector machines, SVM)是一种二分类模型,用来解决二分类问题(将样本点分为正负两类),在机器学习中得到广泛应用。

基本模型:

如图,\boldsymbol{w} x+b=0为超平面,线性可分的样本点集以超平面为界分为两块,一部分(平面正方向的正例)满足\boldsymbol{w}x+b=1,另一部分(平面负方向的负例)满足\boldsymbol{w} x+b=-1

事实上,像这样的超平面有无数多个,称为感知机;但感知机中保证间隔最大的超平面总是唯一的,且一定满足超平面到样本点的最小距离为\frac{1}{\left |\boldsymbol{w} \right |}

如何找到这个超平面?

(为计算方便,将\frac{1}{\left |\boldsymbol{w} \right |}等价替换为\frac{​{\left |\boldsymbol{w} \right |}^{2}}{2}

为了求(满足y_{i}(\boldsymbol{w}x_i+b)\geq 1,i=1,2,...,N条件的)\min \frac{​{\left |\boldsymbol{w} \right |}^{2}}{2},使用拉格朗日乘子法:

拉格朗日目标函数

L\left (\boldsymbol{w},b, \boldsymbol{\alpha } \right )=\frac{​{\left |\boldsymbol{w} \right |}^{2}}{2}-\sum_{i=1}^{N}(\alpha_i(\boldsymbol{w}x_i+b)-1)

\therefore{L_{\boldsymbol{w}}}'=0\Rightarrow \boldsymbol{w}=\sum_{i=1}^{N}\alpha _iy_ix_i{L_{b}}'=0\Rightarrow \sum_{i=1}^{N}\alpha _iy_i=0

\thereforeL(\boldsymbol{\alpha} )=\sum_{i=1}^{N}\alpha _i-\frac{1}{2}\sum_{i,j=1}^{N}\alpha _i\alpha _jy_iy_j\boldsymbol{x_i^{\tau }x_j}

于是,原问题就转化为了

\max L(\boldsymbol{\alpha })=\sum_{i=1}^{N}\alpha _i-\frac{1}{2}\sum_{i,j=1}^{N}\alpha _i\alpha _jy_iy_j\boldsymbol{x_i^{\tau }x_j}

s.t.\sum_{i=1}^{N}\alpha _iy_i=0,\alpha _i> 0(i=1,2,...,N)

在得到对应的向量\boldsymbol{\alpha ^{*}}后,便可求出对应的\boldsymbol{w},b,于是得到这个唯一的超平面。

\because \boldsymbol{w}=\sum_{i=1}^{N}\alpha _iy_i\boldsymbol{x_i}\neq0,\sum_{i=1}^{N}\alpha _iy_i=0

\therefore必有\alpha _j^*>0\alpha_{j} ^{*}\in \boldsymbol{\alpha ^{*}}

\thereforey_j\left ( \boldsymbol{w^*\cdot x_j}+b^* \right )-1=0

对于任意训练样本 (\boldsymbol{x_i},y_i) ,总有 \alpha _i=0或者 y_j\left ( \boldsymbol{w\cdot x_j}+b \right )-1=0。大部分样本点属于前者,不会在最后求解模型参数的式子中出现;而后者所对应的样本点位于最大间隔边界上,是一个支持向量。因此,对SVM而言,训练完成后,大部分的训练样本都不需要保留,最终模型仅与支持向量有关。

但实际上,并非所有的样本集都十分理想,比如噪点缩小间隔。为此,引入松弛变量\xi _i,允许部分样本点不满足y_{i}(\boldsymbol{w}x_i+b)\geq 1,i=1,2,...,N的约束。

于是,目标变为:

\min \underset{\boldsymbol{w},b,\xi _i}{\frac{1}{2}\left | \boldsymbol{w} \right |^2+C\sum_{i=1}^{N}\xi _i},s.t.y_{i}(\boldsymbol{w}x_i+b)\geq 1-\xi_i,\xi _i\geq 0,i=1,2,...,N

其中,C为惩罚参数,需要根据实际效果不断调节。

如果线性不可分呢?

实际上,在低维中线性不可分的样本集,到了高维往往是可分的。

为此,需要找到一个映射,将低维的\boldsymbol{x}转换为高维的\phi \left ( \boldsymbol{x} \right )

但是,当N比较大时,求取映射的计算量大大增加。为了减少计算量,结合实际计算需求(只需要计算高维空间的内积),我们只需要求出高维空间内内积的计算方法即可。这个方法称作核函数,即K(x_i,x_j)=\phi (x_i)\phi (x_j)

Mercer定理:任意半正定的函数都可以作为核函数。(充分非必要条件)

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值