zoukankan      html  css  js  c++  java
  • 统计学习方法 学习笔记(七):拉格朗日对偶性

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

       1. 原始问题

        假设$f(x),c_i(x),h_j(x)$是定义在$R^n$上的连续可微函数。考虑约束最优化问题:

    $$min_{x in R^n} f(x)    (C.1)$$

    $$s.t.    c_i(x) leq 0, i=1,2,...,k    (C.2)$$

    $$    h_j(x)=0, j=1,2,...,l    (C.3)$$

    称此约束最优化问题为原始最优化问题或原始问题。

        首先,引进广义拉格朗日函数(generalized Lagrange function)

    $$L(x,alpha,eta) = f(x) + sum_{i=1}^{k}alpha_ic_i(x) + sum_{j=1}^{l}eta_jh_j(x)$$

    这里,$x=(x^{(1)},x^{(2)},...,x^{(n)}) in R^n,alpha_i,eta_j$是拉格朗日乘子,$alpha_i geq 0$。考虑$x$的函数:

    $$Theta_p(x) = max_{alpha,eta:alpha_i geq 0}L(x,alpha,eta)$$

    这里,下标$p$表示原始问题。

    $$Theta_p(x) = left{egin{matrix}
    f(x), &x 满足原始问题约束\
    +infty, &其他
    end{matrix} ight.$$

    所以如果考虑极小化问题:

    $$min_{x}Theta_p(x) = min_{x}max_{alpha,eta:alpha_i geq 0}L(x,alpha,eta)$$

    它是与原始最优化问题$(C.1) ~ (C.3)$等价的,即它们有相同的解。问题$ min_{x}max_{alpha,eta:alpha_i geq 0}L(x,alpha,eta)$称为广义拉格朗日函数的极小极大问题。这样一来,就把原始最优化问题表示为广义拉格朗日函数的极小极大问题。为了方便,定义原始问题的最优值:

    $$p^{*} = min_{x}Theta_p(x)$$

    称为原始问题的值。

        2. 对偶问题

        定义:

    $$Theta_{D}(alpha,eta) = min_{x}L(x,alpha,eta)$$

    再考虑极大化$Theta_{D}(alpha,eta) = min_{x}L(x,alpha,eta)$,即:

    $$max_{alpha,eta:alpha_i geq 0}Theta_{D}(alpha,eta) = max_{alpha,eta:alpha_i geq 0}min_{x}L(x,alpha,eta)$$

    问题$max_{alpha,eta:alpha_i geq 0}min_{x}L(x,alpha,eta)$称为广义拉格朗日函数的极大极小问题。

        可以将广义拉格朗日函数的极大极小问题表示为约束最优化问题:

    $$max_{alpha,eta}Theta_{D}(alpha,eta) = max_{alpha,eta} min_{x}L(x,alpha,eta)$$

    $$s.t.    alpha_i geq 0, i=1,2,...,k$$

    称为原始问题的对偶问题,定义对偶问题的最优值

    $$d^{*} = max_{alpha,eta:alpha_i geq 0}Theta_{D}(alpha,eta)$$

    称为对偶问题的值。

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

        定理C.1 若原始问题和对偶问题都有最优值,则:

    $$d^{*} = max_{alpha,eta:alpha_i geq 0} min_{x}L(x,alpha,eta) leq min_{x}max{alpha,eta:alpha_i geq 0}L(x,alpha,eta) = p^{*}$$

        推论C.1 设$x^{*}$和$alpha^{*},eta^{*}$分别是原始问题和对偶问题的可行解,并且$d^{*} = p^{*}$,则$x^{*}$和$alpha^{*},eta^{*}$分别是原始问题和对偶问题的最优解。

        在某些条件下(KKT条件),原始问题和对偶问题的最优值相等,$d^{*} = p^{*}$。这时可以用解对偶问题代替解原始问题。

        KKT条件:

    $$igtriangledown _xL(x^{*},alpha^{*},eta^{*}) = 0$$

    $$alpha_i^{*}c_i(x^{*}) = 0, i=1,2,...,k$$

    $$c_i(x^{*}) leq 0, i=1,2,...,k$$

    $$alpha_i^{*} geq 0, i=1,2,...,k$$

    $$h_j(x^{*}) = 0, j=1,2,...,l$$

        特别指出,式$alpha_i^{*} geq 0, i=1,2,...,k$称为KKT条件的对偶互补条件,由此条件可知:若$alpha_i^{*} > 0$,则$c_i(x^*) = 0$。

  • 相关阅读:
    linux kernel的一些参数设
    多个会话引起唯一键冲突时(enq:TX-row lock contention,mode=4)
    位图索引冲突引发TX锁争用时,则等待enq:TX-row lock conention.
    多个会话修改相同行时(enq: TX-row lock contention,mode=6)
    设置Libevent库
    Oracle INITRANS和MAXTRANS
    基于事件的开源网络库—libevent:应用介绍
    巧妙的用IN替代关联后去从
    Error creating bean with name 'com.you.user.dao.StudentDaoTest': Injection of autowired dependencies
    java.lang.IllegalStateException: Failed to load ApplicationContext
  • 原文地址:https://www.cnblogs.com/double-lin/p/10462865.html
Copyright © 2011-2022 走看看