凸优化(Convex Optimization)
凸集(Convex Set)
凸集是一系列点的集合,凸集中任意两点之间所连线段一定落在集合内部,如下图所示。
站在集合内部看向集合边界时,集合的边界都是向外凸出的,就是凸集;如果是向内凹陷的,就不是凸集。
凸集的定义
那么集合S是一个凸集,否则为非凸集。该判断标注和凸集的定义是定价的,本质是看元素
凸函数
基于凸集的概念可以定义凸函数。凸函数一类具有特殊性质的函数统称,如果函数
即函数上任意两点所连线段落于函数曲线上方或恰好在曲线上,称
如果
函数最小值
对任意一个函数
求解函数最小值的常用方法就是梯度下降法。深度学习中的损失函数通常是非凸函数,只能得到局部极小点。非凸问题的传统做法:
- 块坐标下降法:每次迭代的过程中,只针对一个变量进行优化求解,其余变量保持不变,然后交替求解。
- 逐次凸逼近法:将目标函数在定点进行一阶泰勒展开,然后构建近似函数,近似函数代替原目标函数进行求解。
- 松弛变量引入法:引入松弛变量,将原目标函数中难以解决的公式部分用松弛变量代替,使目标函数变为凸函数。