一起学西瓜书06 支持向量机(对偶)
拉格朗日乘子法的简单介绍
拉格朗日乘子法的具体介绍可以看上面的文章,我这边就简单的说一下它的核心
概念介绍
首先简单的讲一下梯度
- 方向导数是各个方向上的导数
- 偏导数连续才有梯度存在
- 梯度的方向是方向导数中取到最大值的方向,梯度的值是方向导数的最大值
可以这么理解–>梯度与等高线的切线垂直
梯度的求法就是对方差求偏导
除此之外,我们还需要知道一下极值点的求解,比如下面的问题是求方程与原点的最短距离
很明显,我们画个圆来求解就可以了
所以在极值点,圆和曲线相切
总结一下就是
- 在极值点,圆和曲线相切
- 梯度与等高线的切线垂直
所以我们可以得到,在相切点,圆的梯度向量和曲线的梯度向量平行:
拉格朗日乘子法
对于刚刚的问题,我们需要通过两个条件来求解
- 梯度向量平行
这样才可以得出解
定义
对于我们刚刚的求 曲线到原点最近点的问题,可以转换成拉格朗日乘子法的形式求解
其中f就是
约束g就是
求解过程如下,先列出方程组,再将偏导带入,为了便于理解,我手写了一遍
可以把上面的方程转化为L 求它的最小值
多约束条件
不等式的约束条件可以转换为等号
KKT条件
这是一种比较普遍的写法,
了解完这些,我们来看看我们的问题 对偶问题
对偶问题
这是我们之前计算得到的间隔
一起学西瓜书06 支持向量机(基本概念+间隔)
下面把它转化为拉格朗日函数
对w和b求偏导为0
下面是我推导的求偏导过程
我们只需要把求解出的w和b带入回原来的式子就可以了
下面的λ就是我们上面的a
得到如下的结果
对于函数的求解书上提到了SMO算法
这个算法的核心思想如下