凸函数

凸函数的定义

一元函数f(x),如果对于任意t\epsilon \left [ 0,1 \right ]均满足:f\left ( tx_{1}+\left ( 1-t \right )x_{2} \right )\leq tf\left ( x_{1} \right )+\left ( 1-t \right )fx_{2},则称f(x)为凸函数(convex function)

如果对于任意t\epsilon \left [ 0,1 \right ]均满足:f\left ( tx_{1}+\left ( 1-t \right )x_{2} \right )< tf\left ( x_{1} \right )+\left ( 1-t \right )fx_{2},则称f(x)为严格凸函数

我们可以从几何上直观地理解凸函数的特点,如下图所示:即凸函数的割线在函数曲线的上方

如何判断一个函数是否为凸函数

  •  对于一元函数f(x),可以通过其二阶导数f′′(x)的符号来判断。如果函数的二阶导数总是非负,即f′′(x)≥0,则f(x)是凸函数。
  •  对于多元函数f(X),可以通过其Hessian矩阵(Hessian矩阵是由多元函数的二阶导数组成的方阵)的正定性来判断。如果Hessian矩阵是半正定矩阵,则是f(X)凸函数。

二次导数f''(x)大于零,一次导数f'(x)递增,函数f(x)下降的趋势越来越缓(或上升的趋势越来越大)

凸优化问题的局部最优解是全局最优解

上面的公式,完全可以推广到多元函数。在数据科学的模型求解中,如果优化的目标函数是凸函数,则局部极小值就是全局最小值。这也意味着我们求得的模型是全局最优的,不会陷入到局部最优值。

  • 非凸函数优化图示

  • 凸函数优化图示

参考文章:http://www.javashuo.com/article/p-bjpwqjlu-gu.html