机器学习十——SVM(自己学习与理解知识点梳理)

点到直线的距离公式

在这里插入图片描述

无约束的最优化求解(梯度下降)

用于求解没有限制(这里的限制指的是θ)的凸函数的极小值。是一种迭代的算法,因为凸函数只有一个极值点,所以求出来的极值就是最小值。
在这里插入图片描述
导数:一个函数在某一点的导数,描述这个函数在这个点附近的变化率(也就是切线的斜率),导数值越大,变化率越大。导数大于0表示随着x增增大。这里我们希望差值(实际值和预测值的mse)减小,所以就沿着负梯度来减小x,因为x减小y也减少。在这个函数中的x就是θ,所以我们就要减小θ,来减小差值。
梯度:梯度是一个向量(偏导数组成的向量)。意义就是表示某一函数在该点处沿着该方向变化最大,所以我们经常取负梯度。当函数是一维的时候,梯度就是导数。
在这里插入图片描述
思想:梯度下降的思想就是,用沿着当前负梯度的方向搜索,因为负梯度下降时最快的。愈接近最低点,下降的也就越慢,因为梯度变小了。α是学习率,控制梯度下降的步长。当两次迭代很小,或者到达迭代次数的时候,就停止迭代了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里SGD做在线机器学习应该是没有接口的。

有约束的最优化求解

最优化问题一般就是指求其定义域上的全局最小值。分为下面三种情况。
但是只有当函数是凸函数的时候才会必然求得全局最优,否则有可能是局部最优。
在这里插入图片描述
拉格朗日乘子法:
当我们优化的函数的θ有等式的约束的时候使用的一种求解最优化的一种方法。
在这里插入图片描述
其中的α就是拉格朗日乘子,要求不等于0.

**思想:**当我们的θ有了等式的约束,所以定义域就发生了变化。所以这时候我们要求的是新的定义域的最小值。也就是满足两个式子的最小值。
在这里插入图片描述
在这里插入图片描述
由图可见,在满足θ等式的前提下的原式的最小值就是两个图像的切线,也就是两个图像梯度成倍数关系的时候。所以在这个点的时候,a图像的梯度=α*b图像的梯度(这里阿尔法是负的)。也就是对拉格朗日乘子函数求导等于0就是最优解。

对偶问题

在优化问题中如果目标函数和约束条件都是关于x的线性函数则称为线性规划,每一个线性规划都有一个对偶问题。如果目标函数为二次函数则成为二次规划
在这里插入图片描述
在这里研究kkt条件下的对偶问题

KKT条件

我们的优化函数存在不等值约束的时候求最优解方式。是一种泛拉格朗日乘子法的行式。
在这里插入图片描述
α和β是拉格朗日系数。
这里我们把目标函数和限制条件像拉格朗日乘子法一样连接起来。
在这里有两种情况。第一种,当不等式的限制范围包含了目标函数的最优点。也就是g(x)<0,这时候限制条件也就没什么作用了,我的参数的定义的本来就在限制函数内部。
第二种,当不等式的限制范围未包含目标函数的最优点。这时候需要求最优点的等高线和限制函数的切点,限制函数最外围就是g(x)=0,这时候是靠近最靠近最优解的,但是这时候有两个点注意梯度方向。这种也可以看成等式约束,相当于拉格朗日乘子法去理解。
在这里插入图片描述
第一种,β等于0.因为目标i函数的最优点在约束函数里面所以,约束函数没有起到约束的作用。等于0消掉就行了
第二种,限制函数和目标函数都满足的点也就是切点,一共就两个,一个是靠近目标函数的圆心的,一个是远离圆心的。我们希望是在限制函数的范围内且还是最优的所有取靠近目标函数圆点的那个切点。那个切点在目标函数上的的负梯度(我们取得是指向最优解方向的梯度,所以是负梯度,这里认为梯度的增大的是正)等于限制函数的梯度。g(x)(和f(x)的梯度同向,我们已经定义正负值)是负的,所以这里β必须为小于0的数。
综上所述,β是小于等于0的
在这里插入图片描述
在这里插入图片描述

KKT的求解
在这里插入图片描述
上面介绍了这个式子的由来,我们将目标函数和不等式限制条件结合起来,用β给限制条件定了两种可能。接下来我们求解这个式子的最小值。这里的g(x)是小于等于0的,如果不是可以化简为小于等于0的。
在这里插入图片描述
所有就有了上图的条件,βg(x)就一定是小于0的。求L(x,β)的最小值我们就可以换个角度来看,我们先求L(x,β)中,忽略x时的最大值,因为L(x,β)等于f(x)+βg(x),所以如下图。我们求了后半部分的最大值,在求f(x)的最小值。也就是说,我们先把x看作常数,求最大值,再求f(x)的最小值。

在这里插入图片描述
在对上图理解下。要求最大的L(x,β),就是所有的β*g(x)相加的和等于0的时候,因为这个值最大是0,最小是负无穷。所以我们求让它等于0,这时候是maxL(x,β),恰巧等于f(x)。我们要求的又是最小的f(x),所以再把这个结果求求最小就可以了。简单理解,我们第一个求maxL(x,β)的时候已经是将限制条件计算进去了,也就是满足这个限制条件的x,根据β的取值当取得最大值的时候就是f(x)了,我们再从这些值里面选一个最小值就可以了。这个也是对偶中的原问题。

对偶
在这里插入图片描述

比较下面两个式子:
在这里插入图片描述
在这里插入图片描述
当L(x,β)对x取最小值然后对β取最大值的时候等于minf(x),但是要求β或者g(x)等于0,这个不明白可以看上一张图片。换句话说就是maxβminxL(x,β)的最大值(也就是β或者g(x)等于0)就是minxf(x)。
而我们要求的解minxmaxβL(x,β)的最小值就是minxfin(x),所以这里就是给出了一个下界问题。
在这里插入图片描述
KKT条件
在这里插入图片描述
第一条。就是我们构建的拉格朗日乘子法。
第二条。βg(x)=0这里解释一下,β等于0是f(x)在约束条件内部,g(x)=0是约束条件和f(x)相切的地方(这里g(x)=0是因要使βg(x)=0才能保证最大值。这个2也就满足原问题和对偶问题相等的条件。

串一下思路

首先我们在解决线性可分的模型中,提到了感知机模型,但是感知机模型在选取平面的时候有弊端,所以我们又提到了SVM,SVM之所以比感知机模型强,就是因为我们在选取平面的时候也进行限制。但是就是由于这个限制我们就不能使用梯度下降进行求解了。所以我们开始考虑拉格朗日乘子法,但是限制条件是不等式,所以我们又想到了KKT。但是函数的原问题比较难以求解所以我们有使用了对偶问题,在满足一定条件下,解决对偶问题就是解决原问题。所以我们先忽视f(x)来根据β求βg(x)的最大值,然后再根据x求L最小值,因为β*g(x)是负值,所以最大化就可以减小L(x,α,β)。这里就引入对偶进行求解,不细说了。
初识svm
SVM是对感知机模型就行优化了的。因为感知机模型中,划分了超平面,但是可能导致有的点离的超平面比较近,可能会导致分错,所以再SVM中希望离超平面比较近的点还要尽可能的远离分割平面。
在这里插入图片描述
我们认为超平面是wx+b=0这条线。上面支持支持向量到超平面的距离就是y(wxi+b)/||w||^2
=1/||w||^2
所以我们想最大化支持向量到超平面的距离就是希望1/||w||2 要大同时满足预测值和实际值的积要大于等于1也就是下图(其实找距离更大的分割平面就是想让两个类的差异明显)
在这里插入图片描述
最大的1/w,其就是求最小的w。我们可以转换为下面的优化问题。加上平方是为了消掉根号。因为w的二范式是有根号的。乘上1/2也不会影响最小值的位置。
在这里插入图片描述
线性可分SVM
在这里插入图片描述
限制就把限制函数加入到原函数中组成了L函数,只要求出L的最小值就是我们原函数再约束条件下的最小值了。

求解
在这里插入图片描述
根据我们上面说的进行构建。
在这里插入图片描述
这是原问题。
在这里插入图片描述
这是原问题的下界。
在这里插入图片描述
先求minw,bL(w,b,β)
在这里插入图片描述
对w和b进行求偏导来得到最小值。将求得的最小值导入到原先的拉格朗日乘子式中,再求max。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
求l(β)的最大值就等于求它相反数的最小值。求出β的最优解,然后根据前面w=累加βxy就可以求得w。注意这时候求β的时候要满足β乘以y等于0这个条件,因为前面也有这个条件。满足这个条件的时候,b是可以为任意值,前面我们求导的得到的。但是这里b有一个隐藏对的条件。看下图
在这里插入图片描述
这样来求得b。因为再前面对b有一个默认的约束就是wx+b=±1

在这里插入图片描述
这里只要β大于0的点就是支持向量,因为β大于0意味着1- y (w x +b)是等于0的转化下位置就是支持向量(这里理解是这样的,βg(x)=0,当g(x)<0的时候,x是在g(x)的内部的,β直接极小化就是0)。找到支持向量就可以计算b,因为再支持向量位置满足上图前面的那个图的公式。

svm流程

在这里插入图片描述

总结

  1. 数据要线性可分的,是二分类的。
  2. 纯线性的svm对异常点的预测可能不太准
  3. 对于线性可分的svm效果最好
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值