参考文献:https://blog.csdn.net/Dominic_S/article/details/83002153

1.硬间隔最大化

对于以上的KKT条件可以看出,对于任意的训练样本总有ai=0或者yif(xi) - 1=0即yif(xi) = 1
1)当ai=0时,代入最终的模型可得:f(x)=b,样本对模型没有贡献
2)当ai>0时,则必有yif(xi) = 1,注意这个表达式,代表的是所对应的样本刚好位于最大间隔边界上,是一个支持向量,这就引出一个SVM的重要性质:训练完成后,大部分的训练样本都不需要保留,最终的模型仅与支持向量有关。

2.软间隔最大化

如果数据加入了少数噪声点,而模型为了迁就这几个噪声点改变决策平面,即使让数据仍然线性可分,但是边际会大大缩小,这样模型的准确率虽然提高了,但是泛化误差却升高了,这也是得不偿失的。

或者有一些数据,线性不可分,或者说线性可分状况下训练准确率不能达到100%,即无法让训练误差为0。

此时此刻,我们需要让决策边界能够忍受一小部分训练误差,而不能单纯地寻求最大边际了。因为边际越大被分错的样本也就会越多,因此我们需要找出一个”最大边际“与”被分错的样本数量“之间的平衡,引入一个松弛系数ζ。

在硬间隔中:决策平面是绿色实线,约束条件是要保证两类样本点分别位于两条绿色虚线的两侧,所有样本点都被正确分类。

在软间隔中:决策平面是绿色实线,约束条件变为蓝色虚线,且红色样本点在红色箭头一侧即可,紫色样本点在紫色箭头一侧即可。

由于ζ是松弛量,即偏离绿色虚线的函数距离(绿色虚线到决策平面的距离为1),松弛量越大,表示样本点离绿色虚线越远,如果松弛量大于1,那么表示样本越过决策平面,即允许该样本点被分错。模型允许分类错误的样本数越多,模型精确性越低。因此需要对所有样本的松弛量之和进行控制,因此将所有样本量之和加入目标函数。

C表示的是在目标函数中松弛量的权重,C越大表示最小化时更多的考虑最小化ζ,即允许模型错分的样本越少,C值的给定需要调参。

同硬间隔最大化SVM,构造软间隔最大化的约束问题对应的Lagrange函数如下:

优化目标函数为: 

对偶问题为:

带入对偶函数得:

再对上式求α的极大值,即得对偶问题:

此处的约束条件由上面求导的2、3式可得。

软间隔SVM的KKT条件:

根据KKT条件中的对偶互补条件 αi(yi(wTxi+b)-1+ξi)=0 可知αi>0(即ai≠0)的样本为支持向量在间隔边界上、间隔边界(yi(w*xi+b)=1)与决策超平面之间、或者在超平面误分一侧的向量都有可能是支持向量,因为软间隔模型中每个样本的αi、ξi不同,而αi、ξi不同的取值,样本就有可能落在不同的区域:

(1)αi<C,则μi>0,ξi=0,支持向量xi恰好落在间隔边界上;

(2)αi=C,则μi=0,则ζ≠0

      0<ξi<1,则分类正确,xi在间隔边界与决策超平面之间;

      ξi=1,则xi在决策超平面上;

      ξi>1,则xi位于决策超平面误分一侧。

求得的每个样本点的α和ζ都不同,因此那条有松弛量的蓝色虚线超平面只是一个抽象概念,是不存在的,因为各个样本的松弛量都不同,C只是对总体样本的松弛量(即误差进行控制)。

支持向量是满足yi(w*xi+b)=1-ζi这个式子的样本,因为每个样本的ζi不同因此支持向量构不成线。间隔边界yi(w*xi+b)=1还在原来的地方。

图中箭头所指的样本点都可以是支持向量。

如果给定的惩罚项系数C越小,在模型构建的时候就允许存在越多分类错误的样本,也就是表示此时模型的准确率比较低;如果给定的C越大,表示在模型构建的时候,允许分类错误的样本越少,也就表示此时模型的准确率比较高。

SVM中的软间隔最大化与硬间隔最大化的更多相关文章

  1. SVM中的间隔最大化

    参考链接: 1.https://blog.csdn.net/TaiJi1985/article/details/75087742 2.李航<统计学习方法>7.1节 线性可分支持向量机与硬间 ...

  2. <老古董>线性支持向量机中的硬间隔(hard margin)和软间隔(soft margin)是什么

    _________________________________________________________________________________________________ Th ...

  3. SVM中为何间隔边界的值为正负1

    在WB二面中,问到让讲一下SVM算法. 我回答的时候,直接答道线性分隔面将样本分为正负两类,取平行于线性切割面的两个面作为间隔边界,分别为:wx+b=1和wx+ b = -1. 面试官就问,为什么是正 ...

  4. linux中的软、硬链接

    linux中的软.硬链接 硬链接 硬链接(hard link),如果文件B是文件A的硬链接,则A的inode节点号与B的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同 ...

  5. svm中的数学和算法

    支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本.非线性及高维模式识别中表现出很多特有的优势,并可以推广应用到函数拟合等其它 ...

  6. 《机器学习_07_01_svm_硬间隔支持向量机与SMO》

    一.简介 支持向量机(svm)的想法与前面介绍的感知机模型类似,找一个超平面将正负样本分开,但svm的想法要更深入了一步,它要求正负样本中离超平面最近的点的距离要尽可能的大,所以svm模型建模可以分为 ...

  7. SVM中的线性分类器

    线性分类器: 首先给出一个非常非常简单的分类问题(线性可分),我们要用一条直线,将下图中黑色的点和白色的点分开,很显然,图上的这条直线就是我们要求的直线之一(可以有无数条这样的直线)     假如说, ...

  8. 机器学习实战:基于Scikit-Learn和TensorFlow 第5章 支持向量机 学习笔记(硬间隔)

    数据挖掘作业,需要实现支持向量机进行分类,记录学习记录 环境:win10,Python 3.7.0 SVM的基本思想:在类别之间拟合可能的最宽的间距,也叫作最大间隔分类 书上提供的源代码绘制了两个图, ...

  9. word文档巧替换(空行替换、空格替换、软回车替换成硬回车)

    一.空行替换 在日常工作中,我们经常从网上下载一些文字材料,往往因空行多使得页数居高不下.一般方法是:在“编辑”菜单中打开“查找和替换”对话框(或按ctrl+H),在“查找内容”中输入“^p^p”“替 ...

随机推荐

  1. yum install hadoop related client

    yum list avaliable hadoop\* yum list installed yum repolist repo is in /etc/yum.repos.d yum install ...

  2. requests的get请求基本使用

    官方文档 https://docs.python-requests.org/zh_CN/latest/   快速上手 https://docs.python-requests.org/zh_CN/la ...

  3. 菜鸡的Java笔记 第十七 static 关键字

    static 是java中定义的一个关键字,主要是描述全局的概念,所以利用static关键字可以定义属性,定义方法        但是在90%的情况下,我们的开发代码很少会去直接编写static*// ...

  4. 【linux系统】命令学习(二)文件处理命令

    查看帮助 1.--help     例如:ls --help  会有中文 2.man       例如:man ls   都是英文 进入手册的界面 空格键:向下翻页 回车:一行一行翻页 B:向前翻页 ...

  5. Dapr-Actor构建块

    前言: 前篇-绑定 文章对Dapr的绑定构建块进行了解,本篇继续对 Actor 构建块进行了解学习. 一.Actor简介: Actors 为最低级别的"计算单元". 换句话说,您将 ...

  6. [atARC080F]Prime Flip

    构造一个数组$b_{i}$(初始为0),对于操作$[l_{i},r_{i}]$,令$b_{l_{i}}$和$b_{r_{i}+1}$值异或1,表示$i$和$i-1$的差值发生改变,最终即要求若干个$b ...

  7. vue 3 学习笔记 (六)——watch 、watchEffect 新用法

    选项式API与之前写法相同,本篇文章主要通过 Options API 和 Composition API 对比 watch 的使用方法,让您快速掌握 vue3 中 watch 新用法.建议收藏! 一. ...

  8. bsp工程管理

    1. bsp工程管理的目的 模块化项目,使得项目清晰 2. 代码 拷贝原来工程 创建文件夹 bsp就是工程驱动文件 imx6ull是和芯片有关的文件 obj是生成文件的文件夹 project 工程文件 ...

  9. Redis 很屌,不懂使用规范就糟蹋了

    这可能是最中肯的 Redis 使用规范了 码哥,昨天我被公司 Leader 批评了. 我在单身红娘婚恋类型互联网公司工作,在双十一推出下单就送女朋友的活动. 谁曾想,凌晨 12 点之后,用户量暴增,出 ...

  10. nginx_rewrite

    介绍: 和apache等web服务软件一样,rewrite的组要功能是实现RUL地址的重定向.Nginx的rewrite功能需要PCRE软件的支持,即通过perl兼容正则表达式语句进行规则匹配的.默认 ...