MachineLearning

凸函数(convex function)

2020-04-07  本文已影响0人  踏乡墨客

引言

So what is convex funtion? It is indicated in the following figure 1.

图1. convex funtion 凸函数(引自CSDN blog)
还记得在国内上本科时同济的高等数学中对凸函数的定义吗,你会发现这个定义和我们此处的相反在同济版高数中图1这样的函数被称为凹函数
所以,中国大陆数学界某些机构关于函数凹凸性定义和国外(图1)的定义是相反的。
对于这两种定义出现的原因,我认为我们不用去深究。
注意,后文中我们所说的凸函数(convex function)是图1中所展示的形状,对应机器学习/优化理论中所说的凸函数、凸优化。

理解记忆方法https://www.zhihu.com/question/20014186

  1. 凹凸函数本质是描述函数斜率增减的。语义上凸为正,代表斜率在增加(单调不减)。凹为负,代表斜率在减少。(从图1中可以看出,斜率是在增加,因此我们说这样的函数是凸函数)
  2. 凸函数的“二阶导数为正”(图1中函数图像的二阶导数为正)。
  3. convex(凸函数),V样子的函数;concave(凹函数),cave是洞穴的意思,参见图2。convex(凸函数)指的是V形状的函数,concave(凹函数)指的是^形状的函数。


    图2
  4. 实际上,我们最好不要用凹函数这一说法,推行上凸和下凸(描述函数的凸性),都是凸函数。不是凸函数的,就是非凸函。在你心中,可以不记凹凸了,记得上凸、下凸是啥样即可。

凸函数的数学定义/判定方法

  1. 定义:对于一元函数f(x),如果对于任意tϵ[0,1]均满足:
    f(tx_1+(1-t)x_2) <= tf(x_1)+(1-t)f(x_2),则称f(x)为凸函数(convex function)
    从几何上直观地理解凸函数的特点,凸函数的割线在函数曲线的上方,如图3所示:
    图3. 凸函数
  2. 判定方法:对于一元函数f(x),我们可以通过其二阶导数f′′(x) 的符号来判断。如果函数的二阶导数总是非负,即f′′(x)≥0 ,则f(x)是凸函数。
    对于多元函数f(X),我们可以通过其Hessian矩阵(Hessian矩阵是由多元函数的二阶导数组成的方阵)的正定性来判断。如果Hessian矩阵是半正定矩阵,则是f(X)凸函数。
  3. 凸函数有一个很好的性质,即只要能证明我们求解的问题是凸函数,最终得到的解一定是全局最优解,即局部最优解是全局最优解(局部最小值是全局最小值)。
上一篇下一篇

猜你喜欢

热点阅读