Lagrange duality

对偶问题是利用拉格朗日对偶性将原始问题转换为对偶问题, 通过解对偶问题得到原始问题的解。
学习拉格朗日对偶性原理重要的是理解构造所得的原始问题和原函数的等价性,以及原始问题和对偶问题解的等价性。

等式约束条件优化问题

对于有等式约束条件的问题,其解决方法是直接将等式约束加入原问题构造出拉格朗日函数,然后求导即可。看如下例子:
minwf(w)min_w f(w)minw​f(w)s.t.hi(w)=0,i=1,...,ms.t. \quad h_i(w) =0, i=1,...,ms.t.hi​(w)=0,i=1,...,m
可以得到拉格朗日公式为:
L(w,β)=f(w)+∑imβihi(w)L(w, \beta) = f(w) + \sum_{i}^{m} \beta_{i}h_i(w)L(w,β)=f(w)+i∑m​βi​hi​(w)
分别对www和β\betaβ求偏导,使其等于0,然后解出 www 和 β\betaβ

∂L∂w=0;∂L∂β=0\frac{\partial L}{\partial w} = 0; \frac{\partial L}{\partial \beta} = 0∂w∂L​=0;∂β∂L​=0

原始优化问题

原始优化问题可能即有等式约束又有不等式约束。我们通过原始优化问题来介绍拉格朗日对偶原理。

minwf(w)min_w f(w)minw​f(w)s.t.gi(w)<=0,i=1,...,ms.t. g_i(w) <=0, i=1,...,ms.t.gi​(w)<=0,i=1,...,m hj(w)=0,j=1,...,nh_j(w) = 0, j=1,...,nhj​(w)=0,j=1,...,n
由此定义一般化的拉格朗日公式:

L(w,α,β)=f(w)+∑ikαigi(w)+∑jnβjhj(w)L(w, \alpha,\beta) = f(w) + \sum_{i}^{k} \alpha_{i}g_i(w) + \sum_{j}^{n} \beta_{j}h_j(w)L(w,α,β)=f(w)+i∑k​αi​gi​(w)+j∑n​βj​hj​(w)
这里αi\alpha_iαi​ 和 βj\beta_jβj​都是拉格朗日算子。αi>=0\alpha_i >= 0αi​>=0。 定义函数

θp(w)=maxα,βL(w,α,β)\theta_p(w) = \underset {\alpha, \beta} {max} L(w, \alpha,\beta)θp​(w)=α,βmax​L(w,α,β)
这里p代表primal, 即主问题。易得在www满足约束条件下和不满足约束条件下的情况:

θp(w)={f(w),ifwsatisfysprimalconstants∞,others\theta_p(w) = \left\{ \begin{aligned} f(w), if \ w \ satisfys \ primal \ constants \\ \infty, others \end{aligned} \right.θp​(w)={f(w),if w satisfys primal constants∞,others​
这样我们可以将问题进行转换

minwθp(w)=minwmaxα,βL(w,α,β)\underset {w} {min} \theta_p(w) = \underset {w} {min} \underset {\alpha, \beta} {max} L(w, \alpha,\beta) wmin​θp​(w)=wmin​α,βmax​L(w,α,β)
同时我们假设:
θD(α,β)=minwL(w,α,β)\theta_D(\alpha, \beta) = \underset {w} {min} L(w, \alpha,\beta) θD​(α,β)=wmin​L(w,α,β)

θD(α,β)\theta_D(\alpha, \beta)θD​(α,β)将问题转化为先求拉格朗日关于w的最小值,此时把α\alphaα和β\betaβ看作是常量。 之后再关于α\alphaα和β\betaβ求最大值,转化成对偶问题。如下:
maxα,βθD(α,β)=maxα,βminwL(w,α,β)\underset{\alpha, \beta}{max} \theta_D(\alpha, \beta) = \underset{\alpha, \beta}{max} \underset {w} {min} L(w, \alpha,\beta) α,βmax​θD​(α,β)=α,βmax​wmin​L(w,α,β)

这个问题就是主问题(primal problem)的对偶问题(dual problem)。 相对于原问题,调换了一下min和max的顺序。若主问题和对偶问题都是最优值,则对偶问题的最优值d∗d^*d∗<=原始问题的最优值p∗p^*p∗

d∗=maxα,βminwL(w,α,β)<=minwmaxα,βL(w,α,β)=f∗d^* = \underset{\alpha, \beta}{max} \underset {w} {min} L(w, \alpha,\beta) <= \underset {w} {min} \underset {\alpha, \beta} {max} L(w, \alpha,\beta) = f^*d∗=α,βmax​wmin​L(w,α,β)<=wmin​α,βmax​L(w,α,β)=f∗

即对偶问题的最优值d∗d^*d∗是主问题最优值f∗f^*f∗的下界,有:
d∗<=f∗d^* <= f ^*d∗<=f∗
这称为弱对偶性,如果:
d∗=f∗d^* = f^*d∗=f∗则称为强对偶性。

对于一般的优化问题,强对偶性通常不成立。但是若主问题为凸优化问题,例如f(w)f(w)f(w)和h(w)h(w)h(w)都是凸函数,而且g(w)g(w)g(w)是仿射函数 (由一阶多项式构成的函数), 且满足存在www使得所有的iii都有gi(w)<0g_i(w) < 0gi​(w)<0, 则强对偶性成立

KKT condition

Karush-kuhn-Tucker条件可以刻画主问题与对偶问题最优解之间的关系.

  • 推论1:设w∗w^*w∗为主问题的可行解, α∗,β∗\alpha^*, \beta^*α∗,β∗为对偶问题的可行解,且d∗=f∗d^*=f^*d∗=f∗, 则w∗w^*w∗和α∗,β∗\alpha^*, \beta^*α∗,β∗分别是主问题和对偶问题的最优解

KKT条件由以下几部分组成

  1. 主问题约束:
    {gi(w∗)<=0hj(w∗)=0\left\{ \begin{aligned} g_i(w^*) <= 0 \\ h_j(w^*) = 0 \end{aligned} \right.{gi​(w∗)<=0hj​(w∗)=0​
  2. 对偶问题约束:
    αi∗>0\alpha_i^* > 0αi∗​>0
  3. 互补松弛条件:
    αiigi(w∗)=0\alpha_i^i g_i(w*) = 0αii​gi​(w∗)=0
  4. 拉格朗日函数在w∗w^*w∗的梯度为0
    ∇wL(w∗,α∗,β∗)=0\nabla_wL(w^*, \alpha^*, \beta^*) = 0∇w​L(w∗,α∗,β∗)=0

KKT条件具有如下重要性质

  • 强对偶性成立时,对于任意优化问题,KKT条件时最优解的必要条件,即主问题最优解和对偶问题最优解一定满足KKT条件
  • 对于凸优化问题,KKT条件时充分条件,满足KKT条件的解一定时最优解。
  • 对于强对偶性成立的凸优化问题。KKT条件时充要条件,即w∗w^*w∗是主问题的最优解当且仅当存在α∗,β∗\alpha^*, \beta^*α∗,β∗满足KKT条件

SVM中的对偶问题

支持向量机 (support vector machiine)是一类经典的机器学习算法。 给定训练集合 D={(x1,y1),(x2,y2),...,(xm,ym))}D=\{(\pmb{x}_1, y_1), (\pmb{x}_2, y_2),...,(\pmb{x}_m, y_m))\}D={(xxx1​,y1​),(xxx2​,y2​),...,(xxxm​,ym​))}, yi∈{−1,+1}y_i \in\{-1,+1\}yi​∈{−1,+1}. 支持向量机试图找到位于两类训练样本正中间的划分超平面 wTx+b=0\pmb{w^Tx}+b = 0wTxwTxwTx+b=0. 距离超平面最近的几个训练样本被称为支持向量 (support vector)。 两个异类支持向量到超平面的和称为间隔 2∣∣w∣∣\frac{2}{||\pmb{w}||}∣∣www∣∣2​

假设超平面能将所有样本正确分类,即对于(xi,yi)∈D(\pmb{x}_i, y_i) \in D(xxxi​,yi​)∈D,

  • 若yi=1y_i=1yi​=1, 则有wTxi+b>=1\pmb{w^Tx}_i + b >= 1wTxwTxwTxi​+b>=1;
  • 若yi=−1y_i=-1yi​=−1, 则有wTxi+b<=−1\pmb{w^Tx}_i + b <= -1wTxwTxwTxi​+b<=−1;

则求解最大间隔(maximum margin)划分超平面对应的优化问题:
minw,b12∣∣w2∣∣\underset{\pmb{w}, b}{min} \frac{1}{2}||\pmb{w}^2||www,bmin​21​∣∣www2∣∣
s.t.yi(wTxi+b)>=1s.t. \ y_i(\pmb{w^Tx}_i + b) >= 1s.t. yi​(wTxwTxwTxi​+b)>=1

构造拉格朗日函数:
L(w,b,α)=12∣∣w2∣∣+∑1mαi(1−yi(wTxi+b))L(\pmb{w}, b, \pmb{\alpha}) = \frac{1}{2}||\pmb{w}^2|| + \sum_1^m\alpha_i (1-y_i(\pmb{w^Tx}_i + b))L(www,b,ααα)=21​∣∣www2∣∣+1∑m​αi​(1−yi​(wTxwTxwTxi​+b))
其中拉格朗日乘子 αi>=0,α=(α1,α2,...,αm)\alpha_i >= 0, \pmb{\alpha}=(\alpha_1, \alpha_2,...,\alpha_m)αi​>=0,ααα=(α1​,α2​,...,αm​), 令L(w,b,α)L(w, b, \alpha)L(w,b,α)对www和bbb偏导数为0, 可以解得:
w=∑i=1mαiyixi0=∑i=1mαiyi\pmb{w}=\sum_{i=1}^m \alpha_iy_i\pmb{x_i}\\ \ 0=\sum_{i=1}^m\alpha_iy_iwww=i=1∑m​αi​yi​xi​​xi​​​xi​ 0=i=1∑m​αi​yi​
我们可以得到主问题的对偶问题. 首先主问题:
θp(w,b)=maxαL(w,b,α)={12∣∣w2∣∣,ifsatisfysprimalconstrains∞,otherwise\theta_p(\pmb{w}, b) = \underset{\pmb{\alpha}}{max}L(\pmb{w}, b, \pmb{\alpha}) = \left\{ \begin{aligned} \frac{1}{2}||\pmb{w}^2||, \ if \ satisfys\ primal \ constrains \\ \infty , otherwise \end{aligned} \right.θp​(www,b)=αααmax​L(www,b,ααα)=⎩⎨⎧​21​∣∣www2∣∣, if satisfys primal constrains∞,otherwise​

可以转化为对偶问题:
minw,bθp(w,b)=minw,bmaxαL(w,b,α)>=maxαminw,bL(w,b,α)\underset{\pmb{w},b}{min} \theta_p(\pmb{w}, b) = \underset{\pmb{w},b}{min} \underset{\alpha}{max}L(\pmb{w}, b, \pmb{\alpha}) >= \underset{\alpha}{max} \underset{\pmb{w}, b}{min}L(\pmb{w}, b, \pmb{\alpha})www,bmin​θp​(www,b)=www,bmin​αmax​L(www,b,ααα)>=αmax​www,bmin​L(www,b,ααα)

将w\pmb{w}www和b代入, 即我们的对偶问题要求的是:
maxαminw,bL(w,b,α)=maxα∑i=1mαi−12∑i=1m∑j=1mαiαjyiyjxiTxjs.t.αi>=0∑i=1mαiyi=0\underset{\alpha}{max} \underset{\pmb{w}, b}{min}L(\pmb{w}, b, \pmb{\alpha}) \\ =\underset{\alpha}{max} \ \sum_{i=1}^m \alpha_i - \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_j\pmb{x_i}^T\pmb{x_j} \\ s.t. \ \alpha_i >= 0 \\ \sum_{i=1}^m\alpha_iy_i=0αmax​www,bmin​L(www,b,ααα)=αmax​ i=1∑m​αi​−21​i=1∑m​j=1∑m​αi​αj​yi​yj​xi​​xi​​​xi​Txj​​xj​​​xj​s.t. αi​>=0i=1∑m​αi​yi​=0

上述过程满足KKT条件:

{αi>=0yi(wTxi+b)>=1∑i=1mαiyixi=w∑i=1mαiyi=0αi(yi(wTxi+b)−1)>0\left\{ \begin{aligned} \ \alpha_i >= 0 \\ y_i(\pmb{w^Tx}_i + b) >= 1 \\ \sum_{i=1}^m \alpha_iy_i\pmb{x_i} = w \\ \sum_{i=1}^m\alpha_iy_i = 0 \\ \alpha_i(y_i(\pmb{w^Tx}_i + b) - 1) > 0 \end{aligned} \right.⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧​ αi​>=0yi​(wTxwTxwTxi​+b)>=1i=1∑m​αi​yi​xi​​xi​​​xi​=wi=1∑m​αi​yi​=0αi​(yi​(wTxwTxwTxi​+b)−1)>0​

对于原始空间线性不可分的问题,可以引入kernel, 将样本的特征空间映射到高维空间。最常见的例如高斯核。
有时我们可以允许少量的样本分类错误,可以引入软间隔(soft margin),在目标函数中增加一个松弛变量, 这里不再赘述,可以参考其他的博客。

机器学习基础-Lagrange duality相关推荐

  1. 机器学习基础——支持向量机

    前言    最开始接触SVM是在吴恩达的课程上,展示了一个例子:用SVM将人声从环境声中单独剥离出来.后来,在吴教授的Coursera机器学习课程中监督学习部分的末尾,讲述了SVM.但是他所讲述的SV ...

  2. 《机器学习系列教程》:第二章 机器学习基础

    第二章 机器学习基础 机器学习and 数据分析 2.2 监督学习.非监督学习.半监督学习.弱监督学习? 根据数据类型的不同,对一个问题的建模有不同的方式.依据不同的学习方式和输入数据,机器学习主要分为 ...

  3. 机器学习基础-经典算法总结

    机器学习基础-经典算法 逻辑回归 逻辑回归的原理,问题的假设 为什么逻辑回归也可称为对数几率回归 推导逻辑回归损失函数 逻辑回归损失函数求导 逻辑回归为什么使用交叉熵作为损失函数 LR是不是凸优化问题 ...

  4. review2:机器学习基础

    review2:机器学习基础 第二章 机器学习基础 2.1 大话理解机器学习本质 2.2 各种常见算法图示 2.3 监督学习.非监督学习.半监督学习.弱监督学习? 2.4 监督学习有哪些步骤 2.5 ...

  5. 深度学习 - 第二章 - 机器学习基础

    深度学习 - 第二章 - 机器学习基础 第二章 机器学习基础 2.1 各种常见算法图示 2.2 监督学习.非监督学习.半监督学习.弱监督学习? 2.3 监督学习有哪些步骤 2.4 多实例学习? 2.5 ...

  6. 机器学习(1)机器学习基础 鸢尾花数据集

    目录 一.机器学习基础理论 1.机器学习过程 2.机器学习分类 3.数据集返回值介绍 二.鸢尾花数据集(实战) 1.首先是获取数据集 2.显示数据集信息(可以不要) 三.数据集划分 1.数据集划分AP ...

  7. 【直播】陈信达:零基础计算机视觉之机器学习基础

    零基础计算机视觉之机器学习基础 直播信息 分享嘉宾:陈信达,Datawhale成员,上海科技大学硕士. 直播时间:2021年07月30日 20:00 直播内容: 线性回归与指针读数识别 逻辑回归原理与 ...

  8. 资源 | Intel发布AI免费系列课程3部曲:机器学习基础、深度学习基础以及TensorFlow基础

    翻译 | AI科技大本营(公众号ID:rgznai100) 校对 | 成龙 编辑 | 明明 Intel于近期发布了三门AI系列的免费课程,分别是关于机器学习基础.深度学习基础.TensorFlow基础 ...

  9. python分类器鸢尾花怎么写_python机器学习基础教程-鸢尾花分类

    一: 环境准备: 1.导入的库: importnumpy as npimportmatplotlib.pyplot as pltimportpandas as pdimport mglearn 2.导 ...

  10. KNN算法的机器学习基础

    KNN算法的机器学习基础 https://mp.weixin.qq.com/s/985Ym3LjFLdkmqbytIqpJQ 本文原标题 : Machine Learning Basics with ...

最新文章

  1. php首尾空格,php 去掉 头尾   空格 2种方法
  2. Loss Function , Cost Function and Kernel Function in ML(To be continued)
  3. 切换ubuntu启动方式 命令行/图形界面
  4. 几种身份的创业者优劣势大比拼
  5. Java 向文件中追加数据
  6. 图像处理、语音处理的应用及前沿技术_自主知识产权的2微米级3D视觉相机应用于高精度和高反光物体的缺陷检测...
  7. /etc/group
  8. linux web接口返回乱码,【bug】测试环境的API接口,返回内容为乱码
  9. 自然语言处理技术的工作原理与应用
  10. 秦添智能染布厂ERP、染厂ERP系统、印染ERP生产管理系统
  11. 梨都飞雪 2021-05-21
  12. 网络编程六-网络编程相关面试题汇总
  13. Android 11 PackageManagerService源码分析(一):PMS启动的总体流程
  14. 托福口语_新航道_刘莹_task 3 task5
  15. 【计算机网络】python——socket编程(TCP/UDP)
  16. CodeForces - 1364D Ehabs Last Corollary(dfs树找最小环)
  17. B端产品经理产品心得(二)
  18. 3300万IOPS、39微秒延迟、碳足迹认证,谁在认真搞事情?
  19. 【超详细】(蓝桥杯Python)阶乘约数:求100阶乘的正约数个数。
  20. POJ2187 Beauty Contest(凸包+对踵点对求解)

热门文章

  1. java中的java.lang.RuntimeException异常怎么解决?
  2. DISPLAY尚未设置
  3. 百家讲坛之易中天品三国MP3全集
  4. (渣男渣女必备之)层次分析法AHP-Analytic Hierarchy Process操作流程及代码实现
  5. 51单片机实验 7段数码管静态显示数字
  6. springcloud入门——config分布式配置中心
  7. Prisma(三)——数据模型
  8. 小程序***已设置仅在企业微信中运行,请前往企业微信打开该小程序,企业微信设置显示小程序。
  9. ITSM系统核心流程
  10. ●一些天马行空的随想