凸优化
梯度下降法和牛顿法等基于导数作为判据的优化算法,找到的都导数/梯度为 0 的点,而梯度等于 0 只是取得极值的必要条件而不是充分条件。即局部最优解不一定是全局最优解。
凸优化问题——满足下面两个限制条件的最优化问题。
-
目标函数是凸函数;
-
优化变量的可行域是凸集;
凸优化问题——局部最优解一定是全局最优解。
凸集
对于 n 维空间中点的集合 C,如果对集合中的任意两点 x 和 y,以及实数 0 ≤ θ ≤ 1,都有:
则称该集合称为凸集。
n 维实向量空间 $R^n$
显然如果 $x , y \in R ^ { n }$,则有:
结论:如果一个优化问题是不带约束的优化,则其优化变量的可行域是一个凸集。
仿射子空间
给定 m 行 n 列的矩阵 A 和 m 维向量 b,仿射子空间定义为如下向量的集合:
实际上,它就是非齐次线性方程组的解。
证明:仿射子空间是凸集
假设 $x , y \in R ^ { n }$ 并且 $A x = b , A y = b$,对于任意 $0 \leq \theta \leq 1$,有:
结论:如果一组约束是线性等式约束,则它确定的可行域是一个凸集。
多面体
多面体定义为如下向量的集合:
实际上,它就是线性不等式围成的区域。
证明:多面体是凸集
结论:如果一组约束是线性不等式约束,则它定义的可行域是凸集
证明:多个凸集的交集还是凸集
假设 $C _ { 1 } , \ldots , C _ { k }$ 为凸集,它们的交集为 $\bigcap _ { i = 1 } ^ { k } C i$。对于任意点 $X , Y \in \bigcap _ { i = 1 } ^ { k } C i$,并且 $0 \leq \theta \leq 1$,由于 $C _ { 1 } , \ldots , C _ { k }$ 为凸集,所以有:
由此:
结论:如果每个等式或者不等式约束条件定义的集合都是凸集,那么这些条件联合起来定义的集合还是凸集。
注意:凸集的并集并不是凸集。
下水平集
给定一个凸函数以及一个实数 $\alpha$,函数的 $\alpha$ 下水平集(sub-level set)定义为函数值小于等于 $\alpha$ 的点构成的集合:
该集合是一个凸集。用于确保优化问题中一些不等式约束条件定义的可行域是凸集,如果是凸函数构成的不等式,则是凸集。
凸函数
在函数的定义域内,如果对于任意的 x、y,以及实数 $0 \leq \theta \