约束优化

概述

有时候,我们最大化或最小化一个函数 f ( x ) f(x) f(x) 不希望在 x \boldsymbol{x} x 的所有可能值下进行的,而是希望在 x \boldsymbol{x} x 的某些集合 S \mathbb{S} S 中。这被称为约束优化( constrained optimization)。在约束优化术语中,集合 S \mathbb{S} S 内的点 x \boldsymbol{x} x 被称为可行( feasible)点。

约束优化的特殊方法

约束优化的一个简单方法是将约束考虑在内后简单地对梯度下降进行修改。如果我们使用一个小的恒定步长 ϵ ϵ ϵ,我们可以先取梯度下降的单步结果,然后将结果投影回 S \mathbb{S} S。如果我们使用线搜索,我们只能在步长为 ϵ ϵ ϵ 范围内搜索可行的新 x \boldsymbol{x} x 点,或者我们可以将线上的每个点投影到约束区域。如果可能的话,在梯度下降或线搜索前将梯度投影到可行域的切空间会更高效。

一个更复杂的方法是设计一个不同的、无约束的优化问题,其解可以转化成原始约束优化问题的解。 例如,在 x ∈ R 2 \boldsymbol{x}\in \mathbb{R}^2 xR2 中最小化 f ( x ) f(\boldsymbol{x}) f(x),其中 x \boldsymbol{x} x 约束为具有单位 L 2 L^2 L2 范数。我们可以将原优化问题写为,关于 θ θ θ 最小化 g ( θ ) = f ( [ c o s θ ; s i n θ ] ⊤ ) g(θ) = f([cos θ; sin θ]^⊤) g(θ)=f([cosθ;sinθ]),最后返回 [ c o s θ ; s i n θ ] [cos θ; sin θ] [cosθ;sinθ] 作为原问题的解。这种转换必须专门根据我们遇到的每一种情况进行设计。

约束优化的通用方法-KKT

Karush–Kuhn–Tucker( KKT)方法是针对约束优化非常通用的解决方案。我们先引入一个称为广义 Lagrangian( generalized Lagrangian)或广义 Lagrange 函数( generalized Lagrange function)的新函数。

通过 m m m 个函数 g ( i ) g^{(i)} g(i)(等式) 和 n n n 个函数 h ( j ) h^{(j)} h(j)(不等式) 描述 S \mathbb{S} S,那么 S = { x   ∣   ∀ i , g ( i ) ( x ) = 0   a n d   ∀ j , h ( j ) ( x ) ≤ 0 } \mathbb{S}=\{\boldsymbol{x}\,|\,\forall i,g^{(i)}(\boldsymbol{x})=0\, and\, \forall j,h^{(j)}(\boldsymbol{x})\leq0\} S={xi,g(i)(x)=0andj,h(j)(x)0} 。其中涉及 g ( i ) g^{(i)} g(i) 的等式称为等式约束( equality constraint),涉及 h ( j ) h^{(j)} h(j) 的不等式称为不等式约束( inequality constraint)。

我们为每个约束引入新的变量 λ i \lambda ^i λi α j \alpha ^j αj,这些新变量被称为KKT 乘子。 广义Lagrangian 可以如下定义: L ( x , λ , α ) = f ( x ) + ∑ i λ i g ( i ) ( x ) + ∑ j α j h ( j ) ( x ) L(\boldsymbol{x,\lambda,\alpha})=f(\boldsymbol{x})+\boldsymbol{\displaystyle\sum_i}\lambda ^ig^{(i)}(\boldsymbol{x})+\boldsymbol{\displaystyle\sum_j}\alpha ^jh^{(j)}(\boldsymbol{x}) L(x,λ,α)=f(x)+iλig(i)(x)+jαjh(j)(x)现在,我们可以通过优化无约束的广义 Lagrangian 解决约束最小化问题。只要存在至少一个可行点且 f ( x ) f(\boldsymbol{x}) f(x) 不允许取 ∞ \infin ,那么 m i n x   m a x λ   m a x α , α ≥ 0   L ( x , λ , α ) \underset{\boldsymbol{x}}{min}\,\underset{\boldsymbol{\lambda}}{max}\,\underset{\boldsymbol{\alpha,\alpha\geq0}}{max}\,L(\boldsymbol{x,\lambda,\alpha}) xminλmaxα,α0maxL(x,λ,α)与如下函数有相同的最优目标函数值和最优点集 x \boldsymbol{x} x m i n x ∈ S   f ( x ) \underset{\boldsymbol{x}\in \mathbb{S}}{min}\, f(\boldsymbol{x}) xSminf(x)这是因为当约束满足时, m a x λ   m a x α , α ≥ 0   L ( x , λ , α ) = f ( x ) \underset{\boldsymbol{\lambda}}{max}\,\underset{\boldsymbol{\alpha,\alpha\geq0}}{max}\,L(\boldsymbol{x,\lambda,\alpha})=f(\boldsymbol{x}) λmaxα,α0maxL(x,λ,α)=f(x)而违反任意约束时, m a x λ   m a x α , α ≥ 0   L ( x , λ , α ) = ∞ \underset{\boldsymbol{\lambda}}{max}\,\underset{\boldsymbol{\alpha,\alpha\geq0}}{max}\,L(\boldsymbol{x,\lambda,\alpha})=\infin λmaxα,α0maxL(x,λ,α)=

因为当不满足约束时优化过程中约束项将无限制的增长。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值