精华内容
下载资源
问答
  • 拉格朗日对偶

    2019-03-14 16:37:56
    同样转载自博客园 拉格朗日对偶

    同样转载自博客园
    拉格朗日对偶

    展开全文
  • 拉格朗日对偶

    2019-03-11 10:23:13
    拉格朗日对偶拉格朗日对偶性 1 原始问题 2 对偶问题 3 原始问题和对偶问题的关系 在约束规划问题中,常常利用拉格朗日对偶性(Lagrange duality)将原始问题转换为对偶问题,通过解对偶问题而得到原始问题...

    拉格朗日对偶性

    在约束规划问题中,常常利用拉格朗日对偶性(Lagrange duality)将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解。该方法应用在许多统计学习方法中,例如,最大熵模型与支持向量机。这里简要叙述拉格朗日对偶性的主要概念和结果。

    1 原始问题

    假设f(x),ci(x),hj(x)f(x),c_i(x),h_j(x)是定义在RnR^n上的连续可微函数。考虑约束最优化问题。
    (1.1)minxRnf(x)\min_{x\in R^n}f(x) \tag{1.1}
    (1.2)s.t.ci(x)0,i=1,2,...,ks.t. \quad c_i(x)\leq 0, i=1,2,...,k \tag{1.2}
    (1.3)hj(x)=0,j=1,2,...,lh_j(x)=0,j=1,2,...,l \tag{1.3}
    称次约束最优化问题为原始最优化问题原始问题
    首先,引进广义拉格朗日函数(generalized Lagrange duality)
    (1,4)L(x,α,β)=f(x)+Σi=1kαici(x)+Σj=1lβjhj(x)L(x,\alpha,\beta)=f(x)+\Sigma_{i=1}^k \alpha_i c_i(x)+\Sigma_{j=1}^l \beta_j h_j(x) \tag{1,4}
    这里,x=(x(1),x(2),...,x(n))TRnx=\left( x^{(1)},x^{(2)},...,x^{(n)} \right)^T\in R^nαi,βj\alpha_i,\beta_j拉格朗日乘子αi0\alpha_i \geq 0。考虑xx的函数:
    (1.5)θP(x)=maxα,β:αi0L(x,α,β)\theta_P (x)=\max_{\alpha,\beta:\alpha_i \geq 0}L(x,\alpha,\beta) \tag{1.5}
    这里,下标PP表示原始问题。
    假设给定某个xx。如果xx违反原始问题的约束条件,即存在某个ii使得ci(w)>0c_i(w)>0或者存在某个jj使得hj(w)0h_j(w)\ne 0,那么就有
    (1.6)θP(x)=maxα,β:αi0[f(x)+Σi=1kαici(x)+Σj=1lβjhj(x)]=+\theta_P(x)=\max_{\alpha,\beta:\alpha_i \geq 0} \left[f(x)+\Sigma_{i=1}^k \alpha_i c_i(x) + \Sigma_{j=1}^l \beta_j h_j(x) \right]=+\infty \tag{1.6}
    因为若某个ii使约束ci(x)>0c_i(x)>0,则可令αi+\alpha_i \to +\infty,若某个jj使hj(x)=0h_j(x)\ne =0,则可令βj\beta_j使βjhj(x)\beta_j h_j(x) \to \infty,而将其余各αi,βj\alpha_i,\beta_j取为0。
    相反的,如果xx满足约束条件式(1.2)和(1.3),则由式(1.5)和(1.4)可知,θP(x)=f(x)\theta_P(x)=f(x)。因此
    (1.7)θP(x)={f(x),x+,\theta_P(x)=\begin{cases} f(x), x满足原始问题约束 \\ +\infty, 其他 \end{cases} \tag{1.7}
    所以如果考虑极小化问题
    (1.8)minxθP(x)=minxmaxα,β:αi0L(x,α,β)\min_x\theta_P(x)=\min_x\max_{\alpha,\beta:\alpha_i \geq 0}L(x,\alpha,\beta) \tag{1.8}
    它是与原始最优化问题(1.1)~(1.3)等价的,即它们有相同的解。问题minxmaxα,β:αi0L(x,α,β)\min_x\max_{\alpha,\beta:\alpha_i \geq 0}L(x,\alpha,\beta)称为广义拉格朗日的极小极大问题。这样一来,就把原始最优化问题表示为广义拉格朗日的极小极大问题。为了方便,定义原始问题的最优值
    (1.9)p=minxθP(x)p^*=\min_x\theta_P(x) \tag{1.9}
    称为原始问题的值。

    2 对偶问题

    定义
    (1.10)θD(α,β)=minxL(x,α,β)\theta_D(\alpha,\beta)=\min_xL(x,\alpha,\beta) \tag{1.10}
    再考虑极大化θD(α,β)=minxL(x,α,β)\theta_D(\alpha,\beta)=\min_xL(x,\alpha,\beta),即
    (1.11)maxα,β:α0θD(α,β)=maxα,β:α0minxL(x,α,β)\max_{\alpha,\beta:\alpha \geq 0}\theta_D(\alpha,\beta)=\max_{\alpha,\beta:\alpha \geq 0}\min_xL(x,\alpha,\beta) \tag{1.11}
    可以将广义拉格朗日问题的极大极小问题表示为约束最优化问题:
    (1.12)maxα,βθD(α,β)=maxα,βminxL(x,α,β)\max_{\alpha,\beta}\theta_D(\alpha,\beta)=\max_{\alpha,\beta}\min_xL(x,\alpha,\beta) \tag{1.12}
    (1.13)s.t.αi0,i=1,2,...,ks.t. \quad \alpha_i \geq 0, i=1,2,...,k \tag{1.13}
    称为原始问题的对偶问题。定义对偶问题的最优值
    (1.14)d=maxα,β:α0θD(α,β)d^*=\max_{\alpha,\beta:\alpha \geq 0}\theta_D(\alpha,\beta) \tag{1.14}
    称为对偶问题的值。

    3 原始问题和对偶问题的关系

    下面讨论原始问题和对偶问题的关系。

    定理 1.1 若原始问题和对偶问题都有最优值,则
    (1.15)d=maxα,β:αi0minxL(x,α,β)minxmaxα,β:αi0L(x,α,β)=pd^*=\max_{\alpha,\beta:\alpha_i \geq 0}\min_xL(x,\alpha,\beta) \leq \min_x\max_{\alpha,\beta:\alpha_i \geq 0}L(x,\alpha,\beta)=p^* \tag{1.15}

    证明 由式(1.12)和式(1.5),对任意的α,βx\alpha,\beta和x,有
    (1.16)θD(α,β)=minxL(x,α,β)L(x,α,β)maxα,β:αi0L(x,α,β)=θP(α,β)\theta_D(\alpha,\beta)=\min_xL(x,\alpha,\beta)\leq L(x,\alpha,\beta)\leq \max_{\alpha,\beta:\alpha_i \geq 0}L(x,\alpha,\beta)=\theta_P(\alpha,\beta) \tag{1.16}

    (1.17)θD(α,β)θP(x)\theta_D(\alpha,\beta)\leq \theta_P(x) \tag{1.17}
    由于原始问题和对偶问题均有最优值,所以
    (1.18)maxα,β:αi0θD(α,β)minxθP(x)\max_{\alpha,\beta:\alpha_i \geq 0}\theta_D(\alpha,\beta) \leq \min_x \theta_P(x) \tag{1.18}

    (1.19)d=maxα,β:αi0minxL(x,α,β)minxmaxα,β:αi0L(x,α,β)=pd^*=\max_{\alpha,\beta:\alpha_i \geq 0}\min_xL(x,\alpha,\beta) \leq \min_x\max_{\alpha,\beta:\alpha_i \geq 0}L(x,\alpha,\beta)=p^* \tag{1.19}

    推论 1.1xα,βx^*和\alpha^*,\beta^*分别是原始问题(1.1)-(1.3)和对偶问题(1.12)-(1.13)的可行解,并且d=pd^*=p^*,则xα,βx^*和\alpha^*,\beta^*分别是原始问题和对偶问题的最优解。

    在某些条件下,原始问题和对偶问题的最优值相等,即d=pd^*=p^*。这时可以用解对偶问题替代解原始问题。下面以定理的形式叙述有关的重要结论而不予证明。

    定理 1.2 考虑原始问题(1.1)-(1.3)和对偶问题(1.12)-(1.13)。假设函数f(x)ci(x)f(x)和c_i(x)是凸函数,hj(x)h_j(x)是仿射函数;并且假设不等式约束ci(x)c_i(x)是严格可行的,即存在xx,对所有iici(x)<0c_i(x)<0,则存在x,α,βx^*,\alpha^*,\beta^*,使xx*是原始问题的解,α,β\alpha^*,\beta^*是对偶问题的解,并且
    (1.20)p=d=L(x,α,β)p^*=d^*=L(x^*,\alpha^*,\beta^*) \tag{1.20}

    定理 1.3 对原始问题(1.1)-(1.3)和对偶问题(1.12)-(1.13),假设函数f(x)ci(x)f(x)和c_i(x)是凸函数,hj(x)h_j(x)是仿射函数,并且不等式约束ci(x)c_i(x)是严格可行的,则xαβx^*和\alpha^*,\beta^*分别是原始问题和对偶问题的解的充分必要条件是x,α,βx^*,\alpha^*,\beta^*满足下面的KKTKKT条件:
    (1.21)xL(x,α,β)=0\nabla_xL(x^*,\alpha^*,\beta^*)=0 \tag{1.21}
    (1.22)αici(x)=0,i=1,2,...,k\alpha_i^* c_i(x^*)=0, i=1,2,...,k \tag{1.22}
    (1.23)ci(x)0,i=1,2,...,kc_i(x^*) \leq 0, i=1,2,...,k \tag{1.23}
    (1.24)αi0,i=1,2,...,k\alpha_i^* \geq 0, i=1,2,...,k \tag{1.24}
    (1.25)hj(x)=0j=1,2,...,lh_j(x^*)=0 j=1,2,...,l \tag{1.25}
    特别指出,式(1.24)称为KKTKKT的对偶互补条件。由此条件可知:若αi>0\alpha_i^*>0,则ci(x)=0c_i(x^*)=0

    展开全文
  • 拉格朗日对偶详解

    2020-03-15 11:11:04
    对偶研究中常用的方法是拉格朗日对偶拉格朗日对偶有以下几个良好的特点: 无论原问题是否为凸问题,对偶问题都是凸优化问题 对偶问题至少给出了原问题最优解的下界 在满足一定条件的时候,对偶问题与原问题的解...

    问题简述

    对偶,是解决最优化问题的一种常用的手段。它能够将一个最优化问题转化成另一个更容易求解的对偶问题。对偶研究中常用的方法是拉格朗日对偶。拉格朗日对偶有以下几个良好的特点:

    • 无论原问题是否为凸问题,对偶问题都是凸优化问题
    • 对偶问题至少给出了原问题最优解的下界
    • 在满足一定条件的时候,对偶问题与原问题的解完全等价
    • 对偶问题通常更容易求解

    基于这样的特点,拉格朗日对偶经常被用来求解最优化问题,而机器学习的背后都是优化问题。所以,拉格朗日对偶非常适合来求解机器学习问题。应用拉格朗日对偶方法的一个典型例子就是支持向量机算法(SVM)。SVM训练时,求解的原问题是一个凸优化问题,经过拉格朗日对偶变换后,可以将目标函数转化为凸函数。

    凸优化

    拉格朗日对偶的目标就是将带约束的优化问题转化为不带约束或约束较简单的凸优化问题。所以,了解什么是凸优化是理解拉格朗日对偶的前提。
    我们知道,求解一般函数的全局最优值是十分困难的,在机器学习实践中也是如此,算法经常被困在局部最优点动弹不得,无法收敛到全局最优。但是,如果对原问题加以限定,那么问题就会迎刃而解。对于凸优化来说即为:

    • 目标函数是凸函数
    • 优化变量的可行域是一个凸集

    我们先来探讨凸集的概念。

    凸集

    对于nn维空间中的点集CC来说,如果对集合中的任意两点xxyy,以及实数0θ10\leq\theta\leq1,都有:

    θ+(1+θ)yC\theta +(1+\theta)y \in C

    则成该集合为凸集。这个定义看似复杂,直观上很好理解:将集合中的任意两个点连接起来,其直线上的点都在这个集合中。如果将这个点集画出来,那么就会得到一个全凸的几何图形。
    相应的,

    θ+(1+θ)y\theta +(1+\theta)y

    称为xxyy的凸组合。
    有了凸集的概念,我们就可以知道以下约束的集合空间是凸集。

    1. 仿射子空间。这个空间其实是由所有的等式约束构成的,也就是:

    {xR:Ax=b}\{x\in R:Ax = b\}

    1. 多面体。这个空间是由所有的不等式约束组成的。

    {xR:Axb}\{x\in R:Ax \leq b\}

    书上给出了证明两个空间为凸集的证明过程,这里不再赘述。
    关于凸集,有这样一个性质:多个凸集的交集仍然是凸集。这也证明了,由多个等式或不等式的约束组合成的约束空间仍然是一个凸集。

    凸函数

    假设一个函数f(x)f(x),对于任意的实数,都满足如下条件:

    f(θx+(1θ)y)θf(x)+(1θ)f(y)f(\theta x +(1-\theta)y)\leq\theta f(x)+(1-\theta)f(y)

    则该函数是凸函数。这个定义的几何意义是:函数上的任意两点构成的线段,始终处于函数图像的上方。从几何直观角度来说,就是函数图像是向下凸的。
    和凸集类似的,凸函数的非负线性组合是凸函数。

    凸优化

    如果一个最优化问题的可行域是凸集,并且目标函数是凸函数,那么该问题是凸优化问题。如下述函数就是一个凸优化问题:
    minimizef(x)subject to.gi(x)0,i=1,2,...,mhi(x)=0,i=1,2,...,p \begin{aligned} &minimize\quad f(x)\\ subject\ to.\quad &g_i(x) \leq 0,i = 1,2,...,m\\ &h_i(x) = 0,i = 1,2,...,p\\ \end{aligned}
    凸优化问题有一个重要的特征:所求得的局部最优解一定是全局最优解。这极大地简化了问题的求解,同时也解决了梯度下降法困在局部最优点的问题。
    然而,我们面对的机器学习问题很多情况下不是凸问题,这就要求我们寻找一种方法,将非凸问题转化为凸问题进而求解。拉格朗日对偶就是这样的方法。

    拉格朗日对偶法

    我们研究如下的优化问题:
    minimizef(x)s.t.gi(x)0,i=1,2,...,mhi(x)=0,i=1,2,...,p \begin{aligned} &minimize\quad f(x)\\ s.t.\quad &g_i(x) \leq 0,i = 1,2,...,m\\ &h_i(x) = 0,i = 1,2,...,p\\ \end{aligned}
    注意到,其形式上和凸优化问题很像;然而,这个优化问题不一定是凸优化问题,因为虽然其约束是凸集,但其目标函数不一定是凸函数。接下来,我们将用拉格朗日对偶将这个问题转化为对偶的凸问题。我们假设此问题的最优解是 pp^*

    拉格朗日函数

    拉格朗日对偶法的第一步是按照拉格朗日乘数法构造拉格朗日函数。其形式如下:

    L(x,λ,v)=f(x)+i=1mλigi(x)+i=1pvihi(x)L(x,\lambda,v) = f(x)+\sum_{i=1}^m\lambda_ig_i(x)+\sum_{i=1}^pv_ih_i(x)

    注意到,拉格朗日函数是一个关于x,λ,vx,\lambda,v的函数。其中,xx是原问题的自变量;λ,v\lambda,v称为拉格朗日乘子,是标量。
    在这个式子中,第一项是原优化问题的目标函数f(x)f(x),第二项是所有不等式约束的线性组合,第三项是所有等式约束的线性组合。其中,拉格朗日乘子λi\lambda_i必须满足λi0\lambda_i\geq0的约束。

    通过拉格朗日函数,我们可以通过下述式子来求解最优解 pp^*

    θP(x)=maxλ,v,λ0L(x,λ,v)\theta_P(x) = \max_{\lambda,v,\lambda\geq 0}L(x,\lambda,v)
    p=minxθP(x)p^* = \min_x \theta_P(x)

    接下来我们证明,上述式子$ \min_x \theta_P(x)和原问题minf(x)有着相同的解p^*$。

    1. 首先讨论满足约束的情况。在满足约束的情况下,拉格朗日的最大值就是f(x)f(x);原因是拉格朗日函数第二项必小于等于零,第三项必等于零;
    2. 接下来讨论不满足约束的情况。在此条件下,gi(x)g_i(x)大于零,拉格朗日函数的最大值是++\infty

    也就是说,θP(x)\theta_P(x)的表达式可以写作如下形式:

    θP(x)={f(x),gi(x)0 hi(x)=0+.otherwise\theta_P(x) = \begin{cases} f(x), &g_i(x) \leq 0\ h_i(x) = 0 \\ +\infty. &otherwise \end{cases}

    那么,minxθP(x)=minxf(x)\min_x \theta_P(x) = \min_x f(x),也即和原问题有着相同的解 p\ p^*
    构造拉格朗日函数的目的是将所有的约束整合到目标函数上。在下一节中我们会看到,使用拉格朗日函数是如何将求解原问题的过程转化成求解凸问题的过程的。

    对偶函数及对偶问题

    讨论完原问题的拉格朗日函数和拉格朗日问题之后,我们构造拉格朗日对偶函数及对偶问题。正如上述所讲,拉格朗日函数是一个关于x,λ,vx,\lambda,v的函数。观察最开始的优化问题,导致优化问题不一定是凸问题的原因是目标函数f(x)f(x),所以我们自然想到,能不能摆脱自变量xx,如此一来问题不就转换成了好研究的凸问题了吗?拉格朗日对偶函数就是基于这样的思想构造出来的,其形式如下:

    θD(λ,v)=minxL(x,λ,v)\theta_D(\lambda,v) = \min_{x} L(x,\lambda,v)

    上述式子称为拉格朗日对偶函数。拉格朗日对偶函数是一个对变量λ,v\lambda,v求函数LL的最小值的问题。可以证明,拉格朗日对偶函数是一个凹函数。同时我们知道,极大化一个凹函数的问题是一个凸问题,所以我们可以构造这样如下一个问题:
    maxλ,v,λ0θD(λ,v)s.t.λi0 \begin{aligned} \max_{\lambda,v,\lambda\geq 0}\quad \theta_D(\lambda,v)\\ s.t.\quad \lambda_i\geq 0\\ \end{aligned}

    此线性规划问题被称作拉格朗日对偶问题。拉格朗日对偶问题的目标函数是极大化拉格朗日对偶函数,这使得此问题一定为一个凸问题。

    假设此对偶问题的局部(全局)最优解为 d\ d^*,可以证明 dp\ d^*\leq p^*。证明过程如下:
    对于任意的x,λ,vx,\lambda,v,有:

    θD(λ,v)=minxL(x,λ,v)L(x,λ,v)\theta_D(\lambda,v) = \min_{x} L(x,\lambda,v)\leq L(x,\lambda,v)

    同样的,

    θP(x)=maxλ,v,λ0L(x,λ,v)L(x,λ,v)\theta_P(x) = \max_{\lambda,v,\lambda\geq 0}L(x,\lambda,v)\geq L(x,\lambda,v)

    也即:

    θD(λ,v)L(x,λ,v)θP(x) \theta_D(\lambda,v)\leq L(x,\lambda,v)\leq \theta_P(x)

    由于原问题和对偶问题的最优值均存在,则:

    maxλ,v,λ0θD(λ,v)minxθP(x)\max_{\lambda,v,\lambda\geq 0}\theta_D(\lambda,v)\leq \min_x \theta_P(x)

    也即:

     dp\ d^*\leq p^*

    这样,我们虽然没有直接求得原问题的最优解 p\ p^*,但是通过研究凸问题——拉格朗日对偶问题,我们获得了原问题最优解的一个下界 d\ d^*。我们称

     dp\ d^*-p^*

    为“对偶间隙”,代表下界和原问题的距离。我们称: d<p\ d^*< p^*的情况为若对偶, d=p\ d^*=p^*的情况为强对偶。

    实际上,拉格朗日对偶问题和原问题只是交换了极大化和极小化的运算次序,写成下述格式便一目了然了:

    P=minxθP(x)=minxmaxλ,v,λ0L(x,λ,v)P=\min_x \theta_P(x)= \min_x\max_{\lambda,v,\lambda\geq 0}L(x,\lambda,v)
    D=maxλ,v,λ0θD(λ,v)=maxλ,v,λ0minxL(x,λ,v)D=\max_{\lambda,v,\lambda\geq 0} \theta_D(\lambda,v) = \max_{\lambda,v,\lambda\geq 0}\min_xL(x,\lambda,v)

    当然,下界不一定是有意义的。当对偶间隙过大时,只考虑下界变得十分粗糙。所幸的是,在满足一定条件的时候,原问题的解和对偶问题的解完全等价。也即对偶间隙为0。下面我们来研究这一条件。

    KKT条件

    在上一节中,我们讨论了对偶问题和原问题解的关系,即对偶问题的解是原问题解的下界。事实上,如果原问题是一个完全等式约束的最优化问题,那么对偶间隙一定为0;可以用拉格朗日乘数法进行求解。对于添加了不等式约束的问题,我们引入KKT条件,满足KKT条件的最优化问题为强对偶问题。KKT条件如下:
    在最优解xx^*处,若满足如下条件:
    xL(x,λ,v)=0λigi(x)=0gi(x)0λi0hi(x)=0 \begin{aligned} &\nabla_xL(x^*,\lambda^*,v^*) &=& 0\\ &\lambda_ig_i(x^*)&=&0\\ &g_i(x^*)&\leq&0\\ &\lambda_i&\geq&0\\ &h_i(x^*)&=&0 \end{aligned}
    可以看出,KKT约束和上述方法差不多,唯一多了一项λigi(x)=0\lambda_ig_i(x^*)=0,这一项的意义是:

    1. 如果gi(x)=0g_i(x^*)=0,则λi\lambda_i的取值自由,此时最优解在边界处取得;
    2. 如果如果gi(x)<0g_i(x^*)<0,则λi=0\lambda_i = 0,此时最优解在可行域内部取得。

    总的来说,就是只要目标函数和约束函数可微,对任一原始问题和对偶问题的解都是满足KKT条件的。

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,032
精华内容 412
关键字:

拉格朗日对偶