问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

什么是凸函数以及如何判断函数是否为凸函数

创作时间:
作者:
@小白创作中心

什么是凸函数以及如何判断函数是否为凸函数

引用
CSDN
1.
https://blog.csdn.net/WoAiChiXueGao_/article/details/122204012

凸函数是机器学习和数据科学领域中的重要概念,它不仅影响着模型的优化效率,还决定了模型是否能够达到全局最优解。本文将从凸函数的定义出发,介绍如何判断一个函数是否为凸函数,以及凸优化问题的相关内容。

一、什么是凸函数

定义一

对于一元函数$f(x)$,如果对于任意$t \in [0, 1]$均满足:
$$f(tx_1 + (1-t)x_2) \leq tf(x_1) + (1-t)f(x_2)$$
则称$f(x)$为凸函数(convex function)。

如果对于任意$t \in (0, 1)$均满足:
$$f(tx_1 + (1-t)x_2) < tf(x_1) + (1-t)f(x_2)$$
则称$f(x)$为严格凸函数(convex function)。

定义二

首先定义凸集,如果$x, y$属于某个集合$M$,并且所有的$\theta x + (1-\theta)f(y)$也属于$M$,那么$M$为一个凸集。如果函数$f$的定义域是凸集,并且满足:
$$f(\theta x + (1-\theta)y) \leq \theta f(x) + (1-\theta)f(y)$$
则该函数为凸函数。

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

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

「注意」:中国大陆数学界某些机构关于函数凹凸性定义和国外的定义是相反的。Convex Function在某些中国大陆的数学书中指凹函数。Concave Function指凸函数。但在中国大陆涉及经济学的很多书中,凹凸性的提法和其他国家的提法是一致的,也就是和数学教材是反的。举个例子,同济大学高等数学教材对函数的凹凸性定义与本条目相反,本条目的凹凸性是指其上方图是凹集或凸集,而同济大学高等数学教材则是指其下方图是凹集或凸集,两者定义正好相反。

二、如何判断函数是否为凸函数?

对于一元函数$f(x)$,我们可以通过其二阶导数$f''(x)$的符号来判断。如果函数的二阶导数总是非负,即$f''(x) \geq 0$,则$f(x)$是凸函数。

对于多元函数$f(X)$,我们可以通过其Hessian矩阵的正定性来判断。如果Hessian矩阵是半正定矩阵,则是$f(X)$凸函数。

三、为什么要求是凸函数呢?

如果是下图这样的函数,则无法获得全局最优解。

四、为什么要求是凸集呢?

如果可行域不是凸集,也会导致局部最优。

五、Jensen不等式

对于凸函数,我们可以推广出一个重要的不等式,即Jensen不等式。如果$f$是凸函数,$X$是随机变量,那么:
$$f(E(X)) \leq E(f(X))$$
上式就是Jensen不等式的一般形式。

我们还可以看它的另一种描述。假设有$n$个样本$x_1, x_2, ..., x_n$和对应的权重$\alpha_1, \alpha_2, ..., \alpha_n$,权重满足$\alpha_i \geq 0$,$\sum \alpha_i = 1$,对于凸函数$f$,以下不等式成立:
$$f(\sum_{i=1}^{n}\alpha_{i}x_{i}) \leq \sum_{i=1}^{n}\alpha_{i}f(x_i)$$

六、实际建模中如何判断一个最优化问题是不是凸优化问题

  1. 目标函数$f$如果不是凸函数,则不是凸优化问题
  2. 决策变量$x$中包含离散变量(0-1变量或整数变量),则不是凸优化问题
  3. 约束条件写成$g(x) \leq 0$时,$g$如果不是凸函数,则不是凸优化问题

之所以要区分凸优化问题和非凸的问题原因在于凸优化问题中局部最优解同时也是全局最优解,这个特性使凸优化问题在一定意义上更易于解决,而一般的非凸最优化问题相比之下更难解决。

七、非凸优化问题如何转化为凸优化问题的方法

  1. 修改目标函数,使之转化为凸函数
  2. 抛弃一些约束条件,使新的可行域为凸集并且包含原可行域
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号