支持向量机(SVM)(二)-- 拉格朗日对偶(Lagrange duality)

简介:

1、在之前我们把要寻找最优的分割超平面的问题转化为带有一系列不等式约束的优化问题。这个最优化问题被称作原问题。我们不会直接解它,而是把它转化为对偶问题进行解决。

2、为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,即拉格朗日函数,再通过这个函数来寻找最优点。即拉格朗日函数,再通过这个函数来寻找最优点。

3、约束条件可以分成不等式约束条件和等式约束条件,只有等式约束条件的问题我们在高等数学课程中已经学习过了,其解决方法是直接将等式约束加入原问题构造出拉格朗日函数,然后求导即可。现在考虑更加一般性的问题:带不等式约束和等式约束的极值问题如何构造拉格朗日函数求解。

学习拉格朗日对偶原理重要的是理解构造所得的原始问题和原函数的等价性,以及原始问题和对偶问题解得等价性。

回忆一下之前得到的目标函数

要求解这个式子。我们可以通过求解对偶问题得到最优解,这就是线性可分条件下支持向量机的对偶算法,这样做的优点在于:一者对偶问题往往更容易求解;二者可以自然的引入核函数,进而推广到非线性分类问题。

1、我们下看下面的一个式子

上面是要求解的目标函数及其条件。我们可以得到拉格朗日公式为

在这里被称为拉格朗日算子。

然后分别对w和求偏导,使得偏导数等于0,然后解出

下面我们将要产生一个既有等式又有不等式条件限制的式子,我们可以叫做原始优化问题,这里简单介绍下拉格朗日对偶的原理。如下式子:

上述式子有两个条件(等式条件和不等式条件)

由此我们定义一般化的拉格朗日公式

这里的都是拉格朗日算子。不要忘了我们求解的是最小值。

设如下等式:

这里的P代表primal。我们设如下约束条件(primal constraints):

如果条件不全部满足的话,我们总可以调整使最大值出现正无穷,即会出现下面情况:

因此我们可以得出如下式子:

这样我们原来要求的min f(w)可以转换成求了。

同时我们设

将问题转化为先求拉格朗日关于的最小值,这个时候就把看做常量。之后再求最大值。

如下:

这个问题就是原问题的对偶问题,相对于原问题只是更换了min和max的顺序,而一般更换顺序的结果是Max Min(X) <= Min Max(X)。然而在这里两者相等。由此我们可以设如下:

所以在一定的条件下我们可以得到:

因此我们可以解决原问题的对偶问题,但是我们还要看看条件是什么。

假设f和g都是凸函数,h是仿射的(仿射的含义:存在ai, bi,使得),并且还要满足存在w使得所有的i都有

有了以上的假设,那么一定会存在使得是原问题的解,是对偶问题的解。同时也满足

另外,还满足Karush-Kuhn-Tucker(
KKT condition),如下式子:

所以如果满足了KKT条件,那么他们就是原问题和对偶问题的解。

我们从式子和式子可以看出如果那么

这个也就说明时,w处于可行域的边界上,这时才是起作用的约束。

而其他位于可行域内部的()点都是不起作用的约束,其中也就是的时候。这个KKT双重补足条件会用来解释支持向量和SMO的收敛测试。

支持向量机(SVM)(二)-- 拉格朗日对偶(Lagrange duality),布布扣,bubuko.com

时间: 2024-10-23 23:11:37

支持向量机(SVM)(二)-- 拉格朗日对偶(Lagrange duality)的相关文章

【转载】支持向量机SVM(二)

支持向量机SVM(二) [转载请注明出处]http://www.cnblogs.com/jerrylead 6 拉格朗日对偶(Lagrange duality) 先抛开上面的二次规划问题,先来看看存在等式约束的极值问题求法,比如下面的最优化问题: 目标函数是f(w),下面是等式约束.通常解法是引入拉格朗日算子,这里使用来表示算子,得到拉格朗日公式为 L是等式约束的个数. 然后分别对w和求偏导,使得偏导数等于0,然后解出w和.至于为什么引入拉格朗日算子可以求出极值,原因是f(w)的dw变化方向受其

SVM小白教程(2):拉格朗日对偶

在上一篇文章中,我们推导出了 SVM 的目标函数: \[ \underset{(\mathbf{w},b)}{\operatorname{min}} ||\mathbf{w}|| \\ \operatorname{s.t.} \ y_i(\mathbf{w}^T\mathbf{x_i}+b) \ge \delta, \ \ i=1,...,m \] 由于求解过程中,限制条件中的 \(\delta\) 对结果不产生影响,所以简单起见我们把 \(\delta\) 替换成 1.另外,为了之后求解的方便

SVM(二)拉格朗日对偶问题

2 拉格朗日对偶(Lagrange duality) 先抛开上面的二次规划问题,先来看看存在等式约束的极值问题求法,比如下面的最优化问题: 目标函数是f(w),下面是等式约束.通常解法是引入拉格朗日算子,这里使用来表示算子,得到拉格朗日公式为 L是等式约束的个数. 然后分别对w和求偏导,使得偏导数等于0,然后解出w和.至于为什么引入拉格朗日算子可以求出极值,原因是f(w)的dw变化方向受其他不等式的约束,dw的变化方向与f(w)的梯度垂直时才能获得极值,而且在极值处,f(w)的梯度与其他等式梯度

Spark机器学习系列之13: 支持向量机SVM

基本公式推导 理论部分:SVM涉及的理论知识太多太繁杂了,大家直接看: 支持向量机通俗导论(理解SVM的三层境界) http://blog.csdn.net/v_july_v/article/details/7624837 下面摘抄一小部分内容(不考虑推导细节的话,基本上能理解SVM方法推导的整个流程),对偶问题(包括KKT条件)在SVM起到很重要的作用,如果对此不很了解,则难以理解SVM推导过程.关于对偶分析,可以参考我的另一篇文章:http://blog.csdn.net/qq_345318

支持向量机(SVM)(五)-- SMO算法详解

一.我们先回顾下SVM问题. A.线性可分问题 1.SVM基本原理: SVM使用一种非线性映射,把原训练            数据映射到较高的维.在新的维上,搜索最佳分离超平面,两个类的数据总可以被超平面分开. 2.问题的提出: 3.如何选取最优的划分直线f(x)呢? 4.求解:凸二次规划 建立拉格朗日函数: 求偏导数: B.线性不可分问题 1.核函数 如下图:横轴上端点a和b之间红色部分里的所有点定为正类,两边的黑色部分里的点定为负类. 设: g(x)转化为f(y)=<a,y> g(x)=

机器学习与数据挖掘-支持向量机(SVM)(一)

最近在看斯坦福大学的机器学习的公开课,学习了支持向量机,再结合网上各位大神的学习经验总结了自己的一些关于支持向量机知识. 一.什么是支持向量机(SVM)? 1.支持向量机(Support Vector Machine,常简称为SVM)是一种监督式学习的方法,可广泛地应用于统计分类以及回归分析.支持向量机属于一般化线性分类器,这族分类器的特点是他们能够同时最小化经验误差与最大化几何边缘区,因此支持向量机也被称为最大边缘区分类器. 2.支持向量机将向量映射到一个更高维的空间里,在这个空间里建立有一个

支持向量机原理(二) 线性支持向量机的软间隔最大化模型

? ? ? ? ? ?支持向量机原理(一) 线性支持向量机 支持向量机原理(二) 线性支持向量机的软间隔最大化模型 支持向量机原理(三)线性不可分支持向量机与核函数 支持向量机原理(四)SMO算法原理 支持向量机原理(五)线性支持回归 在支持向量机原理(一) 线性支持向量机中,我们对线性可分SVM的模型和损失函数优化做了总结.最后我们提到了有时候不能线性可分的原因是线性数据集里面多了少量的异常点,由于这些异常点导致了数据集不能线性可分,本篇就对线性支持向量机如何处理这些异常点的原理方法做一个总结

OpenCV支持向量机(SVM)介绍

支持向量机(SVM)介绍 目标 本文档尝试解答如下问题: 如何使用OpenCV函数 CvSVM::train 训练一个SVM分类器, 以及用 CvSVM::predict 测试训练结果. 什么是支持向量机(SVM)? 支持向量机 (SVM) 是一个类分类器,正式的定义是一个能够将不同类样本在样本空间分隔的超平面. 换句话说,给定一些标记(label)好的训练样本 (监督式学习), SVM算法输出一个最优化的分隔超平面. 如何来界定一个超平面是不是最优的呢? 考虑如下问题: 假设给定一些分属于两类

支持向量机 (SVM)分类器原理分析与基本应用

前言 支持向量机,也即SVM,号称分类算法,甚至机器学习界老大哥.其理论优美,发展相对完善,是非常受到推崇的算法. 本文将讲解的SVM基于一种最流行的实现 - 序列最小优化,也即SMO. 另外还将讲解将SVM扩展到非线性可分的数据集上的大致方法. 预备术语 1. 分割超平面:就是决策边界 2. 间隔:样本点到分割超平面的距离 3. 支持向量:离分割超平面距离最近的样本点 算法原理 在前一篇文章 - 逻辑回归中,讲到了通过拟合直线来进行分类. 而拟合的中心思路是求错误估计函数取得最小值,得到的拟合