SVM-线性可分支持向量机

如果您想体验更好的阅读:请戳这里littlefish.top

函数间隔和几何间隔

给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面为

$$w^* \cdot x+b^* =0 $$

以及相应的分类决策函数

$$f(x) = sign (w^* \cdot x + b^*)$$

称为线性可分支持向量机。

对于给定训练集合T和超平面$(w,b)$,定义超平面$(w,b)$关于样本点$(x _i,y_i)$的函数间隔为

$$\hat\gamma_i = y_i(w \cdot x_i + b)$$

定义超平面$(w,b)$关于训练数据集T的函数间隔为超平面$(w,b)$关于T中所有样本点$(x_i,y_i)$的函数间隔之最小值,

$$\hat\gamma = min_{i=1,...,N}\hat\gamma_i$$

对于给定的训练数据集和超平面$(w,b)$,定义超平面$(w,b)关于$样本$(x_i,y_i)$的几何间隔为

$$\hat\gamma_i = y_i(\frac w{||w||} \cdot x_i + \frac b{||w||})$$

定义超平面$(w,b)$关于训练数据集T的几何间隔为超平面$(w,b)$关于T中所有样本点$(x_i,y_i)$的几何间隔之最小值

$$\gamma = min_{i=1,...,N}\gamma_i$$

从而得到几何间隔和函数间隔的关系:

$$\gamma = \frac{\hat\gamma_i}{||w||}$$

间隔最大化

对数据集合找到几何间隔最大的超平面意味着以充分大的确信度来对训练数据进行分类。

最大化超平面可表示为:

$$max_{w,b} \quad {\gamma}\
s.t.\quad y_i(\frac w{||w||} \cdot x_i + \frac b{||w||}) \ge \gamma,\quad i=1,...,N$$

即最大化超平面$(w,b)$关于训练结合的间隔$\gamma$,约束条件表示的超平面$(w,b)$关于每个训练样本点的几何间隔至少为$\gamma$。

而函数间隔对于上述公式并没有影响,假设按比例改变为$\lambda w$和$\lambda b$,那么函数间隔改变为$\lambda \hat\gamma$

改变为相应的函数距离,如下

$$max_{w,b} \quad \frac{\hat\gamma}{||w||}\
s.t.\quad y_i(w \cdot x_i + b) \ge \hat\gamma,\quad i=1,...,N$$

由于分母和分子同时拥有$\lambda$,因此成比例改变并不会对函数间隔产生影响,从而对目标函数的优化也没有影响。

令$\hat\gamma$=1,代入上式,最大化$\frac1{||w||}$等价于最小化$\frac12||w||$,从而得到线性可分支持向量机学习的最优化问题

$$min_{w,b}\quad \frac12{||w||}^2\
s.t.\quad y_i(w\cdot x_i + b) - 1 \ge 0, \quad i=1,2,...,N$$

这是一个凸二次规划问题。

支持向量

在线性可分的情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量(support vector),即

$$y_i(w\cdot x_i+b) =1$$

对于y=+1的正例来说,支持向量在超平面

$$H_1:w\cdot x + b= 1$$

对于y=-1的负例来说,支持向量在超平面

$$H_2:w\cdot x + b = -1$$

如图中, H1和H2平行,之间形成一条长带,其宽度为$\frac 2 {||w||}$。在决定分离超平面时只有支持向量起作用,而其他实例点并不起作用,如果移动支持向量改变所求的解,但是如果在间隔边界(H1和H2)以外移动其他实例点,解都不会发生改变。

对偶算法

为了求解线性可分支持向量机的最优化问题,应用拉格朗日对偶性,通过求解对偶问题得到最优解。

定义拉格朗日函数:

$$L(w,b,\alpha) = \frac 1 2 {||w||}^2 - \sum_{i=0}^n \alpha_i y_i(w\cdot x_i + b) + \sum_{i=1}^N\alpha_i$$

其中,$\alpha = (\alpha_1, \alpha_2,...,\alpha_N)^T$为拉格朗日乘子向量。

根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题需要先求$L(w,b,\alpha)$对(w,b)求极小,再对$\alpha$求极大:

$$\max_\alpha \min_{w,b} L(w,b,\alpha)$$

  • $\min_{w,b} L(w,b,\alpha)$

分别对$w,b,\alpha$求偏导数,并令其等于0,将结果带入原公式中即得

$$\min_{w,b} L(w,b,\alpha) = -\frac 1 2 \sum_{i-=1}^N \sum_{j-=1}^N \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) + \sum_{i=1}^N \alpha_i$$

  • 求$\min_{w,b} L(w, b, \alpha)$对$\alpha$的极大

$$\max_\alpha -\frac 1 2 \sum_{i-=1}^N \sum_{j-=1}^N \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) + \sum_{i=1}^N \alpha_i \
s.t.\quad \sum_{i=1}^N\alpha_i y_i=0, \quad \alpha_i > 0,i=1,2,...,N$$

等价于:

$$\min_\alpha \frac 1 2 \sum_{i-=1}^N \sum_{j-=1}^N \alpha_i \alpha_j y_i y_j(x_i \cdot x_j) - \sum_{i=1}^N \alpha_i \
s.t.\quad \sum_{i=1}^N\alpha_i y_i=0, \quad \alpha_i > 0, i=1,2,...,N$$

线性可分支持向量机学习算法

(1)构造并求解约束最优化问题

$$\min_\alpha \frac 1 2 \sum_{i-=1}^N \sum_{j-=1}^N \alpha_i \alpha_j y_i y_j(x_i \cdot x_j) - \sum_{i=1}^N \alpha_i \
s.t.\quad \sum_{i=1}^N\alpha_i y_i=0, \quad \alpha_i > 0, i=1,2,...,N$$

(2)计算

$$w^* = \sum_{i=1}^N \alpha_i^* y_i x_i$$

并选择$\alpha^*$的一个正分量$\alpha_j^*$,计算

$$b^* = y_i - \sum_{i=1}^N \alpha_i^*y_i(x_i \cdot x_j)$$

(3)求得分离超平面

$$w^* \cdot x + b^* = 0$$

分类决策函数

$$f(x) = sign(w^* \cdot x + b^*)$$

SVM-线性可分支持向量机的更多相关文章

  1. 线性可分支持向量机与软间隔最大化--SVM(2)

    线性可分支持向量机与软间隔最大化--SVM 给定线性可分的数据集 假设输入空间(特征向量)为,输出空间为. 输入 表示实例的特征向量,对应于输入空间的点: 输出 表示示例的类别. 我们说可以通过间隔最 ...

  2. 线性可分支持向量机--SVM(1)

    线性可分支持向量机--SVM (1) 给定线性可分的数据集 假设输入空间(特征向量)为,输出空间为. 输入 表示实例的特征向量,对应于输入空间的点: 输出 表示示例的类别. 线性可分支持向量机的定义: ...

  3. svm 之 线性可分支持向量机

    定义:给定线性可分训练数据集,通过间隔最大化或等价的求解凸二次规划问题学习获得分离超平面和分类决策函数,称为线性可分支持向量机. 目录: • 函数间隔 • 几何间隔 • 间隔最大化 • 对偶算法 1. ...

  4. 统计学习:线性可分支持向量机(SVM)

    模型 超平面 我们称下面形式的集合为超平面 \[\begin{aligned} \{ \bm{x} | \bm{a}^{T} \bm{x} - b = 0 \} \end{aligned} \tag{ ...

  5. 统计学习2:线性可分支持向量机(Scipy实现)

    1. 模型 1.1 超平面 我们称下面形式的集合为超平面 \[\begin{aligned} \{ \bm{x} | \bm{a}^{T} \bm{x} - b = 0 \} \end{aligned ...

  6. SVM清晰讲解——线性可分问题

    转载作者:liangdas 引言: 1995年Cortes和Vapnik于首先提出了支持向量机(Support Vector Machine),由于其能够适应小样本的分类,分类速度快等特点,性能不差于 ...

  7. SVM明确的解释1__ 线性可分问题

    笔者:liangdas 出处:简单点儿,通俗点儿,机器学习    http://blog.csdn.net/liangdas/article/details/44251469 引言: 1995年Cor ...

  8. 线性可分SVM中线性规划问题的化简

    在网上找了许多关于线性可分SVM化简的过程,但似乎都不是很详细,所以凭借自己的理解去详解了一下. 线性可分SVM的目标是求得一个超平面(其实就是求w和b),在其在对目标样本的划分正确的基础上,使得到该 ...

  9. 模式识别之svm()---支持向量机svm 简介1995

    转自:http://www.blogjava.net/zhenandaci/archive/2009/02/13/254519.html 作者:Jasper 出自:http://www.blogjav ...

随机推荐

  1. 一般多项式曲线的最小二乘回归(Linear Regression)

    对于一般多项式: K为多项式最高项次,a为不确定的常数项,共k+1个; 有离散数据集对应,其方差: β为,方差函数S对β自变量第j个参数的梯度(偏导数): 当以上梯度为零时,S函数值最小,即: 中的每 ...

  2. JS各种算法小例子

    <!DOCTYPE html><html><head>    <title>js</title>    <meta charset=& ...

  3. js execCommand

    JavaScript中的execCommand()命令详解及实例展示 标签: javascriptbuttonfunctioninputobjectdelete 2012-05-07 16:08 14 ...

  4. php常用的几个模块

    上传下载.操作excel.编码.内存管理.浮点运算.系统时间.seo.web安全.网络 0.环境搭建 1.上传下载 借助jquery的uploaderfily插件.表单内嵌iframe提交 2.exc ...

  5. js中返回上一页失效的解决办法

    最近在做移动端的时候,碰到了一个问题,就是点击返回按键,使用history.go(-1)或history.back(-1)不能够生效.于是便寻找其他的方法,终于找到了一位大神的方法如下: if(win ...

  6. Win10专业版激活永久可查激活信息

    Win10专业版激活永久步骤 ------在安装Win10专业版后,使用激活工具将系统激活到180天 这里附带在下屡试不爽的激活工具--百度云盘-- 链接:http://pan.baidu.com/s ...

  7. 省市二级联动(原生JS)

    代码如下: <html> <head> <meta charset="UTF-8"> <title>省市二级联动</title ...

  8. redis hash数据类型

    我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器.所以该类型非常适合于存储值对象的信息.如Username.Password和Age等.如果H ...

  9. Java开发Webservice的组件

    参考:http://bbs.csdn.net/topics/390900831 转自:http://blog.csdn.net/dragoo1/article/details/50759222 htt ...

  10. React Native填坑之旅--与Native通信之iOS篇

    终于开始新一篇的填坑之旅了.RN厉害的一个地方就是RN可以和Native组件通信.这个Native组件包括native的库和自定义视图,我们今天主要设计的内容是native库方面的只是.自定义视图的使 ...