Constrained Nonlinear Optimization

This article is derived from the Optimization for AI course of the HKU AI Program.

Posted by Sunny on 2024-11-21
Words 1.4k and Reading Time 6 Minutes
Viewed Times

Constrained Nonlinear Optimization

该文章思路是解决有限制条件的优化问题的方法。

这部分是非线性优化(针对任意函数$f(x)$)的有附加限制条件的优化。

有限制条件的非线性优化问题的形式:

其中,$f(x)$是目标函数;$m$个不等式限制方程$g_i$;$p$个等式限制方程$h_i$。

对于限制优化问题,也有$Lagrangian$方程:

对于每个限制方程,都有一个对应的对偶变量($dual\ variable$):$\lambda_i$是$g_i(x)$的对偶变量,$\mu_i$是$h_i(x)$的对偶变量。

如何将$Lagrangian$方程$L(x,\lambda,\mu)$和原始优化方程$f(x)$联系起来呢?

所以,

在一些假设下,可以交换最大化和最小化顺序:

KKT(Karush-Kuhn-Tucker) Conditions

满足KKT Conditions的$x^$的点的意义:在给定的约束条件下,$x^$是目标函数局部最优解的候选点。

Active Set:

对偶

对偶目标函数:

所以,对偶问题的形式是:

弱对偶性:对偶的目标函数的值比原始函数的值小,

强对偶性:在一些条件下(Slater’s condition),有,

优化问题(Optimization Problem)的应用:支持向量机(Support Vector Machine)

Hard-Margin SVM

SVM: primal optimization problem

将最大化转化成最小化:

SVM: Dual Optimization Problem

Soft-Margin SVM

投影梯度法(Projected Gradient Mathod)

gradient descent + projection

什么是投影projection? 对于一个给定的点$x$,投影操作通常是找到一个点$x’$,使得$x’$在可行域内,并且距离$x$最近。所以,投影是满足限制条件的点距离最近的。

投影梯度法有两个步骤:

  • 执行无限制的梯度下降步骤:$x^{k+ {1\over 2}}=x^k-\eta_k\nabla f(x^k)$
  • 计算在可行域$\Omega$上的投影:$x^{k+1}\in arg \min_{x\in \Omega}|x-x^{k+{1\over 2}}|$

PGD法只在投影操作cheap的时候有效。

SVM问题的解决方法:PGD

交替方向乘数法(ADMM, alternating direction method of multipliers)

对偶问题(Dual Problem)

原始问题:

$Lagrangin$方程:

对偶方程:

得到对偶问题的解$\lambda^*$:

最终可以求得原始问题的解$x^*$:

如何求解$\lambda^*$?使用梯度上升的方法。

对偶上升(Dual Ascent):如何基于$\lambda^k$求$\lambda^{k+1}$

如何计算$\nabla q(\lambda^k)$?

已知$q(\lambda)=\min_{x\in R^n} L(x,\lambda)$,假设$\tilde{x}=arg\min_x L(x,\lambda)$,所以$q(\lambda)$可以改写为:

方程的梯度($q(\lambda)$对$\lambda$求导)是:

所以,对偶上升法的步骤是:

对偶分解(Dual Decomposition)

假设方程$f(x_1,x_2,…,x_N)$是separable的,说明$f(x)$可以被分解成多个方程的乘积或和:

对偶分解指可以通过分解$Lagrangin$方程到各个维度分解对偶问题(假设变量$x$是$N$维向量),分解的原理如下:

所以,我们可以得到:

$Lagrangin$方程是separable的,我们可以得到:

可以将$x=(x_1,x_2,…,x_N)$的最小化分解为$N$个分离的最小化问题,其中第$i$维变量在第$k+1$轮次的最小化问题是:

其中,$\lambda^k$是第$k$轮求得的对偶问题的结果。

乘数方法(Methods of Multipliers)

对$Lagangin$方程新增一项$(\rho / 2)| Ax-b |^2$,可以得到$Augmented\ Lagrangin$:

所以,原始优化问题是:

乘数方法步骤

  • 第一步是$x$的最小化操作。
  • 第二步是对偶变量上升操作,在对偶上升中将$\etak=\rho$,以及$\nabla L\rho(x,\lambda)=Ax^{k+1}-b$。

$for\ k=0,1,…,K-1\ do \
\qquad Set\ x^{k+1}=arg\minx L{\rho}(x,\lambda^k) \
\qquad Set\ \lambda^{k+1}=\lambda^k+\rho(Ax^{k+1}-b)
$

交替方向乘数方法(ADMM,Alternating Direction Method of Multipliers)

该方法用于处理两个变量$x$和$z$的优化问题。

主要(Primal)优化问题:

The augmented Lagrangin is:

ADMM

ADMM方法的最优解的条件

缩放对偶变量的ADMM方法

将$u^k=\rho^{-1}\lambda^k$操作称为缩放对偶变量。