视频地址:https://www.bilibili.com/video/BV1aE411o7qd?p=28
笔记地址:https://www.yuque.com/books/share/f4031f65-70c1-4909-ba01-c47c31398466/pdv5ry

P28 支持向量机1 - 硬间隔SVM模型定义

超平面的点法式方程:假设平面上一点O为(x0,y0,z0),平面上除了O之外的任一点为(x,y,z),所以从O出发到平面上任一点的向量为(x-x0,y-y0,z-z0)。设平面的法向量为(A,B,C),那么该法向量垂直于平面上任意向量,故平面方程可以表示如下:(A,B,C)·(x-x0,y-y0,z-z0)=0 (可以看出wTx+b=0中w即为超平面的法向量

点到平面的几何距离和函数距离:当点(x,y,z)在平面外时,(x-x0,y-y0,z-z0)表示从平面点O指向平面外某个点的向量,用该向量点乘平面法向量,就可以得到改点到平面的距离。(这里注意:法向量要是单位长度算的才是实际的几何距离,否则叫函数距离。点到平面的几何距离是固定的,函数距离是可以随意放缩的)

SVM模型数学表示:f(w)=sign(wTx+b)。这里SVM是一个二分类模型,在决策超平面上边的类别为+1,下边的类别为-1。所以当模型预测类别wTx+b和样本实际类别yi相同时,始终有:yi·(wTxi+b)>0。

SVM的优化目标:就是找到一个决策平面有着最大的margin。

margin的定义:所有样本xi到决策超平面距离的最小值。

极大极小问题:因为SVM的目标是最大化margin,而margin本身又是支持向量到直线的最小距离,所以这就构成了一个极大极小问题。如下图所示,min和max优化的目标都是点到直线的几何距离。max的优化对象是w和b,优化max时xi是确定的,这时,因为计算的是几何距离,同步放缩w和b并不会影响到计算的结果;min的优化对象是xi,优化min时w和b是确定的,这时,因为计算的是几何距离,同步放缩w和b也不会影响到计算的结果。综上所述,同步改变w和b的值对max和min问题的结果都没有影响

该优化问题有N个约束条件:yi·(wTxi+b)>0, i∈(1,2…N),其实也就是要求每个样本都被分类成功,也即要求整个样本集是线性可分的。这N个样本到超平面wTx+b=0的N个距离中,一定有一个最小距离,假设为r。也即:

所以我们可以令上上图虚线框中的部分始终等于1,相当于对w和b同步缩小 r 倍,r虽然不是定值,但只要是常数,根据我们之前推论:同步放缩w和b对max和min都没有影响。因此我们这里就直接令虚线框部分等于1,简化后边的计算。最终得到的优化方程为:

P29 支持向量机2 - 硬间隔SVM - 对偶问题
通过非严格证明理解拉格朗日乘子法:拉格朗日乘子法重写目标函数的目的是,去除对原始变量w和b的约束条件,使新的目标函数是w和b的无约束优化。但是拉格朗日乘子法新引入了对自定义系数λi的约束,并且变成了一个极小极大问题。我们将w和b的联合解空间看做一个圆,其中一半使得△<=0,一半使得△>0。我们这里要先求极大问题,再求极小问题。可以发现先求极大问题时,△<=0情况下,因为λi>=0,所以总的目标函数又变成了原始目标函数;当△>0时,因为λi可取无穷大,则最终结果也是无穷大。在先求极大问题时,这两个结果都合理,但是接下来我们求极小问题时,显然无穷大解会被丢掉,目标函数又退化为原始状态了,以此说明拉格朗日乘子法对目标函数的等价转换效果。

min/max极大极小的对偶问题:用拉格朗日乘子法去除对原变量的约束条件后,都会写成min/max的形式,式子先对 λ 求max,再对原始变量w和b求min。 λ带约束条件一般比较难求,所以我们都可以考虑转成其对偶问题 max/min问题。这种转换可以分为强对偶和弱对偶关系。弱对偶是这种转换都满足的,也即 min/max的最优化结果总要大于等于 max/min的结果,这里从大佬讲的凤尾总比鸡头好来理解即可;强对偶就是min/max 和 max/min的结果完全一致,这要有一些约束条件,用到再了解即可,只要知道SVM这里的凸二次优化就满足强对偶关系即可,所以转换前后完全等价。

SVM转成对偶问题后的推导过程:因为先对原始变量w和b求min,所以直接对w和b求偏导带回原式即可。推导过程有两点注意:①对b求偏导后带回原式时,消掉∑λiyib,因为这里用到了上边推出的b的极值点条件∑λiyi=0,所以b在这里已经是最优解了,是个常数,所以∑λiyib可以把常数b提出后消掉。而前边的∑λiyiwTxi含有变量w显然不能消掉。 ②对w求偏导后带回原式时,λi是常数,yi是正负一,所以都可以被直接提出来,转置也只是对xi的转置。

P30 支持向量机3 - 硬间隔SVM - 函数求解与KKT条件

本节内容:用KKT条件求解SVM公式f(x)=sign(w*x+b*),求出最优的的w和b,也就得到了SVM的模型。这里注意:强对偶关系和KKT是充要条件关系,所以这里才能直接用KKT条件求解。

推导过程:w*是用KKT条件中的对w求偏导为0这个条件算出来的。b*是用了支持向量在yk(wTxk+b)=1这条直线上这个条件,然后将之前的w*代入即可解得b*

推导结果:对w*的理解是,它看似是一堆xi的组合,但实际上只有支持向量的λi才不为0,其他向量的λi都为0,w*实际只受几个支持向量的影响。

==P31 支持向量机4 - 软间隔SVM ==

背景:①上边SVM的推导是在yi·(wTxi+b)>0的条件下进行的,也即假定了数据一定线性可分,所以当数据非线性可分时就不成立了; ②数据的采集都存在噪声,SVM因为只考虑支持向量这几个点,所以受噪声影响更大,我们也需要使得SVM模型可以一定程度上违背约束,从而抵抗噪声。综上,我们需要在模型定义部分引入一部分灵活性,也即软间隔。

软间隔:核心思想是允许发生一点点错误。允许错误发生的做法是:放开约束条件中不能发生的情况,把这部分情况用Loss的形式加入到SVM模型定义中。引入的这个惩罚项Loss有两种形式:
①用可以违背约束的点的个数来作为Loss,用指示函数表示。这种Loss是不连续的,不便于求导,如下图右下角图像所示。故我们不采用这种Loss定义。

②用偏离约束条件的距离来定义,偏离约束条件的距离越远Loss越大,这样就可以保证Loss是连续的了。因为我们的约束条件是yi·(wTxi+b)>=1,在硬间隔SVM中我们不允许小于1的情况出现,所以这里我们可以定义偏离约束条件的距离为1-yi·(wTxi+b)。当样本点满足约束条件时Loss为0,违背约束条件时Loss为1-yi·(wTxi+b),也可以整合为一个Loss=max{0, 1-yi·(wTxi+b)}。这个Loss函数的图像如下图右上角所示,像一个门的合页,因此也叫 hinge Loss。

软间隔Loss的最终表示形式:因为用max形式的Loss计算不变,所以我们引入一个中间变量 ξi=1-yi·(wTxi+b),并令ξi>=0,约束条件还要变为 yi·(wTxi+b)>=1-ξi。这个ξi就表示样本违背决策边界的距离,当样本不违背约束条件时,ξi取最小为0,也即不带来Loss;当样本偏离决策边界时,ξi其实就既是偏离的距离又是Loss。

==P32 支持向量机5 - 约束优化问题 - 弱对偶性证明 ==
1. 约束优化问题原问题:都可以写成最小化形式,然后附带多个不等式条件和等式条件。

2. 将原问题写成拉格朗日乘子法形式:该形式与原问题是等价的,如我们前边所证明的,当不等式约束mi(x)<=0时,为使总的Loss最小,λi只能取0,这时表达的情况是满足不等式约束,新增Loss项被消去又变成了原问题;当不等式约束mi(x)>0时,因为λi>=0,Loss最大化会取到无穷大,一定比前半部分取值空间大,会被丢弃。等式约束则在拉格朗日乘子法中被写成了平方的形式,保证其取0,仍是等式约束。

3. 将拉格朗日乘子法写成对偶形式:因为写成拉格朗日乘子法后,对原变量x的约束条件被消掉了,而增加了对 λ 的新约束条件。这时显然先把无约束的min部分消掉更容易计算一点,所以要把min/max问题变成其对偶形式max/min问题。

弱对偶性证明:把min/max问题P 写成其对偶形式 max/min问题D 后,一定满足原问题P的解大于等于其对偶问题D的解。这个转成对偶问题后一定满足的条件就是弱对偶性,证明如下:

==P33 支持向量机5 - 约束优化问题 - 对偶性的几何理解 ==
本节内容:从几何直观解释了强对偶和弱对偶条件下最优解的大小关系。凸集+slater条件是强对偶的充分非必要条件。

问题定义:定义原问题 f(x)、约束条件 m1(x)、对偶问题 L(x,λ),以及原问题的最优解p*、对偶问题的最优解d*。注意:这里为了简化问题,约束条件只设计了一个不等式约束m1(x)。还要注意:两个最优解的式子后边都要补上约束条件才成立。

定义可行域G:G表示一组坐标值,横坐标表示约束条件的值 u,纵坐标表示原问题的解 t。同一个约束条件 u 下可以有很多解 t,G就代表了问题可以求解的全部范围。根据G的定义,我们可以重写p*和d*。前者表示 G可行域内 u<=0的区域所对应的t全部取值,也即G中蓝色区域在 t 轴上的投影线段。又因为是min问题,所以p*找的是上述t取值的下确界inf。同理,d*找的是t+λu这条支线与t轴交点的取值的最小值的最大值(max/min)。先求最小是指 t+λu 这条支线平行上滑的过程中第一次与G区域相切就要停下来,这时与t轴交点是最小的。然后求最大是因为斜率λ是个变量,可以随意转动,但因为d*有约束条件λ>=0,所以t+λu这条支线的斜率只能是负的,这就导致了在如图所示非凸可行域G情况下,d*能取到的最大值就是直线同时与G的两个尖尖相切,这时与t轴交点最大。从图中可以直观看出p*总大于等于d*


当G为凸集时如下图所示,这时p*可以等于d*。但是仅仅凸集还不能推出强对偶,还需要slater条件。也即凸优化问题+满足slater条件是强对偶的充分不必要条件。SVM是因为是二次规划问题,天生满足slater条件。

==P34 支持向量机6 - 约束优化问题 - slater条件 ==

relint:relative interior 相对内部,就是指把可行域G的边界线扣掉,内部的所有点所形成的区域,是一种相对内部。
slater条件定义:就是在G的相对内部区域可以找到至少一个点,使得所有不等式约束小于0都成立。这个从几何直观来理解,就是要求G中一定要有点在u<0的区域。很显然,即使G是一个凸集,但是整个都在第一象限,那么原问题就找不到最优解了。如果不强调相对内部的话,假设G在第一象限只有边界线上一点与t轴相切,这时做出的切线是垂直的,不一定能导致强对偶关系。
slater条件补充
①对于大多数凸优化,slater条件都成立。当然我们也可以构造凸集不满足slater条件,或者凸集满足slater但是不强对偶的,但是这都是极少数情况。
②放松的slater条件:不等式约束中只要是仿射函数作为约束,就不用关了,只要保证非放射函数的不等式约束小于0即可满足slater条件。(仿设函数可以简单理解为多元一次函数)。SVM强对偶就是因为不等式约束都是仿设函数,天然就满足slater条件,就是强对偶。

==P35 支持向量机7 - 约束优化问题 - KKT条件 ==

本节内容:前边我们推导理解了SVM是强对偶关系,知道了原函数的最优值p*和对偶函数的最优值q*相等,但是我们要求的是最优解x*,这里就需要用到KKT条件。而且KKT条件和强对偶关系是充要条件,只要强对偶都可以用KKT列出五个条件从而求解。本节通过利用强对偶关系推导了互补松弛条件和梯度为0条件,都是利用绿色推导部分的不等号必须相等得来的,后边有需要再来看吧。

(定义神经网络决策边界面临两个严重的不确定性问题:①数据稀疏,很多空间压根就没见过数据,所以预测也只能是一种没有依据的猜测; ②对边界形状做一些先验设定。因为机器学习模型的目标就是泛化误差最小,训练误差只是为测试集提供一个独立同分布的范式。我们能够对决策边界做哪些先验设置,从而保证泛化误差最小呢?SVM就是一种考虑,让两个支持向量之间的距离尽可能大,从而为每一个类提供更大的容错间隔。

白板机器学习笔记 P28-P35 支持向量机相关推荐

  1. 机器学习笔记九之支持向量机

    本节目录: 1 优化目标 2 大边界的理解 3 大间距分类器 4 核函数 5 使用支持向量机 1.优化目标 大量数据在应用算法时,表现情况往往依赖于操作水平,比如 算法设计特征量的选择.如何选择正则化 ...

  2. 机器学习笔记III: 基于支持向量机的分类预测

    支持向量机(Support Vector Machine,SVM)是一个非常优雅的算法,具有非常完善的数学理论,常用于数据分类,也可以用于数据的回归预测中,由于其优美的理论保证和利用核函数对于线性不可 ...

  3. 白板机器学习笔记 P60-P65 EM算法

    视频地址:https://www.bilibili.com/video/BV1aE411o7qd?p=46 笔记地址:https://www.yuque.com/books/share/f4031f6 ...

  4. 白板机器学习笔记 P39-P45 指数族分布

    视频地址:https://www.bilibili.com/video/BV1aE411o7qd?p=39 笔记地址:https://www.yuque.com/books/share/f4031f6 ...

  5. 白板机器学习笔记 P36-P38核方法

    视频地址:https://www.bilibili.com/video/BV1aE411o7qd?p=36 笔记地址:https://www.yuque.com/books/share/f4031f6 ...

  6. 白板机器学习笔记 P22-P27 PCA降维

    视频地址:https://www.bilibili.com/video/BV1aE411o7qd?p=22 笔记地址:https://www.yuque.com/books/share/f4031f6 ...

  7. 白板机器学习笔记 P9-P12线性回归

    视频地址:https://www.bilibili.com/video/BV1aE411o7qd?p=9 笔记地址:https://www.yuque.com/books/share/f4031f65 ...

  8. 白板机器学习笔记 P3-P8 高斯分布

    视频地址: https://www.bilibili.com/video/BV1aE411o7qd?p=3 笔记地址:https://www.yuque.com/books/share/f4031f6 ...

  9. 白板机器学习笔记 P13-P21 线性分类

    视频地址:https://www.bilibili.com/video/BV1aE411o7qd 笔记地址:https://www.yuque.com/books/share/f4031f65-70c ...

最新文章

  1. 负载均衡器之 Haproxy
  2. PAT甲级1151 LCA in a Binary Tree (30 分):[C++题解]LCA、最低公共祖先、哈希表映射
  3. Windows平台下go编译器LiteIDE的安装和使用
  4. 06-linux下Elasticsearch安装 设置Elasticsearch
  5. Sentinel降级_异常数_分布式系统集群限流_线程数隔离_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0041
  6. 【原】Eclipse部署Maven web项目到tomcat服务器时,没有将lib下的jar复制过去的解决办法...
  7. 机器学习,深度学习,免费数据集汇总
  8. MATLAB中范数norm()函数精讲
  9. 页面开机自启动,页面置顶显示,页面持续获得焦点,鼠标点击器源码
  10. STN网络官方文档复现
  11. 个性化PageRank算法
  12. 软件测试用例覆盖率怎么算,如何计算增量测试覆盖率
  13. 浅谈加密算法 aes
  14. RMON MIB:远程监控管理信息库
  15. 星星机实测,高清打印的口袋打印小精灵
  16. 碎碎念No.01 你是个自信的人嘛
  17. CSS——正方体360°旋转动画 效果
  18. TYVJ P1007 排座椅
  19. 被骗去柬埔寨的程序员...
  20. mysql安装教程8.0.21安装_mysql 8.0.21 安装配置方法图文教程

热门文章

  1. ARMV8 datasheet学习笔记3:AArch64应用级体系结构之Memory order
  2. 为什么会有jQuery、Dojo、Ext、Prototype、YUI、Zepto这么多JS包?
  3. 浅析:浅拷贝 及 深拷贝的传统写法
  4. GCD之barrier
  5. JZOJ 3427. 归途与征程
  6. Dummies Guide to Trains in Japan
  7. java-通过JDBC操作数据库
  8. python中反射(__import__和getattr使用)
  9. Android emulator error: x86 emulation currently requires hardware acceleration的解决方案
  10. 校友聊---Sprint计划会议总结