支持向量机这一节是看的中国mooc网上浙大胡浩基的课,感受仍是中文讲课的比较清晰易懂, 再结合看了周志华的《机器学习》。看完视频再看瓜书才明白上面那些公式是怎么来的,可能对于初学者来讲仍是 母语的视频教学更好懂。一开始看瓜书真的是头痛,全是各类数学公式,推导过程也没有。markdown
定义:可分不可分
如图若是能用一条直线把不一样的数据给分隔开,就是线性可分的(linear separable)
若是若是不能用一条直线把不一样的数据给分隔开,就是线性不可分的(nonlinear separable)机器学习
这个理论能够推广到三维,甚至思惟以上的特征空间。三维使用平面来分隔数据,四维和四维以上由于人类 没法直观的感知出来,因此画不出来,可是能分隔数据,存在这样的平面叫作超平面。函数
二维线性可分状况: 工具
数学定义: 学习
向量定义: 优化
问题描述:
对于线性可分的状况下,怎么找到最优分类的超平面 从图上看中间的超平面是最优的,这个对于划分数据是的容忍性最好,例如优于训练集数据的局限性,训练集外的数据可能致使分类直线出现错误的分类结果。可是第二幅图中的执行是受影响最小的,较小几率受新的数据影响而产生错误的结果。spa
支持向量机的寻找的最优分类直线应该知足:
2.1 该直线分开了两类
2.2 该直线最大化间隔(margin)
2.3 该直线处于间隔的正中间,到全部支持向量距离相等3d
上述的规则一样适用于线性可分的多维特征空间,只不过直线是变成了超平面。code
理解这个部分的公式花了我很长的时间,看了不少遍视频,对照着书和找的资料才勉强理解了。越日后面学,愈加现本身数学知识储备太少。 首先咱们看一个点到平面的距离的公式: 能够发现其实这个公式能够看作是平行四边形的面积除以底边,而后求出的高就是点到平面的距离。orm
而后开始推导求线性可分问题的公式: 先看两个存在的公式: 事实1:
事实2
在先看下样本空间任意一点到超平面的距离公式是: ωx + b 这里的ω是个法向量,决定了超平面的方向,b是位移项是超平面和原点之间的距离。
根据事实1和事实2来推导:
要找到最大的间隔的超平面,就是要找到参数ω和b,使d最大。 因此问题就转化为,求||ω||的最小值。
因此优化问题定为: 最小化 1/2 * ||ω||^2 (这个和最小化||ω||是同样的,只是为了方便求导弄成了这种形式)
这个公式是二次规划的问题,因此咱们求(ω,b)的为问题变成了求二次规划的问题。 由于二次规划是要么是无解,要么就是有惟一最小值的。又由于在凸优化问题中,必定存在惟一最小值的解, 因此是凸优化问题的二次规划问题必定有最优解。所以后面只要转化为了二次规划,又是凸优化问题的。咱们就能够用已经存在解决凸优化问题的工具去解决它。
1.支持向量机还有要学习的内容核函数,对偶问题,这些小节尚未学习完,因此这里没有写出来。 2.下周要将核函数和对偶问题学习下,而后学习下拉格朗日子乘法,这个对偶问题公式推导会用到。