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$操作称为缩放对偶变量。