第一部分:凸函数和非凸函数基本含义区分
(1)判断准则
方法1:对于所有x1, x2 ∈ I和任何t∈[0,1],都有f(t*x1 + (1-t)*x2) ≤ t*f(x1) + (1-t)*f(x2),则这个函数是凸函数;或者你想要简单点理解的话,我们找中点来快速理解:
f ( ( x 1 + x 2 ) / 2 ) ≤ ( f ( x 1 ) + f ( x 2 ) ) / 2
方法2:图像含义
从几何角度看,凸函数的性质意味着其图像(即函数的图)位于任 意两点之间连接线段的下方
上面这个是凸函数的例子。
上面这个是非凸函数的例子。
方法3:求导方法
一元函数可以通过其二阶导数来判定是否为凸函数。如果函数的二阶导数非负,即f''(x) ≥ 0,那么该函数是凸的。若二阶导数严格大于0,则函数是严格凸的
第二部分:为什么要区分这两个函数,凸函数是有什么特殊性质吗
根据我们上述的定义:
y=x2是凸函数,y=-x2就不是凸函数。
这样做的主要目的是:凸函数能够保证找到全局最优解而非仅仅是局部最优解
下面找一个非凸函数的例子(存在局部最优解和全局最优解,这样模型在训练的过程中就非常容易陷入局部最优解中出不来,让问题复杂化,而凸函数只有一个全局最优解,没有局部最优解,就不会有陷入局部最优解这回事)
第三部分:凸函数和凹函数的最优化理论
(1)凸函数
凸函数保证损失函数有全局最小值,可以使用较为简单的优化算法
(2)凹函数
凹函数则需要使用更复杂的优化算法寻找最小值。
第四部分:凸约束和凸优化
(1)凸优化
使用凸优化算法来最小化凸函数的优化问题
(2)凸约束
在优化问题中,约束条件是凸函数
第五部分:Jensen不等式
(1)两点形式的 Jensen 不等式
凸函数是Jensen不等式的两点形式。
(2)期望形式的 Jensen 不等式
从上面这个图像中,我们就可以看到:E[f(X)]≥f(E[X])。其中E[f(X)]即 f(a) 和 f(b)之间的平均值