• 第一部分介绍拉格朗日乘数法,等式约束以及不等式约束;第二部分介绍对偶问题以及对偶问题与原始问题的关系;第三部分对于支持向量机最大熵模型中的实际使用做简单介绍。

文章目录

  • 条件极值.
    • 等式约束.
    • 不等式约束.
  • 对偶问题.
    • 对偶问题と原始问题の关系.
  • 支持向量机.
  • 最大熵模型.

条件极值.

  • 在实际问题中,很多问题可以转化为对函数自变量有附加约束条件的极值问题,例如一个水箱的长、宽、高分别为 x , y , z x,y,z x,y,z,那么其表面积可以表示为: S ( x , y , z ) = x y + 2 ⋅ ( y z + z x ) S(x,y,z)=xy+2·(yz+zx) S(x,y,z)=xy+2⋅(yz+zx)现固定水箱的容量为 V V V,要求水箱的最小面积,那么上述问题可以形式化表述如下: min ⁡ x , y , z S ( x , y , z ) \min_{x,y,z}S(x,y,z) x,y,zmin​S(x,y,z) S . t . x y z = V ; x > 0 ; y > 0 ; z > 0 S.t.~~~~~xyz=V;x>0;y>0;z>0 S.t.     xyz=V;x>0;y>0;z>0
  • 这种对于自变量有附加约束条件的极值问题称为条件极值,有些条件极值问题可以转化为无条件极值问题求解,但大部分都难以做到,Lagrange Multiplier Method拉格朗日乘数法就是一种直接求条件极值的方法。我们将约束条件分为两部分来讲述,第一部分仅有等式约束,第二部分加入不等式约束。

等式约束.

  • 以二元函数 z = f ( x , y ) z=f(x,y) z=f(x,y) 为例,考虑其在等式约束条件 ϕ ( x , y ) = 0 \phi(x,y)=0 ϕ(x,y)=0 下取得极值的必要条件,如果点 p 1 ( x 1 , y 1 ) p_1(x_1,y_1) p1​(x1​,y1​) 是满足约束条件的函数极值点,那么该点首先必须满足: ϕ ( x 1 , y 1 ) = 0 (con.1) \phi(x_1,y_1)=0\tag{con.1} ϕ(x1​,y1​)=0(con.1)
  • 假设在 p 1 p_1 p1​ 的 δ \delta δ 邻域内, f ( x , y ) f(x,y) f(x,y) 与 ϕ ( x , y ) \phi(x,y) ϕ(x,y) 都有连续的一阶偏导数,并且 ϕ y ( x 1 , y 1 ) ≠ 0 \phi_y(x_1,y_1)\neq0 ϕy​(x1​,y1​)​=0,那么根据隐函数存在定理可知,上面的约束条件 ( c o n . 1 ) (con.1) (con.1) 能够在 p 1 p_1 p1​ 的 δ \delta δ 邻域内确定一个单值连续且具有连续导数的函数 y = g ( x ) y=g(x) y=g(x),代入原函数 z = f ( x , y ) z=f(x,y) z=f(x,y) 得到一元函数: z = f ( x , g ( x ) ) z=f\Big(x,g(x)\Big) z=f(x,g(x))
  • 由于 p 1 p_1 p1​ 是函数 f ( x , y ) f(x,y) f(x,y) 的极值点,那么意味着 x 1 x_1 x1​ 也是一元函数 z = f ( x , g ( x ) ) z=f\Big(x,g(x)\Big) z=f(x,g(x)) 的极值点,所以该点导数为零,形式化表示如下: d z d x ∣ x = x 1 = f x ( x 1 , y 1 ) + f y ( x 1 , y 1 ) ⋅ g ′ ( x 1 ) = 0 (1) \frac{dz}{dx}\Big|_{x=x_1}=f_x(x_1,y_1)+f_y(x_1,y_1)·g'(x_1)=0\tag{1} dxdz​∣∣∣​x=x1​​=fx​(x1​,y1​)+fy​(x1​,y1​)⋅g′(x1​)=0(1)
  • 另外对约束条件 ( c o n . 1 ) (con.1) (con.1) 使用隐函数求导法则,得到: g ′ ( x 1 ) = d y d x ∣ x = x 1 = − ϕ x ( x 1 , y 1 ) ϕ y ( x 1 , y 1 ) (2) g'(x_1)=\frac{dy}{dx}\Big|_{x=x_1}=-\frac{\phi_x(x_1,y_1)}{\phi_y(x_1,y_1)}\tag{2} g′(x1​)=dxdy​∣∣∣​x=x1​​=−ϕy​(x1​,y1​)ϕx​(x1​,y1​)​(2)
  • 将 ( 2 ) (2) (2) 代入 ( 1 ) (1) (1) 可得: f x ( x 1 , y 1 ) − f y ( x 1 , y 1 ) ⋅ ϕ x ( x 1 , y 1 ) ϕ y ( x 1 , y 1 ) = 0 f_x(x_1,y_1)-f_y(x_1,y_1)·\cfrac{\phi_x(x_1,y_1)}{\phi_y(x_1,y_1)}=0 fx​(x1​,y1​)−fy​(x1​,y1​)⋅ϕy​(x1​,y1​)ϕx​(x1​,y1​)​=0引入拉格朗日乘数记号: λ 1 = − f y ( x 1 , y 1 ) ϕ y ( x 1 , y 1 ) \lambda_1=-\frac{f_y(x_1,y_1)}{\phi_y(x_1,y_1)} λ1​=−ϕy​(x1​,y1​)fy​(x1​,y1​)​于是上述约束条件可以写为: f x ( x 1 , y 1 ) + λ 1 ⋅ ϕ x ( x 1 , y 1 ) = 0 (con.2) f_x(x_1,y_1)+\lambda_1·\phi_x(x_1,y_1)=0\tag{con.2} fx​(x1​,y1​)+λ1​⋅ϕx​(x1​,y1​)=0(con.2)
  • 最后考虑如下等式: λ 1 ⋅ ϕ y ( x 1 , y 1 ) = − f y ( x 1 , y 1 ) \lambda_1·\phi_y(x_1,y_1)=-f_y(x_1,y_1) λ1​⋅ϕy​(x1​,y1​)=−fy​(x1​,y1​)于是得到第三个约束条件: f y ( x 1 , y 1 ) + λ 1 ⋅ ϕ y ( x 1 , y 1 ) = 0 (con.3) f_y(x_1,y_1)+\lambda_1·\phi_y(x_1,y_1)=0\tag{con.3} fy​(x1​,y1​)+λ1​⋅ϕy​(x1​,y1​)=0(con.3)
  • 至此二元函数 f ( x , y ) f(x,y) f(x,y) 在等式约束条件 ϕ ( x , y ) \phi(x,y) ϕ(x,y) 下取得极值的必要条件为: { ϕ ( x 1 , y 1 ) = 0 f x ( x 1 , y 1 ) + λ 1 ⋅ ϕ x ( x 1 , y 1 ) = 0 f y ( x 1 , y 1 ) + λ 1 ⋅ ϕ y ( x 1 , y 1 ) = 0 \left\{\begin{aligned} &\phi(x_1,y_1)=0\\ &f_x(x_1,y_1)+\lambda_1·\phi_x(x_1,y_1)=0\\ &f_y(x_1,y_1)+\lambda_1·\phi_y(x_1,y_1)=0 \end{aligned}\right. ⎩⎪⎨⎪⎧​​ϕ(x1​,y1​)=0fx​(x1​,y1​)+λ1​⋅ϕx​(x1​,y1​)=0fy​(x1​,y1​)+λ1​⋅ϕy​(x1​,y1​)=0​引入拉格朗日函数如下: L ( x , y , λ ) = f ( x , y ) + λ ⋅ ϕ ( x , y ) L(x,y,\lambda)=f(x,y)+\lambda·\phi(x,y) L(x,y,λ)=f(x,y)+λ⋅ϕ(x,y)可以将上述必要条件简洁地记为: { ∂ ∂ λ L = 0 ∂ ∂ x L = 0 ∂ ∂ y L = 0 \left\{\begin{aligned} &\cfrac{\partial}{\partial\lambda}L=0\\ &\cfrac{\partial}{\partial x}L=0\\ &\cfrac{\partial}{\partial y}L=0 \end{aligned}\right. ⎩⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎧​​∂λ∂​L=0∂x∂​L=0∂y∂​L=0​

隐函数存在定理】设函数 F ( x , y ) F(x,y) F(x,y) 在点 ( x 1 , y 1 ) (x_1,y_1) (x1​,y1​) 的某个邻域内有连续偏导数,且 F ( x 1 , y 1 ) = 0 , F y ( x 1 , y 1 ) ≠ 0 F(x_1,y_1)=0~,F_y(x_1,y_1)\neq0 F(x1​,y1​)=0 ,Fy​(x1​,y1​)​=0,则方程 F ( x , y ) = 0 F(x,y)=0 F(x,y)=0 在点 ( x 1 , y 1 ) (x_1,y_1) (x1​,y1​) 的某个邻域内能够确定唯一的函数 y = f ( x ) y=f(x) y=f(x),满足 y 1 = f ( x 1 ) y_1=f(x_1) y1​=f(x1​),且连续导数为: d y d x = − F x F y \frac{dy}{dx}=-\frac{F_x}{F_y} dxdy​=−Fy​Fx​​


不等式约束.

  • 上面的拉格朗日乘数法仅允许约束条件中存在等式约束,如果对其进行推广,引入不等式约束后再对其进行数学处理,就能得到一种针对约束优化问题适应力非常强的解决方案 —— Karush-Kuhn-Tucker Method,简称为 K K T \mathcal{KKT} KKT 方法.
  • 首先一般化地定义我们的约束优化问题: min ⁡ x f ( x ) \min_{\bm x}f(\bm x) xmin​f(x) S . t . ∀ i ∈ { 1 , 2 , ⋯ , m } , g i ( x ) = 0 ; S.t.~~~~~\forall~i\in\{1,2,\cdots,m\}~,g_i(\bm x)=0~; S.t.     ∀ i∈{1,2,⋯,m} ,gi​(x)=0 ; ∀ j ∈ { 1 , 2 , ⋯ , n } , h j ( x ) ≤ 0. (Q) ~~~~~~~~~~\forall~j\in\{1,2,\cdots,n\}~,h_j(\bm x)\leq0.\tag{Q}           ∀ j∈{1,2,⋯,n} ,hj​(x)≤0.(Q)
  • 为每个约束引入KKT乘子 —— λ i , α j \lambda_i,\alpha_j λi​,αj​,定义广义拉格朗日函数如下: L ( x , λ , α ) = f ( x ) + ∑ i = 1 m λ i ⋅ g i ( x ) + ∑ j = 1 n α j ⋅ h j ( x ) L(\bm x,\bm\lambda,\bm\alpha)=f(\bm x)+\sum_{i=1}^m\lambda_i·g_i(\bm x)+\sum_{j=1}^n\alpha_j·h_j(\bm x) L(x,λ,α)=f(x)+i=1∑m​λi​⋅gi​(x)+j=1∑n​αj​⋅hj​(x)只要上述条件极值问题 ( Q ) (Q) (Q) 至少存在一个可行点(满足约束的点)并且 f ( x ) f(x) f(x) 不取 ∞ \infin ∞,那么我们可以断言下面这个无约束优化问题 ( Q ∗ ) (Q^*) (Q∗) 与上面的约束优化问题 ( Q ) (Q) (Q) 同解: min ⁡ x max ⁡ λ max ⁡ α , α ≥ 0 L ( x , λ , α ) (Q*) \min_{\bm x}\max_{\bm\lambda}\max_{\bm\alpha,\bm\alpha\geq0}L(\bm x,\bm\lambda,\bm\alpha) \tag{Q*} xmin​λmax​α,α≥0max​L(x,λ,α)(Q*)
  • 上述断言简单验证如下,对于满足约束条件的 x \bm x x,即: g i ( x ) = 0 ∧ h j ( x ) ≤ 0 g_i(\bm x)=0~\wedge~h_j(\bm x)\leq0 gi​(x)=0 ∧ hj​(x)≤0那么问题 ( Q ∗ ) (Q^*) (Q∗) 内层的两个最大化问题结果就是 f ( x ) f(\bm x) f(x),从而 ( Q ∗ ) (Q^*) (Q∗) 转化为了 ( Q ) (Q) (Q),这里注意到对于不等式约束的KKT乘子限制了 α j ≥ 0 \alpha_j\geq0 αj​≥0,目的就是使上面的论证成立,如果 α j \alpha_j αj​ 可以取到负值,那么对于满足约束条件的 x \bm x x 而言, ( Q ∗ ) (Q^*) (Q∗) 内层两个最大化问题的结果就不是 f ( x ) f(\bm x) f(x);另外对于违反了任意一条约束的 x \bm x x,即: g i ( x ) ≠ 0 ∨ h j ( x ) > 0 g_i(\bm x)\neq0~\vee~h_j(\bm x)>0 gi​(x)​=0 ∨ hj​(x)>0对于 ( Q ∗ ) (Q^*) (Q∗) 内层的两个最大化问题,必然存在 λ , α \bm\lambda,\bm\alpha λ,α 使得其结果为 ∞ \infin ∞。综上,违反了约束条件的 x \bm x x 必然不会是问题 ( Q ∗ ) (Q^*) (Q∗) 的解,而满足约束条件的点都会纳入 ( Q ∗ ) (Q^*) (Q∗) 外层最小化问题的考虑中。

  • 关于不等式约束 h j ( x ) ≤ 0 h_j(\bm x)\leq0 hj​(x)≤0,如果存在一个 x ∗ \bm {x^*} x∗ 使得 h j ( x ∗ ) = 0 h_j(\bm{x^*})=0 hj​(x∗)=0,那么我们称这个不等式约束活跃Active,对于一个不活跃的不等式约束来说, h j ( x ) < 0 h_j(\bm x)<0 hj​(x)<0 成立,因此在问题 ( Q ∗ ) (Q^*) (Q∗) 中: min ⁡ x max ⁡ λ max ⁡ α , α ≥ 0 [ f ( x ) + ∑ i = 1 m λ i ⋅ g i ( x ) + ∑ j = 1 n α j ⋅ h j ( x ) ] \min_{\bm x}\max_{\bm\lambda}\max_{\bm\alpha,\bm\alpha\geq0}\Big[f(\bm x)+\sum_{i=1}^m\lambda_i·g_i(\bm x)+\sum_{j=1}^n\alpha_j·h_j(\bm x)\Big] xmin​λmax​α,α≥0max​[f(x)+i=1∑m​λi​⋅gi​(x)+j=1∑n​αj​⋅hj​(x)]必然会导致 α j = 0 \alpha_j=0 αj​=0 以取到最大值。

对偶问题.

  • 在上部分中我们给出了与约束优化问题 ( Q ) (Q) (Q): min ⁡ x f ( x ) \min_{\bm x}f(\bm x) xmin​f(x) S . t . ∀ i ∈ { 1 , 2 , ⋯ , m } , g i ( x ) = 0 ; S.t.~~~~~\forall~i\in\{1,2,\cdots,m\}~,g_i(\bm x)=0~; S.t.     ∀ i∈{1,2,⋯,m} ,gi​(x)=0 ; ∀ j ∈ { 1 , 2 , ⋯ , n } , h j ( x ) ≤ 0. ~~~~~~~~~~\forall~j\in\{1,2,\cdots,n\}~,h_j(\bm x)\leq0.           ∀ j∈{1,2,⋯,n} ,hj​(x)≤0.等价的无约束优化问题 ( Q ∗ ) (Q^*) (Q∗): min ⁡ x max ⁡ λ max ⁡ α , α ≥ 0 L ( x , λ , α ) = min ⁡ x max ⁡ λ max ⁡ α , α ≥ 0 [ f ( x ) + ∑ i = 1 m λ i ⋅ g i ( x ) + ∑ j = 1 n α j ⋅ h j ( x ) ] \min_{\bm x}\max_{\bm\lambda}\max_{\bm\alpha,\bm\alpha\geq0}L(\bm x,\bm\lambda,\bm\alpha) =\min_{\bm x}\max_{\bm\lambda}\max_{\bm\alpha,\bm\alpha\geq0}\Big[f(\bm x)+\sum_{i=1}^m\lambda_i·g_i(\bm x)+\sum_{j=1}^n\alpha_j·h_j(\bm x)\Big] xmin​λmax​α,α≥0max​L(x,λ,α)=xmin​λmax​α,α≥0max​[f(x)+i=1∑m​λi​⋅gi​(x)+j=1∑n​αj​⋅hj​(x)]
  • 我们称上面两个解等价的问题为原始问题Primitive Problem,它可以表示为广义拉格朗日函数的极大极小问题,出于记号简洁,我们将 ( Q ∗ ) (Q^*) (Q∗) 内层的两个最大化问题记为 x \bm x x 的函数: θ p ( x ) = max ⁡ λ max ⁡ α , α ≥ 0 [ f ( x ) + ∑ i = 1 m λ i ⋅ g i ( x ) + ∑ j = 1 n α j ⋅ h j ( x ) ] \theta_p(\bm x)=\max_{\bm\lambda}\max_{\bm\alpha,\bm\alpha\geq0}\Big[f(\bm x)+\sum_{i=1}^m\lambda_i·g_i(\bm x)+\sum_{j=1}^n\alpha_j·h_j(\bm x)\Big] θp​(x)=λmax​α,α≥0max​[f(x)+i=1∑m​λi​⋅gi​(x)+j=1∑n​αj​⋅hj​(x)]因此上述问题的解可以表示如下: p ∗ = min ⁡ x θ p ( x ) \bm{p^*}=\min_{\bm{x}}\theta_p(\bm x) p∗=xmin​θp​(x)这里的记号 p p p 代表原始.