SVM算法 机器学习

目录

梯度下降法、拉格朗日乘子法、KKT条件回顾
感知器模型回顾
SVM线性可分
SVM线性不可分
核函数
SMO

SVM线性可分,SVM线性不可分,核函数,要求会推导

————————————————————————————

SVM算法 机器学习

 SVM算法 机器学习

 SVM算法 机器学习

学习率(步长)可以是任何数,如果是二阶偏导数的话,则为牛顿法

SVM算法 机器学习

 SVM算法 机器学习

 优化问题:

  给定一个目标函数,给定一些约束条件,就构成了一个优化模型。迭代必须是无约束的目标函数才可迭代。

SVM算法 机器学习

 SVM算法 机器学习

 SVM算法 机器学习

 对偶问题举例:1、求最小值然后求最大值,转化为求最大值再求最小值。。2、求一个数的最大值转化为求此数的相反数的最小

 KKT条件的三种证明方法对自己看优化问题大有裨益,在此扩展一下

SVM算法 机器学习

 为了不改变原来的约束条件,β只能>=0,因为β如果大于0的话,g(x)可就<=0不了了。

而要求目标函数L的最小值的话,如果f(x)之后的东西都等于0的话,那么求f(x)的最小值也就是求L的最小值了。,很明显,后面的东西不等于0,既然不等,我们就要想办法证明什么情况下等于0。

因此,证明方式一:βg=0

  如下图,假如 ,一开始不考虑g(x)<=0这个约束条件,只求f(x)的极小值,求极小就是求导等于0,就能得到一个最优解x*,

  ①如果x*代入约束条件g(x)<=0(也就是下图的有g(x)<=0构成的约束区域),恰好小于0,那么说明本来就在约束区域内,既然没有起作用,原函数f(x)后面的东西是不是就是没用的?没用的自然就是0咯,g(x)<0,那么只能是β=0咯

  ②如果x*代入约束条件g(x)<=0后,x*没在约束区域内,它是在区域外(>0)或者在区域边缘(=0)上,大于0不满足咱们的g(x)<=0的约束条件,pass掉,那只能找咱们等于0的时候了,在圆上,那就是g(x*)=0,那完了,g(x)=0了,βg也等于0 了。

  证明完毕。

SVM算法 机器学习

 证明方式二:

  如下图,转化为了从最大值里面挑一个最小值的问题。引入了上界的概念,比如cosx,1,2,3,所有1的倍数都是它的上界,但是1是最小的上界。

SVM算法 机器学习

 最终目的是求x与β的,求β最大值可不好求啊,无数个啊朋友们,所以这里用到对偶了,先求最小再 求最大值

 SVM算法 机器学习

 最后βg=0.

证明方式三:

  求minf(x),在约束条件g(x)<=0下,加入松弛变量a2,使得g(x)+a2=0,本来是加a的,为了保证它是正的,所以平方了一下。

原函数成了这样:L=f(x)+λ(g(x)+a2);为了不改变原来的约束条件,λ>=0

接下来求导就可以了

SVM算法 机器学习

可知 

SVM算法 机器学习

 因此,λg=0

三种证明条件的方法完毕。

所有求不等式的条件

SVM算法 机器学习

 感知器模型:

  感知器算法是最古老的分类算法之一,原理比较简单,不过模型的分类泛化能力比较弱,不过感知器模型是SVM、神经网络、深度学习等算法的基础。
感知器的思想很简单:比如班级有很多的同学,分为男同学和女同学,感知器模型就是试图找到一条直线,能够把所有的男同学和女同学分隔开,
如果是高维空间中,感知器模型寻找的就是一个超平面,能够把所有的二元类别分割开。
感知器模型的前提是:数据是线性可分的

SVM算法 机器学习

 SVM算法 机器学习

 SVM算法 机器学习

SVM

SVM算法 机器学习

 SVM硬间隔

前提:所有样本均分类正确

目的:在该前提下,搭建一个(让离超平面比较近的点离超平面尽可能的远(也就是最大化硬间隔))的分类器

 SVM算法 机器学习

SVM算法 机器学习

 SVM算法 机器学习

SVM算法 机器学习

 wtx+b=0是超平面,假设所有样本都分类正确,设xs为距离较近的那些点,那么分类正确的离超平面比较近的点要尽可能的离超平面远。wTxs+b/w的二范数为最近的点到超平面的距离,假设wTxs+b的绝对值为1,得到上式

如果所有样本点都分类正确,那么最近的那些点yiwTxs+b>=0(感知器知识)SVM算法 机器学习分对的时候,自然同号。

而y是±1,wTxs+b也是±1,所以,yiwTxs+b=1,既然最近的那些点=1,那么其他远的点,就是大于1了.

所以其他的远的点就是yiwTxi+b>=1

SVM算法 机器学习

SVM算法 机器学习

 SVM算法 机器学习

m个约束条件,引入的超参也就有m个,每个样本都有对应的参数βi

 SVM算法 机器学习

 求J(w)的最小值,找L和J(w)的关系,SVM算法 机器学习这部分是<=0的,所以J(w)是L关于β的最大值(只有关于β,其他都是我们要求的参数),求J(w)最小,再套个min就好。

SVM算法 机器学习

 求最小值,就是求偏导咯

SVM算法 机器学习

算到这里是用β表示w和b,把这两个表达式代入目标函数L中去,此时还有一个未知参数β

 SVM算法 机器学习

那么到这一步最小值求完了,外面还套着一层max,接着求max值

SVM算法 机器学习来源于SVM算法 机器学习,于是把此带进去作为约束条件

 该问题通过一系列转化:

SVM算法 机器学习

 这里要求的未知参数是m个β值,非常麻烦,所以后续会有SMO算法收拾它

 SVM算法 机器学习

SVM算法 机器学习

 SVM算法 机器学习

 SVM算法 机器学习

 SVM算法 机器学习

 SVM算法 机器学习

 SVM软间隔

 SVM算法 机器学习

 SVM算法 机器学习

 SVM算法 机器学习

 SVM算法 机器学习

 SVM算法 机器学习

 SVM算法 机器学习

 SVM算法 机器学习

 SVM算法 机器学习

 SVM算法 机器学习

 非线性可分SVM模型

SVM算法 机器学习

SVM算法 机器学习

升维后再内积的话维度实在太多太多。我们设法使一个函数来代替升维后的内积,此类函数即为核函数,共三个参数可调,除了图中框起来的,还有相关的系数可调,如下图

SVM算法 机器学习

 例子:0.8476即为相关的系数,也是第三个可调的参数

SVM算法 机器学习

 SVM算法 机器学习

 SVM算法 机器学习

 SVM算法 机器学习

 SMO算法

核心原理:迭代与优化原理:θnew=f(θold),用自己,表示自己

             θnewold=Δθ

作用:求下列约束优化问题的最优解β*

SVM算法 机器学习等价于SVM算法 机器学习

 分离超平面为g(x)=wTx+b

推导过程太复杂,不再作多阐述,这里给出结果与算法的实现

SVM算法 机器学习

 SVM算法 机器学习

SMO不适合大批量数据,参数太多,计算太复杂

 SVR算法其实就是线性回归的对偶问题,本质还是线性回归问题罢了