05 - Convex Function

Convex Function

令 $C \in \mathbb{R}^n$ 为非空 convex set,函数 $f: C \rightarrow \mathbb{R}$,如果 $f$ 满足如下条件 $$ f(\lambda \b{x}_1 + (1 - \lambda) \b{x}_2) \leq \lambda f(\b{x}_1) + (1 - \lambda) f(\b{x}_2) \;\; \forall \lambda \in [0, 1], \b{x}_1,\b{x}_2 \in C $$ 则函数 $f$ 称为 convex function

注意 $C$ 是个 convex set,否则不能保证所有的 $\lambda \b{x}_1 + (1 - \lambda)\b{x}_2$ 都在 $C$ 内。

如果条件中 $\leq$ 变成 $<$,同时 $\lambda \in (0, 1)$ 则函数 $f$ 称为 strictly convex function。

Convex function 用下面的图表示最直观了

Convex function 和 Concave function 是两个相对的概念,$f$ 如果是 concave function,$-f$ 就是 convex function;如果 $f$ 是 strictly concave function,$-f$ 就是 strictly convex function。

Convex Programming Problem

所谓的 convex programming problem,就是指如下问题

其中 $C$ 是 convex set,$f: C \rightarrow \mathbb{R}$ 为 convex function

Convex programming 中每个 local minimum 都是 global minimum
Convex programming 的所有 global minimum 构成一个 convex set

通俗的讲就是如果一个 convex programming problem 有多个最优解,那这些最优解必然是在一块的,不是分散的,如下图所示

其中最优解是连在一起的。

Epigraph

给定 $f: X \rightarrow \mathbb{R}$,其对应的 epigraph 是集合 $\{ (\b{x}, y) : \b{x} \in X, y \geq f(\b{x})\}$,所以 epigraph 属于 $\mathbb{R}^{n+1}$,参考下图,其中填充的部分就是 epigraph,当然 epigraph 是无限延伸的,这里只给出了其中的一部分而已。

给定 $C \in \mathbb{R}^n$ 为 convex set,$f: C \rightarrow \mathbb{R}$ 为 convex function 当且仅当其对应的 epigraph 为 convex set

与 epigraph 相对的一个概念是 hypograph,hypograph 是这样的集合 $\{ (\b{x}, y) : \b{x} \in X, y \leq f(\b{x})\}$

Level Set

Level set 是这么一个集合 $C_{\alpha} = \{ \b{x} \in C : f(\b{x}) \leq \alpha, \alpha \in \mathbb{R} \}$

如果 $f(\b{x})$ 是 convex function 则 $C_{\alpha}$ 是一个 convex set (证明简单),反之不成立,比如对于 $f(x) = x^3$,它的 level set 就是 convex set,但是函数并不是 convex function。

有了 level set 的定义,就可以进一步细化 convex programming problem 的定义,通常 convex programming problem 都有如下形式

其中 $f$ 和 $h_i$ 都是 convex function。这里每个约束都是一个 level set,根据前面性质可知,这些 level set 都是 convex set,而 convex set 的交集也是 convex set。

Convexity and Gradient

假设 $C \subset \mathbb{R}^n$ 是 convex set,函数 $f: C \rightarrow \mathbb{R}$ 一阶连续可导,令 $g(\b{x}) = \nabla f(\b{x})$,则 $f$ 是 convex function 当且仅当 $$f(\b{x}_2) \geq f(\b{x}_1) + g^T(\b{x}_1)(\b{x}_2 - \b{x}_1)$$ 对于所有 $\b{x}_1, \b{x}_2 \in C$ 都成立。$f$ 是 strictly convex function 当且仅当不等号严格成立

根据这个定理,如果存在 $\b{x}^* \in C$ 使得 $g(\b{x}^*) = 0$,则有 $f(\b{x}) \geq f(\b{x}^*) \; \forall \b{x} \in C$,也就是 $\b{x}^*$ 就是 minimum。

Convexity and Hessian Matrix

假设 $C \subset \mathbb{R}^n$ 是 open convex set,函数 $f: C \rightarrow \mathbb{R}$ 二阶连续可导,则 $f$ 是 convex function 当且仅当 $f$ 对应的 Hessian matrix 是 positive semi-definite matrix

Jensen’s Inequality

如果 $C \subseteq \mathbb{R}^n$ 是 convex set,$f: C \rightarrow \mathbb{R}$,则 $f$ 是 convex function 当且仅当 $$f(\sum_{i=1}^{k} \lambda_i \b{x}_i) \leq \sum_{i=1}^{k} \lambda_if(\b{x}_i)$$ 其中 $\b{x}_1, ..., \b{x}_k \in C, \; \lambda_i \geq 0, \; \sum_i \lambda_i = 1$

Operations Preserving Convexity

假设 $f$ 是 convex function,则下面的操作依然能得到 convex function

  1. $\alpha f \;\;\; \forall\alpha > 0$
  2. $\sum_i \alpha_i f_i \;\;\; \forall\alpha_i > 0$

Function Maximum

令 $C \subset \mathbb{R}^n$ 为一个 compact convex set,$f: C \rightarrow \mathbb{R}$ 为 convex function,则 $f$ 的最大值一定是出现在 C 的某一 boundary point