凸集、凸函数与凸规划
文章目录
- 1 凸集
- 2 凸函数
- 2.1 凸函数性质
- 2.2 一阶判别公式
- 2.3 二阶判别公式
- 3 凸规划
1 凸集
设集合 S ⊂ R n S\subset \R^n S⊂Rn,若 S S S中任意两点连线仍属于 S S S,则 S S S称为凸集
,即
x 1 + λ ( x 2 − x 1 ) ∈ S \bm x_1 + \lambda(\bm x_2 - \bm x_1) \in S x1+λ(x2−x1)∈S
图1 凸集(左)与非凸集(右)
2 凸函数
设 S S S为 R n \R^n Rn上的非空凸集, f f f是定义在 S S S上的实函数,若对任意 x 1 , x 2 ∈ S \bm x_1, \bm x_2 \in S x1,x2∈S,及 λ ∈ ( 0 , 1 ) \lambda \in (0, 1) λ∈(0,1),都有
f ( x 1 + λ ( x 2 − x 1 ) ) ≤ f ( x 1 ) + λ [ f ( x 2 ) − f ( x 1 ) ] f(\bm x_1+\lambda(\bm x_2 - \bm x_1))\leq f(\bm x_1) + \lambda[f(\bm x_2) - f(\bm x_1)] f(x1+λ(x2−x1))≤f(x1)+λ[f(x2)−f(x1)]
则称 f f f为 S S S上的凸函数
。
对于一元函数 f f f,凸函数的几何解释可简单理解为曲线 f f f上任意两点的弦不在曲线下方,如下图所示。
图2 凸函数
一元凸函数的几何证明
若 ( x 1 , f ( x 1 ) ) , ( x 2 , f ( x 2 ) ) (x_1, f(x_1)), (x_2, f(x_2)) (x1,f(x1)),(x2,f(x2))为曲线 f f f上的两点,且满足 x 1 < x < x 2 x_1< x < x_2 x1<x<x2,由直线的两点式公式
y − y 1 y 2 − y 1 = x − x 1 x 2 − x 1 \frac{y-y_1}{y_2-y_1}=\frac{x-x_1}{x_2-x_1} y2−y1y−y1=x2−x1x−x1
知,该两点构成的弦所在直线的方程为
y − f ( x 1 ) f ( x 2 ) − f ( x 1 ) = x − x 1 x 2 − x 1 \frac{y-f(x_1)}{f(x_2)-f(x_1)}=\frac{x-x_1}{x_2-x_1} f(x2)−f(x1)y−f(x1)=x2−x1x−x1由于弦上的点不小于对应曲线上的点,令 0 < λ < 1 0\lt\lambda\lt1 0<λ<1, x = x 1 + λ ( x 2 − x 1 ) x=x_1+\lambda(x_2-x_1) x=x1+λ(x2−x1),得
y ≥ f ( x )    ⟹    f ( x 1 + λ ( x 2 − x 1 ) ) − f ( x 1 ) f ( x 2 ) − f ( x 1 ) ≤ x 1 + λ ( x 2 − x 1 ) − x 1 x 2 − x 1 y\geq f(x) \implies \frac{f(x_1+\lambda(x_2-x_1))-f(x_1)}{f(x_2)-f(x_1)}\leq\frac{x_1+\lambda(x_2-x_1)-x_1}{x_2-x_1} y≥f(x)⟹f(x2)−f(x1)f(x1+λ(x2−x1))−f(x1)≤x2−x1x1+λ(x2−x1)−x1因此 f ( x 1 + λ ( x 2 − x 1 ) ) ≤ f ( x 1 ) + λ ( f ( x 2 ) − f ( x 1 ) ) f(x_1+\lambda(x_2-x_1)) \leq f(x_1)+\lambda(f(x_2)-f(x_1)) f(x1+λ(x2−x1))≤f(x1)+λ(f(x2)−f(x1)),不等式得证。
2.1 凸函数性质
凸函数的局部极小点是全局极小点。
证明: 若 x ∗ \bm x^* x∗是凸函数 f ( x ) f(\bm x) f(x)的局部极小点,假设 ∃ x ^ ∈ S \exists\hat \bm x \in S ∃x^∈S,使得 f ( x ∗ ) > f ( x ^ ) f(\bm x^*) > f(\hat \bm x) f(x∗)>f(x^),则对任意 λ ∈ ( 0 , 1 ) \lambda \in(0, 1) λ∈(0,1),由凸集性质有
x ∗ + λ ( x ^ − x ∗ ) ∈ S \bm x^* + \lambda(\hat \bm x - \bm x^*) \in S x∗+λ(x^−x∗)∈S因此
f ( x ∗ + λ ( x ^ − x ∗ ) ) ≤ f ( x ∗ ) + λ [ f ( x ^ ) − f ( x ∗ ) ] < f ( x ∗ ) f(\bm x^* + \lambda(\hat \bm x - \bm x^*))\leq f(\bm x^*) + \lambda[f(\hat\bm x) - f(\bm x^*)] <f(\bm x^*) f(x∗+λ(x^−x∗))≤f(x∗)+λ[f(x^)−f(x∗)]<f(x∗)
上述不等式表明,对任意 λ ∈ ( 0 , 1 ) \lambda \in (0, 1) λ∈(0,1)都存在 f ( x ∗ + λ ( x ^ − x ∗ ) ) < f ( x ∗ ) f(\bm x^* + \lambda(\hat \bm x - \bm x^*)) \lt f(\bm x^*) f(x∗+λ(x^−x∗))<f(x∗),显然与 f ( x ∗ ) f(\bm x^*) f(x∗)是极小值矛盾。
2.2 一阶判别公式
设 f f f是定义在凸集 S S S上的可微函数,则 f f f为凸函数的充要条件是,对任意 x 1 , x 2 ∈ S \bm x_1, \bm x_2 \in S x1,x2∈S,有
f ( x 2 ) ≥ f ( x 1 ) + ∇ f ( x 1 ) T ( x 2 − x 1 ) f(\bm x_2)\geq f(\bm x_1)+\nabla f(\bm x_1)^T(\bm x_2 - \bm x_1) f(x2)≥f(x1)+∇f(x1)T(x2−x1)
一阶判别公式证明
必要性
由 f ( x 1 + λ ( x 2 − x 1 ) ) ≤ f ( x 1 ) + λ ( f ( x 2 ) − f ( x 1 ) ) f(x_1+\lambda(x_2-x_1)) \leq f(x_1)+\lambda(f(x_2)-f(x_1)) f(x1+λ(x2−x1))≤f(x1)+λ(f(x2)−f(x1)),得
f ( x 2 ) ≥ f ( x 1 ) + f ( x 1 + λ ( x 2 − x 1 ) ) − f ( x 1 ) λ ( x 2 − x 1 ) ( x 2 − x 1 ) f(x_2)\geq f(x_1)+\frac{f(x_1+\lambda(x_2-x_1))-f(x_1)}{\lambda (x_2-x_1)}(x_2-x_1) f(x2)≥f(x1)+λ(x2−x1)f(x1+λ(x2−x1))−f(x1)(x2−x1)显然当 λ → 0 \lambda \to 0 λ→0时, f ( x 2 ) ≥ f ( x 1 ) + f ′ ( x 1 ) ( x 2 − x 1 ) f(x_2)\geq f(x_1)+f'(x_1)(x_2-x_1) f(x2)≥f(x1)+f′(x1)(x2−x1),必要性得证。
充分性
由 f ( x ) ≥ f ( y ) + f ′ ( y ) ( x − y ) f(x)\geq f(y)+f'(y)(x-y) f(x)≥f(y)+f′(y)(x−y),因此
f ( x 1 ) ≥ f ( y ) + f ′ ( y ) ( x 1 − y ) , f ( x 2 ) ≥ f ( y ) + f ′ ( y ) ( x 2 − y ) f(x_1) \geq f(y)+f'(y)(x_1-y),\quad f(x_2) \geq f(y)+f'(y)(x_2-y) f(x1)≥f(y)+f′(y)(x1−y),f(x2)≥f(y)+f′(y)(x2−y)因此令 y = x 1 + λ ( x 2 − x 1 ) y=x_1+\lambda(x_2-x_1) y=x1+λ(x2−x1),上面左侧不等式两侧乘 ( 1 − λ ) (1-\lambda) (1−λ)、右侧不等式两侧乘 λ \lambda λ,合并两个不等式得
( 1 − λ ) f ( x 1 ) + λ f ( x 2 ) ≥ f ( y ) + f ′ ( y ) [ x 1 + λ ( x 2 − x 1 ) − y ] = f ( y ) (1-\lambda)f(x_1)+\lambda f(x_2) \geq f(y) + f'(y)[x_1+\lambda(x_2-x_1) - y]=f(y) (1−λ)f(x1)+λf(x2)≥f(y)+f′(y)[x1+λ(x2−x1)−y]=f(y)显然 f ( x 1 + λ ( x 2 − x 1 ) ) ≤ f ( x 1 ) + λ ( f ( x 2 ) − f ( x 1 ) ) f(x_1+\lambda(x_2-x_1)) \leq f(x_1)+\lambda(f(x_2)-f(x_1)) f(x1+λ(x2−x1))≤f(x1)+λ(f(x2)−f(x1)),充分性得证。
几何解释: ( x , f ( x ) ) (x, f(x)) (x,f(x))为曲线 f f f上一点, y y y为该点处的切线,则自变量 x x x增加 Δ x \Delta x Δx,对曲线 f f f和切线 y y y带来的变化分别为 Δ f \Delta f Δf和 Δ y \Delta y Δy,则
Δ f > Δ y \Delta f \gt \Delta y Δf>Δy
图 一元凸函数判别公式的几何意义
2.3 二阶判别公式
设 f f f是定义在凸集 S S S上的二阶可微函数,则 f f f为凸函数的充要条件是在任意 x ∈ S \bm x \in S x∈S处,Hesse矩阵半正定。
二阶判别公式证明
必要性
对任一点 x ∗ ∈ S \bm x^* \in S x∗∈S,存在 λ ∈ [ − δ , δ ] \lambda \in [-\delta, \delta] λ∈[−δ,δ],有 x ∗ + λ x ∈ S \bm x^* + \lambda \bm x \in S x∗+λx∈S,因此
f ( x ∗ + λ x ) ≥ f ( x ∗ ) + λ ∇ f ( x ∗ ) T x f(\bm x^* + \lambda \bm x) \geq f(\bm x^*) + \lambda \nabla f(\bm x^*)^T \bm x f(x∗+λx)≥f(x∗)+λ∇f(x∗)Tx由 f ( x ) f(\bm x) f(x)在点 x ∗ \bm x^* x∗处二次可微,则
f ( x ∗ + λ x ) = f ( x ∗ ) + λ ∇ f ( x ∗ ) T x + 1 2 λ 2 x T ∇ 2 f ( x ∗ ) x + o ( ∣ ∣ λ x ∣ ∣ 2 ) f(\bm x^* + \lambda \bm x)=f(\bm x^*) + \lambda \nabla f(\bm x^*)^T \bm x+\frac{1}{2}\lambda^2\bm x^T\nabla^2f(\bm x^*)\bm x + o(||\lambda \bm x||^2) f(x∗+λx)=f(x∗)+λ∇f(x∗)Tx+21λ2xT∇2f(x∗)x+o(∣∣λx∣∣2)故 1 2 λ 2 x T ∇ 2 f ( x ∗ ) x + o ( ∣ ∣ λ x ∣ ∣ 2 ) ≥ 0 \dfrac{1}{2}\lambda^2\bm x^T\nabla^2f(\bm x^*)\bm x + o(||\lambda \bm x||^2)\geq0 21λ2xT∇2f(x∗)x+o(∣∣λx∣∣2)≥0,因此
x T ∇ 2 f ( x ∗ ) x ≥ 0 \bm x^T\nabla^2f(\bm x^*)\bm x \geq 0 xT∇2f(x∗)x≥0即 ∇ 2 f ( x ∗ ) \nabla^2f(\bm x^*) ∇2f(x∗)半正定,必要性得证。
充分性
设Hesse矩阵 ∇ 2 f ( x ) \nabla^2f(\bm x) ∇2f(x)在每一点 x ∈ S \bm x\in S x∈S处半正定,对任意 x ∗ , x ∈ \bm x^*, \bm x\in x∗,x∈ 凸集 S S S,由中值定理得
f ( x ) = f ( x ∗ ) + ∇ f ( x ∗ ) T ( x − x ∗ ) + 1 2 ( x − x ∗ ) 2 ∇ 2 f ( x ^ ) ( x − x ∗ ) f(\bm x) = f(\bm x^*) + \nabla f(\bm x^*)^T(\bm x-\bm x^*)+\frac{1}{2}(\bm x-\bm x^*)^2\nabla^2f(\hat \bm x)(\bm x-\bm x^*) f(x)=f(x∗)+∇f(x∗)T(x−x∗)+21(x−x∗)2∇2f(x^)(x−x∗)其中 x ^ = x + λ ( x ∗ − x ) \hat \bm x=\bm x+\lambda(\bm x^*-\bm x) x^=x+λ(x∗−x),因此当 ∇ 2 f ( x ^ ) \nabla^2f(\hat \bm x) ∇2f(x^)半正定时,必有
( x − x ‾ ) T ∇ 2 f ( x ^ ) ( x − x ‾ ) ≥ 0 (x-\overline x)^T\nabla^2f(\hat x)(x-\overline x)\geq 0 (x−x)T∇2f(x^)(x−x)≥0故 f ( x ) ≥ f ( x ∗ ) + ∇ f ( x ∗ ) T ( x − x ∗ ) f(\bm x) \geq f(\bm x^*) + \nabla f(\bm x^*)^T(\bm x-\bm x^*) f(x)≥f(x∗)+∇f(x∗)T(x−x∗),充分性得证。
3 凸规划
考虑非线性规划问题
min f ( x ) x ∈ R n s.t. g i ( x ) ≤ 0 , i = 1 , ⋯   , m h j ( x ) = 0 , j = 1 , ⋯   , l \begin{aligned} \min &\quad f(\bm{x}) \quad \bm{x}\in\R^n\\ \text{s.t.} &\quad g_i(\bm{x}) \leq 0,\quad i=1,\cdots,m\\ &\quad h_j(\bm{x}) = 0,\quad j=1,\cdots,l\\ \end{aligned} mins.t.f(x)x∈Rngi(x)≤0,i=1,⋯,mhj(x)=0,j=1,⋯,l
设 f ( x ) f(\bm x) f(x)为凸函数, g i ( x ) g_i(\bm x) gi(x)为凸函数, h j ( x ) h_j(\bm x) hj(x)是线性函数,则问题的可行域为
S = { x ∣ g i ( x ) ≥ 0 , i = 1 , ⋯   , m ; h j ( x ) = 0 , j = 1 , ⋯   , l } S = \{ \bm x\ |\ g_i(\bm x)\geq 0, i= 1,\cdots, m;\ h_j(\bm x)=0, j = 1,\cdots,l\} S={x ∣ gi(x)≥0,i=1,⋯,m; hj(x)=0,j=1,⋯,l}
上述问题是求凸函数在凸集上的极小点,这类问题成为凸规划。
重要性质:凸规划的局部极小点就是全局极小点,证明见2.1。
凸集、凸函数与凸规划相关推荐
- 计算几何、凸集、凸函数、凸规划简介
计算几何.凸集.凸函数.凸规划简介目录 计算几何 计算几何理论中过两点的一条直线的表达式: 什么是仿射集 什么是凸集 三维空间的一个平面 超平面 凸函数 定义 Hessen矩阵的定义 判别方法 实例: ...
- 凸集+非凸集+凸函数+非凸函数
凸集+非凸集+凸函数+非凸函数 凸数据+非凸数据定义是什么? 什么是凸样本集和非凸样本集? 凸函数,非凸函数? 凸集的定义:集合C内的任意取两点,形成的线段均在集合C内,则称集合C为凸集.仿射集一定是 ...
- 凸优化基础学习:凸集、凸函数、凸规划理论概念学习
凸优化基础概念学习 1.计算几何是研究什么的? 2.计算几何理论中(或凸集中)过两点的一条直线的表达式,是如何描述的?与初中数学中那些直线方程有什么差异?有什么好处? 3.凸集是什么? 直线是凸集吗? ...
- 凸函数、凸规划的定义及学习
1.计算几何是研究什么的? 计算几何研究的对象是几何图形.早期人们对于图像的研究一般都是先建立坐标系,把图形转换成函数,然后用插值和逼近的数学方法,特别是用样条函数作为工具来分析图形,取得了可喜的成功 ...
- 凸集 凸函数 凸优化
目录 写在前面 精简版概念理解 凸集 凸集的性质 凸函数 凸函数性质 凸优化 为什么要求是凸集呢? 为什么要求是凸函数呢? 判断是否为凸函数的简单办法 为什么区分凸优化和非凸优化 非凸优化问题如何转为 ...
- 凸优化、最优化、凸集、凸函数
原文:https://www.cnblogs.com/AndyJee/p/5048735.html 我们知道压缩感知主要有三个东西:信号的稀疏性,测量矩阵的设计,重建算法的设计.那么,在重建算法中,如 ...
- 凸优化第一【凸集与凸优化简介】
[本文仅供学习记录,概无其他用处,一些图片资源来自网络,侵删] 凸优化是一个简单的优化问题,优化-数学规划概念相同,本课程主要学习的内容包括:凸集.凸函数.凸优化和有关凸优化的一些算法. 优化:从一个 ...
- 运筹优化(十二)--带约束非线性规划(NLP)
线性约束的非线性规划 许多可以被有效解决的大型非线性规划中所有或者几乎所有的约束,都是线性的.只是将目标函数扩展为非线性.相对来说容易解决. 下面四种规划是特殊的NLP问题 凸规划 若最优化问题的目标 ...
- 东北大学最优化方法与理论第一章知识点总结——预备知识
预备知识 一.基本概念 一般形式: 相关概念:不等式约束,等式约束,容许解或容许点,容许集,(非严格)局部极小点,严格局部极小点,(非严格)全局极小点,严格全局极小点,无约束问题,一维搜索或直线搜索. ...
最新文章
- 新僵尸病毒猖獗 Facebook成攻击目标
- 06_MyBatis,Spring,SpringMVC整合
- Greenplum,HAWQ interval parser带来的问题 - TPCH 测试注意啦
- python dataframe转图片_Python:dataframe转html
- linux下出现ping:unknown host www.baidu.com问题时的解决办法——ubuntu下局域网络的配置
- 技术 KPI 的量化
- NLP数据挖掘基础知识
- 【Flink】Flink 使用 CopyOnWriteArrayList 进行数据缓存的时候 一个bug
- vmware虚拟机里的LINUX不能上网的原因一:虚拟网卡设置
- ETC因背胶问题脱落,如何重新激活?
- java zip 流压缩_关于zip:检测流是否用Java压缩的最佳方法
- 区块链 分片sharding 网络分片 交易分片 状态分片 是什么
- 短信平台API接口集成指南
- 迭代模型(Iterative Model)
- Java面试之——Tomcat
- Mybatis学习笔记_5、Mybatis动态SQL
- excel怎么批量添加单位平方米㎡
- 轻流整体调研-v 1.0
- 2009年6月2日,博客近期所做的改动通报!
- monkey runner工具
热门文章
- Java十六:Scanner,配合hasNext()/hasNextInt()/hasNextFloat()....实现人机互动
- python tkinter怎么读_Tkinter是什么意思
- html的表单可以加背景图片,如何装饰表单的背景和字符
- Android练手小项目---仿凤凰新闻app
- Linux:如何在后台运行一个程序?
- 提高带宽利用率!为什么要Pacing?
- 查看Windows凭据和普通凭据的密码(查看Windows中存储的密码)——mimikatz
- 逗号表达式与赋值语句
- python数学建模--线性规划问题案例及求解
- 使用有道词典API做一个简单的翻译页面 HTML+JS+有道词典API(代码可直接运行)