凸函数一阶条件二阶条件证明
定义
如果 domf \textbf{dom} f是凸集, 且 ∀x,y∈domf \forall x, y\in\textbf{dom}f和 ∀0⩽θ⩽1 \forall 0\leqslant\theta\leqslant 1, 有
\begin{eqnarray} f(\theta x+(1-\theta)y)\leqslant \theta f(x) + (1-\theta)f(y), \end{eqnarray}
我们就称函数 f:Rn→R f:\mathbf{R}^n\rightarrow \mathbf{R}是凸函数.
几何意义上讲, 凸函数意味着点 (x,f(x)) (x, f(x)), (y,f(y)) (y, f(y))之间的线段在函数 f f的上方. 如果不等式(1.1)对于x≠yx\neq y及 0<θ<1 0严格成立, 我们就称函数 f f是严格凸的. 如果函数−f-f是凸的(严格凸)的, 则函数 f f是凹(严格凹)的.
对于仿射函数f(x)=Ax+bf(x)=\mathbf{A}x+b(线性函数与常数的和), 不等式(1.1)总成立, 因此所有的仿射函数(包括线性函数)既是凸的, 又是凹的. 反之也成立, 即如果函数既凸又凹, 则其一定是仿射函数.
函数是凸的, 当且仅当其在与其定义域相交的任意直线上都是凸的. 也就是说, 函数 f f是凸的当且仅当∀x∈domf\forall x\in domf和任意向量 v v, 函数g(t)=f(x+tv)g(t)=f(x+tv)是凸的, 其定义域是 {t|x+tv∈domf} \{t|x+tv\in\textbf{dom}f\}. 根据这个性质, 我们可以将函数限制在直线上判断其是否是凸函数.
一阶条件
假设 f f可微, 则函数ff是凸函数的充要条件是 domf \textbf{dom}f是凸集, 且 ∀x,y∈domf \forall x, y\in \textbf{dom}f, 下式成立
\begin{eqnarray} f(y)\geqslant f(x)+\nabla f(x)^T(y-x). \end{eqnarray}
这里关于 y y的仿射函数f(x)+∇f(x)T(y−x)f(x)+\nabla f(x)^T(y-x)是函数 f f在xx附近的Taylor近似. 从不等式(1.2)可以看出, 对于一个凸函数, 其一阶Taylor展开实际上是该函数的一个全局下估计. 反之, 如果一个函数的一阶Taylor展开总是其全局下估计, 那么这个函数是凸的.
不等式(1.2)还说明从一个函数的 局部信息 \textbf{局部信息}可以得到函数的一些 全局信息 \textbf{全局信息}. 由不等式可以知道, 如果 ∇f(x)=0 \nabla f(x)=0, 那么 ∀y∈domf \forall y\in \textbf{dom}f都有 f(y)⩾f(x) f(y)\geqslant f(x), 即 x x是函数ff的全局极小点.
严格凸性也可以由一阶条件刻画: 函数 f f严格凸的充要条件是domf\textbf{dom}f是凸集且 ∀x,y∈domf,x≠y \forall x, y\in\textbf{dom}f, x\neq y, 下式成立
\begin{eqnarray} f(y)> f(x)+\nabla f(x)^T(y-x). \end{eqnarray}
证明
先考虑 n=1 n=1的情况. 我们证明可微函数 f:R→R f: \mathbf{R}\rightarrow \mathbf{R}是凸函数的充要条件是对于 domf \textbf{dom}f内的任意 x,y x, y, 有
\begin{eqnarray} f(y)\geqslant f(x)+f'(x)(y-x). \end{eqnarray}
必要性: 假设 f f凸, 且x,y∈domfx, y\in\textbf{dom}f. 因为 domf \textbf{dom}f凸, ∀0⩽t⩽ \forall 0\leqslant t\leqslant, 我们有 x+t(y−x)∈domf x+t(y-x)\in \textbf{dom}f, 由函数的凸性可以得出
\begin{eqnarray} f(x+t(y-x))\leqslant(1-t)f(x)+tf(y). \end{eqnarray}
两端同时除 t t并移项可得
\begin{eqnarray} f(y)\geqslant f(x)+\frac{f(x+t(y-x))-f(x)}{t}, \end{eqnarray}
令 t→0 t\rightarrow 0, 可得不等式(1.4).
充分性:假设 domf \textbf{dom}f中任意两点 x,y(x≠y) x, y(x\neq y), 对于任意的 0⩽θ⩽1 0\leqslant\theta\leqslant 1, 令 z=θx+(1−θ)y z=\theta x + (1-\theta)y. 分别对 x,y x, y应用不等式(1.4), 可得
\begin{eqnarray} f(x)\geqslant f(z)+f'(z)(x-z),\\ f(y)\geqslant f(z)+f'(z)(y-z). \end{eqnarray}
将(1.7)乘以 θ \theta, (1.8)乘以 1−θ 1-\theta然后相加可得
\begin{eqnarray} \theta f(x)+(1-\theta)f(y)\geqslant f(z), \end{eqnarray}
这就说明函数 f f是凸的.
对于一般情况, 即f:Rn→Rf: \mathbf{R}^n\rightarrow \mathbf{R}. 设 x,y∈Rn x, y\in \mathbf{R}^n, 考虑将 f f限制在穿过x,yx, y的直线, 即 g(t)=f(ty+(1−t)x) g(t)=f(ty + (1-t)x), 该函数对 t t求导可得
\begin{eqnarray} g'(t)=\nabla f(ty+(1-t)x)^T(y-x). \end{eqnarray}
首先假设 f f是凸的, 则函数gg是凸的, 由 n=1 n=1时的结论可知 g(1)⩾g(0)+g′(0) g(1)\geqslant g(0)+g'(0), 即
\begin{eqnarray} f(y)\geqslant f(x) + \nabla f(x)^T(y-x). \end{eqnarray}
再假设此不等式 ∀x,y \forall x, y均成立, 因此若 ty+(1−t)x∈domf ty+(1-t)x \in \textbf{dom}f以及 t~y+(1−t~)x∈domf \tilde{t}y+(1-\tilde{t})x\in\textbf{dom}f, 我们有
\begin{eqnarray} f(ty+(1-t)x)\geqslant f(\tilde{t}y+(1-\tilde{t})x) + \nabla f(\tilde{t}y+(1-\tilde{t})x)^T(y-x)(t-\tilde{t}). \end{eqnarray}
即 g(t)⩾g(t~)+g′(t~)(t−t~) g(t)\geqslant g(\tilde{t})+g'(\tilde{t})(t-\tilde{t}), 说明函数 g g是凸的, 也就是说ff是凸的.
二阶条件
现假设 f f二阶可微, 即对于开集domf\textbf{dom}f内的任意一点, f f的二阶导或者Hessian\textbf{Hessian}矩阵存在, 则函数 f f是凸函数的充要条件是, 其Hessian矩阵半正定, 即∀x∈domf\forall x\in\textbf{dom}f, 有
\begin{eqnarray} \nabla^2f(x)\succeq 0. \end{eqnarray}
对于 R \mathbf{R}上的函数, 上式退化为 f′′(x)⩾0 f''(x)\geqslant 0. 该条件表明函数 f f的导数非减, 从几何上解释就是函数ff在点 x x处具有向上(正)的曲率.
证明
先证n=1n=1时的情况.
必要性: 假设 f:R→R f: \mathbf{R}\rightarrow \mathbf{R}是凸函数, 取 x,y∈domf x, y\in\textbf{dom}f, 且 x<y x. 根据一阶条件我们有
\begin{eqnarray} f'(x)(y-x)\leqslant f(y)-f(x)\leqslant f'(y)(y-x). \end{eqnarray}
左右两边同时除 y−x y-x有,
\begin{eqnarray} \frac{f'(y)-f'(x)}{y-x}\geqslant 0. \end{eqnarray}
令 y→x y\rightarrow x可得 f′′(x)⩾0 f''(x)\geqslant 0.
充分性: 假设 ∀z∈domf \forall z\in \textbf{dom}f都有 f′′(z)⩾0 f''(z)\geqslant 0. 考虑任意的 x,y∈domf x, y\in\textbf{dom}f, 且 x<y x. 我们有
\begin{eqnarray} \int_x^yf''(z)(y-z)dz\geqslant 0, \\ (f'(z)(y-z))|^{z=y}_{z=x} + \int_x^yf'(z)dz\geqslant 0, \\ f(y)-f(x)-f'(x)(y-x)\geqslant 0. \end{eqnarray}
同样, 对于一般情况, 我们注意到一个函数是凸函数当且仅当它在与定义域相交的所有直线上都是凸函数, 比如函数 g(t)=f(x0+tv) g(t)=f(x_0+tv)对于任意的 x0∈f x_0\in \textbf{f}和任意的 v v是关于tt的凸函数.
所以说, 函数 f f是凸函数当且仅当对于任意的x0∈domf,v∈Rnx_0\in \textbf{dom}f, v\in\mathbf{R}^n, 以及 t|x0+tv∈domf {t|x_0+tv\in \textbf{dom}f}有
\begin{eqnarray} g''(t)=v^t\nabla^2f(x_0+tv)v\geqslant 0. \end{eqnarray}
也就是说, 对于任意的 x∈domf x\in \textbf{dom}f ∇2f(x)⪰0 \nabla^2f(x)\succeq 0是函数 f <script type="math/tex" id="MathJax-Element-119">f</script>凸的充分必要条件.
凸函数一阶条件二阶条件证明相关推荐
- 凸函数二阶条件的理解及常见函数解析
判定凸函数有一阶和二阶条件两种方式,一阶条件即, 假设fff可微,则函数fff是凸函数的充分必要条件是domfdom fdomf是凸集且对于任意x,y∈domfx,y\in dom fx,y∈domf ...
- KKT条件和二阶条件和凸度优化(六)
KKT要点和备注 KKT条件是一般约束优化问题的一阶必要条件(FONC). KKT条件统一了所有以前研究过的FONC. 满足KKT条件的IA(可行)点称为KKT点,无论它是否满足CQ. KKT点是局部 ...
- Conditional Guassian Distribution 条件高斯分布及其证明
Conditional Guassian Distribution 条件高斯分布及其证明 1. 写在前面 2. 高斯分布 2.1 一元高斯分布 2.2 多元高斯分布 3. 条件高斯分布 3.1 准备工 ...
- 一阶和二阶微分方程的物理意义???
一阶和二阶导的含义 一阶导问题: 几何意义:曲线斜率 二阶导问题: 意义如下:(1)斜线斜率变化的速度(2)函数的凹凸性. 二阶导数是比较理论的.比较抽象的一个量,它不像一阶导数那样有明显的几何意义, ...
- 什么是Karush-Kuhn-Tucker 最优化条件 (KKT 条件) 三个人名 独立发现的最优化条件
Karush-Kuhn-Tucker 最优化条件 (KKT 条件) 一般地,一个最优化数学模型能够表示成下列标准形式: 所谓 Karush-Kuhn-Tucker 最优化条件,就是指上式的最小点 x* ...
- Opencv--图像处理之一阶和二阶偏导数
1. 一阶差分: 2. 二阶偏导数的推导和近似: 3. 上式以点(i+1,j)为中心,用i代换i+1可得以(i,j)为中心的二阶偏导数则有: 4. 同理: 5. 进而可推导: 6. 这样我们就可以很好 ...
- 一阶高通滤波+二阶Mahony滤波的四元数姿态解算
此次实验我使用icm20602进行 icm20602输出有以下特点: 3轴陀螺仪可选量程有±250dps,±500dps,±1000dps,±2000dps.(dps:degrees per seco ...
- 印制板通孔板、盲埋孔板及一阶、二阶板的区别
标题- 印制板有一阶.二阶等的不同,主要是因为它的加工工艺的不同,二阶印制板会比一阶印制板在加工过程中多出很多到工序. 一般PCB一层到四层都是没一阶二阶的算法的,单层板就只是单层板:双层板就只是双层 ...
- python且条件_Python条件判断语句 if
程序在一般情况下是按顺序执行的,就像流水账一样,一条一条从上往下顺序执行. 有时候我们需要根据条件来有选择地执行某些语句,这就要使用到Python的条件判断语句--if. 我们可以通过下图来简单了解条 ...
最新文章
- CVPR 2022 | 南开程明明团队和天大提出LD:目标检测的定位蒸馏
- NYOJ 618 追击
- eclipse maven访问maven私有库
- java lower_Java TreeSet lower()用法及代码示例
- centos下apache不解析php
- python 角度变弧度_弧度制和角度值怎么转换?
- linux 统一设备模型 pci,【原创】Linux PCI驱动框架分析(二)
- Win10 - 注册表获取权限的方法
- playwright 组件超时问题
- linux c/c++使用sqlite3读取数据
- 验证tomcat安装成功
- mySQL中stuff,SQL 中STUFF用法
- 阿里云服务器开放端口的正确方式(超详细图文教程)
- 和平精英计算机音乐,和平精英音乐盒里的音乐叫什么名字 和平精英音乐盒攻略...
- html左侧抽屉,js抽屉drawer插件
- 情绪发生时,我们身体发生了什么?
- 用python写一个16进制转换文本字符串
- web.xml文件是什么?有什么用?--详解
- plt.subplot()使用方法以及参数介绍
- integrate.php 漏洞,ECShop网店系统=V2.6.2 后台拿webshell
热门文章
- 三层交换机和二层交换机之间的配置
- 海康威视工业相机MV-CE060-10UC使用指北
- 虚拟机服务器经典应用配置方案(二)
- Mybatis提取BigDecimal字段值显示丢失末尾0精度的问题解决
- ios开发 把视频文件和图片保存到相册
- oracle数据库导入导出(windows之间)
- [Python]_[初级]_[多线程下载单个文件]
- python中烦人的锟斤拷(\xef\xbf\xbd)
- 为什么巨头们都盯上了健康?
- 技能提升之Latex控制图片位置