前言

动机:近期在整理 MoE 系列笔记的时候,察觉到自己对最优化 (Optimization) 的记忆有点模糊了。因此笔者重新阅读最优化相关的内容并进行较为系统地整理。笔者之前系统学习中科大凌青老师的《凸优化》课程,这次在整理过程中发现了新的学习资料,讲的清晰易懂,非常适合入门或者复习。

Sion Minimax Theorem

补充概念

Saddle Point 形式

对于最优化问题:$\min_x \max_y f(x,y)$,若存在 $(x^\star,y^\star)$ 满足:

\[f(x^\star,y)\le f(x^\star,y^\star)\le f(x,y^\star), \quad \forall x,\forall y,\]

那么 $(x^\star,y^\star)$ 就是一个 saddle point。直观理解:

  • 固定 $y=y^\star$,$x^\star$ 让 $f(x,y^\star)$ 最小
  • 固定 $x=x^\star$,$y^\star$ 让 $f(x^\star,y)$ 最大

Compact

在有限维欧氏空间 $\mathbb{R}^d$ 中,可以把 compact 理解为

\[\boxed{ \text{closed and bounded} }\]

举个例子:$[0,1]$ 是紧集;$(0,1)$ 不是(因为非 bounded);$\mathbb{R}$ 不是(因为非 closed)。

Quasi-Convex/Concave

一个函数 $g(z)$ 是 quasi-convex 定义为:

\[g(\theta u+(1-\theta)v) \le \max\{g(u),g(v)\}, \quad \theta\in[0,1].\]

意思是:在两个点之间连线,中间点的函数值不会超过两端中较大的那个。这比普通 convex 的条件弱,因为 convex 要求:

\[g(\theta u+(1-\theta)v) \le \theta g(u)+(1-\theta)g(v).\]

因此有:$\text{convex} \Rightarrow \text{quasi-convex}$

同理,对于一个 quasi-concave 函数 $g(z)$,意味着:

\[g(\theta u+(1-\theta)v) \ge \min\{g(u),g(v)\}.\]

同理也有:$\text{concave} \Rightarrow \text{quasi-concave}$

Convex-Concave Function

对于二元函数 $f(x,y)$,若满足下述 “希望” 则是 convex-concave function。

  • 如果优化问题是:$\min_x \max_y f(x,y)$
    • 对 $x$ 做 minimization,希望 $f$ 关于 $x$ 是 convex
    • 对 $y$ 做 maximization,希望 $f$ 关于 $y$ 是 concave
  • 如果优化问题是:$\max_x \min_y f(x,y)$ 则 “希望” 翻转。

Continuity-Semicontinuity

“连续性 / 半连续性”可以理解为:当变量发生极小扰动时,函数值不能以破坏极值存在性的方式突然跳变。

Continuity
\[x_k\to x_0 \quad\Longrightarrow\quad f(x_k)\to f(x_0).\]

由于很多优化问题里的函数不是完全连续的。例如 indicator function、约束惩罚函数、$⁡\max$、$⁡\inf$、$⁡\sup$、分段函数,都可能存在跳变。因此需要比“连续”更弱但仍然足够好用的条件,即:半连续性 (Semicontinuity)。

\[\text{continuous} \Rightarrow \text{upper semicontinuous and lower semicontinuous}.\]
Semicontinuity

半连续性有两类:Lower semicontinuity and upper semicontinuity,分别定义如下:

\[\begin{cases} \textbf{Lower: }\quad f(x_0)\le \liminf_{k\to\infty} f(x_k) \quad \text{for every }x_k\to x_0. \\ \textbf{Upper: }\quad f(x_0)\ge \limsup_{k\to\infty}f(x_k) \quad \text{for every }x_k\to x_0. \end{cases}\]
  • Lower semicontinuity:不允许突然向上跳;适合 minimization;
  • Upper semicontinuity:不允许突然向下跳;适合 maximization。

定理运用

不要先背完整定理。先记住它的“工程化检查表”。

对于:

\[\max_x \min_y f(x,y),\]

要交换成:

\[\min_y \max_x f(x,y),\]

此时需要检查:

第一、优化变量可行域

\[X \text{ compact convex and }Y \text{ convex}\]

第二、max 操作相关

因为你在对 $x$ 最大化,所以希望:

\[f(\cdot,y)\]

$f(\cdot, y)$ 关于 $x$ 至少是 quasi-concave 且 upper semicontinuity。

第三、min 操作相关

因为你在对 $y$ 最小化,所以希望:

\(f(x,\cdot)\) $f(x, \cdot)$ 关于 $y$ 至少是 quasi-convex 且 lower semicontinuity。

Reference

[1] “拉格朗日对偶问题”如何直观理解?“KKT条件” “Slater条件” “凸优化”打包理解

[2] 凸优化 中科大