1 基本性质和例子

1.1 凸函数

函数f:Rn→Rf:R^n \rightarrow R是凸的,如果dom f\mathbf{dom }\ f是凸集,且对于任意x,y∈dom fx,y \in \mathbf{dom }\ f和任意0≤θ≤10 \leq \theta \leq 1,有:
f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y)f(\theta x+(1-\theta)y) \leq \theta f(x)+(1-\theta)f(y),
则称为函数是凸的。
称函数ff是严格凸的,如果上式中不等式x≠yx \neq y 以及0<θ<10严格成立。
如果函数−f-f是凸的,则函数ff是凸的。
1.2 扩展值延伸

通常我们可以定义凸函数在定义域外的值为∞\infty,从而将这个凸函数延伸至全空间RnR^n。
如果ff是凸函数,我们定义凸函数的扩展值延伸f˜:Rn→R∪{∞}\widetilde{f}:R^n \rightarrow R\cup \{\infty\} 如下:

f~(x)={f(x)∞x∈dom fx∉dom f

\tilde{f}(x)=\left\{ \begin{align} f(x) & \quad x\in \mathbf{dom}\ f \\ \infty & \quad x\notin \mathbf{dom}\ f \end{align} \right.
延伸函数是定义在全空间 RnR^n上的,值域是 R∪{∞}R\cup\{\infty\}。
我们还可以从延伸函数 f~\tilde{f}的定义中找出原函数的定义域,即 dom f={x∣f~(x)<∞}\mathbf{dom}\ f =\{x \mid \tilde{f}(x)。
这样定义后,我们在描述不等式时就不需要限定定义域了。
比如对于上面的不等式,对于延伸函数,可以描述为:
对于任意 xx和yy,以及 0<θ<10,有:
f~(θx+(1−θ)y)≤θf~(x)+(1−θ)f~(y)\tilde{f}(\theta x+(1-\theta)y) \leq \theta \tilde{f}(x)+(1-\theta)\tilde{f}(y)
不引起歧义的情况下,以后将假设所有凸函数都被隐含的延伸了,不引起歧义的情况下, f~\tilde{f}将被简写为 ff。
1.3 一阶条件:

假设ff可微(即其梯度 ▽f\triangledown f在开集 dom f \mathbf{dom}\ f 内处处存在),则 ff是凸函数的充要条件:
1 dom f \mathbf{dom}\ f是凸集
2 ∀x,y∈domf⇒f(y)≥f(x)+▽f(x)T(y−x)\forall x,y \in \mathbf{dom} f\Rightarrow f(y) \geq f(x)+\triangledown f(x)^T(y-x)
一阶条件是充要条件。
对于严格凸函数的一阶条件,我们有:
1 dom f \mathbf{dom}\ f是凸集
2 ∀x,y∈domf,x≠y⇒f(y)≥f(x)+▽f(x)T(y−x)\forall x,y \in \mathbf{dom} f,x \neq y\Rightarrow f(y) \geq f(x)+\triangledown f(x)^T(y-x)
▽\triangledown算子的解释:
对于

x=⎡⎣⎢⎢⎢⎢x1x2⋮xn⎤⎦⎥⎥⎥⎥,▽f(x)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢∂f(x)∂x1∂f(x)∂x2⋮∂f(x)∂xn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

x=\begin{bmatrix} x_1 \\ x_2\\ \vdots\\ x_n \end{bmatrix},\triangledown f(x)=\begin{bmatrix} \frac{\partial f(x)}{\partial x_1} \\ \frac{\partial f(x)}{\partial x_2}\\ \vdots\\ \frac{\partial f(x)}{\partial x_n} \end{bmatrix}

(图片来自斯坦福Boyd Convex Optimization)
如果函数 ff是凸的且可微,那么对于任意x,y∈domfx,y \in \mathbf{dom} f,有 f(x)+▽f(x)T(y−x)≤f(y)f(x)+\triangledown f(x)^T (y-x) \leq f(y)
1.4 二阶条件:

假设函数ff二阶可微,函数ff是凸函数的充要条件是:其Hessian矩阵是半正定阵。即▽2f(x)⪰0\triangledown ^2 f(x) \succeq 0
黑塞矩阵定义:
严格凸的条件可以部分由二阶条件刻画。
如果对于任意x∈domfx \in \mathbf{dom} f,有▽2f(x)≻0\triangledown ^2 f(x) \succ 0,则函数ff严格凸。反过来不一定成立,例如,函数f:R→R,f(x)=x4f:R \rightarrow R, f(x)=x^4,它是严格凸的,但是不满足上述条件。
例:二次函数
对于函数f(x)=(1/2)xTPx+qTx+rf(x)=(1/2)x^TPx+q^Tx+r,▽2f(x)=P\triangledown ^2f(x)=P,所以ff是凸的⇔P⪰0\Leftrightarrow P\succeq 0
对于二次函数,严格凸比较好表达,可以推出:ff是凸的⇔P≻0\Leftrightarrow P\succ 0
无论应用一阶条件还是二阶条件,都必须提前验证定义域是凸的:
对于函数f=1xf=\frac{1}{x}因为定义域不是凸的,直接可以判断函数不是凸的。
关于矩阵的求导运算,请参阅矩阵理论课程。这里给出简要的一点介绍。
1.5 矩阵求导

1) 矩阵对标量求导
相当于矩阵中每个元素对标量求导:

2) 标量对矩阵求导
注意与上面不同,这次括号内是求偏导,对m×nm \times n矩阵求导后还是m×nm \times n矩阵

3) 函数矩阵YY对矩阵XX求导
矩阵YY对每一个XX的元素求导,构成一个超级矩阵。


其中:

重要结论:假设x⃗ \vec{x}是一个向量:

4) 向量积对列向量x⃗ \vec{x}求导运算法则
注意与标量有点不同,假设u⃗ ,v⃗ \vec{u},\vec{v}都是列向量,

5)重要结论

1.6 一些常见的例子

范数。RnR^n上的任意函数都是凸函数。
最大值函数是凸的,因为最大值函数可以看成是无穷维的范数。
范数是凸函数的证明可以直接用凸函数的定义加上三角不等式得出(简单的说,就是三角形两边之和大于第三边)。
二次线性分式函数f(x,y)=x2/y(y>0)f(x,y)=x^2/y (y>0)是凸的:

▽f(x,y)=2y3[y2−xy−xyx2]=2y3[y−x][y−x]T⪰0

\triangledown f(x,y)=\frac{2}{y^3}\begin{bmatrix} y^2 & -xy\\ -xy & x^2 \end{bmatrix}=\frac{2}{y^3}\begin{bmatrix} y\\ -x \end{bmatrix}\begin{bmatrix} y\\ -x \end{bmatrix}^T \succeq 0
指数和的对数: f(x)=log(ex1+⋯+exn)f(x)=log(e^{x_1}+\cdots+e^{x_n})是凸函数。
仿射函数既是凸函数,也是凹函数。
对于广义矩阵的乘法(仿射),对于 X∈Rm×n,f(X)=tr(ATX)+bX \in R^{m \times n},f(X)=tr(A^TX)+b,也既是凸函数也是凹函数。
几何平均 f(x)=(∏i=1nxi)1nf(x)=(\prod\limits_{i=1}^{n}x_i)^{\frac{1}{n}}是一个凹函数。
1.7 凸函数的仿射定理
对于函数 f:Rn→Rf:R^n \rightarrow R是凸函数当且仅当对:
g:R→R,g(t)=f(X+tV)g: R\rightarrow R , \quad g(t)=f(X+tV) domg={t∣X+tV∈domf}\mathbf{dom}g=\{t\mid X+tV \in \mathbf{dom} f\} 是凸的。(对于所有 X∈domf,V∈RnX \in \mathbf{dom} f,V \in R^n)
我们用这个定理证明下以下结论: f(X)=log detXf(X)=log \ detX 是凸的。
g(t)=log det(Z+tV),Z,V∈Sn,Z≻0g(t)=log \ det (Z+tV) ,Z,V \in S^n,Z \succ 0
   =log det(Z1/2(I+tZ−1/2VZ−1/2)Z1/2)\quad \ \ \ =log \ det (Z^{1/2}(I+tZ^{-1/2}VZ^{-1/2})Z^{1/2})
对于方阵,行列式的乘积等于乘积的行列式。
矩阵的行列式还等于矩阵特征值的乘积。所以:
   =∑i=1nlog(1+tλi)+log detZ\quad \ \ \ =\sum\limits_{i=1}^{n}log(1+t \lambda _i)+log \ det Z
其中 λ1,⋯λn \lambda _1,\cdots \lambda _n是矩阵 Z−1/2VZ−1/2Z^{-1/2}VZ^{-1/2}的特征值。
g′(t)=∑i=1nλi1+tλig'(t)=\sum\limits_{i=1}^{n}\frac{\lambda _i}{1+t \lambda _i}
g′′(t)=−∑i=1nλ2i(1+tλi)2≤0g''(t)=-\sum\limits_{i=1}^{n}\frac{\lambda _i ^2}{(1+t \lambda _i)^2} \leq 0
所以,原函数是凸的。
1.8 下水平集和上镜图

函数的下水平集定义为:
Cα={x∈domf∣f(x)≤α}C _ \alpha = \{x \in \mathbf{dom} f \mid f(x) \leq \alpha \}
下水平集是自变量的一个范围。一个凸函数的下水平集仍然是凸集,反之不成立。
函数的上镜图定义为:
epif={(x,t)∣x∈domf,f(x)≤t}\mathbf{epi} f=\{(x,t) \mid x \in \mathbf{dom} f,f(x) \leq t\}
上镜图是函数上方的一个范围。一个函数是凸函数,当且仅当其上镜图是凸集。
下图展示了上镜图的图片。

(图片来自斯坦福Boyd Convex Optimization)
(未完,待续)

凸函数1(斯坦福凸优化笔记5)相关推荐

  1. 【凸优化笔记二】凸函数基本性质和例子

    [凸优化笔记二]凸函数基本性质和例子 凸函数的四个定义 定义一 定义二 定义三 定义四 一些栗子 凸函数的四个定义 定义一 其中 dom fff 是函数 fff 的 定义域(前域),为凸集--这个很重 ...

  2. 凸优化笔记(1) —— 基本概念

    凸优化笔记 -- 基本概念之凸集 1. 数学优化 基本概念 2.1 凸优化问题 2.2 线性函数与凸函数 2.3 凸集 仿射集. 2.3.2 凸集 2.3.3锥 三种集合的比较: 基本准备 本科没学过 ...

  3. 中科大-凸优化 笔记(lec9)-广义不等式、分离与支撑超平面、对偶锥与广义不等式

    全部笔记的汇总贴(这一节的视频缺失):中科大-凸优化 内容是自己看书上的三节整理的,和前面几节一样,算是一些基础性的理论知识. 只能说这一块儿先就这样,后面的课程如果遇到需要进行补充学习的地方,再进行 ...

  4. 中科大-凸优化 笔记(lec25)-等价变换

    全部笔记的汇总贴(视频也有传送门):中科大-凸优化 ∇fT(x∗)(y−x)≥0\nabla f^T(x^*)(y-x)\ge0∇fT(x∗)(y−x)≥0线性规划的解在边界上 一.等价变换 例:食谱 ...

  5. 【凸优化笔记一】仿射集+凸集+锥

    [凸优化笔记一]仿射集+凸集+锥 引言 直线&线段 直线的定义 线段的定义 仿射集 Affine Sets 与C相关的子空间 线性方程组的解集是仿射集 零空间 仿射包 Affine Hull ...

  6. 中科大-凸优化 笔记(lec44)-一些上界下界及梯度下降

    全部笔记的汇总贴(视频也有传送门):中科大-凸优化 一.强凸性 假设 f ( x ) f(x) f(x)二阶可微且有强凸性 ∃ m > 0 , ∀ x ∈ d o m f , ∇ 2 f ( x ...

  7. 凸优化笔记(2)-凸函数的四种定义

    示性函数是凸函数 凸集C⊂RnC \subset R^nC⊂Rn fc(x)={无定义(做扩展的时候,一定要扩展到正无穷和无定义)X∈C0X∉Cf_c(x)= \begin{cases} 无定义(做扩 ...

  8. 凸优化笔记(非常零碎)

    1. Lipschitz Funcion(李比西斯函数) 对于不光滑(nonsomooth)的凸函数的分析引入了Lipschitz functions: 定义: 2.Nonexpansiveness ...

  9. 凸优化笔记6(共轭梯度法)

    前言 下面将介绍共轭梯度法,及其推导过程,迭代过程的公式为标红的1,2,3,4,并附有例题. 一.共轭梯度法简介 "共轭梯度法"是介于最速下降法与牛顿法之间的一个方法,它仅需利用一 ...

最新文章

  1. three相机在模型上_基于 three.js 的 3D 粒子动效实现
  2. html选择字段至左边的列表,css – 如何将列表项显示为保留从左到右顺序的列?...
  3. MySQL登陆时加-U选项
  4. Java当中TreeMap用法
  5. holer实现外网访问内网数据库
  6. 通过IF({1,0}和VLOOKUP函数实现Excel的双条件多条件查找的方法
  7. ios经验6:提交APP上架流程
  8. 史上最全idea插件开发入门实战(傻瓜式教程)
  9. ffmpeg 合并音乐+视频报错之[mp4 @ 000002b9bcfa1ec0] Non-monotonous DTS in output stream 0:1; previous: 1136042
  10. 1.删除链表的奇数节点 2.删除链表的偶数节点
  11. 5-29 止跌上涨中,关注明后两天能否创新高点
  12. 日语在线翻译网站大全
  13. 数据库_EXPLAIN(查询性能优化)
  14. 2013年中南大学研究生复试机试(1000~1004)
  15. 5个商用字体网站,建议收藏
  16. 文件批量重命名教程-批量重命名软件推荐
  17. 网络型PLC可编程控制/微机接口及微机应用综合实验装置
  18. 隐马尔科夫模型c#语言算法实现,HMM学习最佳范例四:隐马尔科夫模型
  19. HTML怎么去除描边,css中文字如何描边?
  20. 怎么彻底删除聊天记录?几种适合的办法交给你!

热门文章

  1. 2021-09-15 doc学习
  2. 如何刷新dns缓存 刷新dns缓存命令(ipconfig /flushdns)
  3. 安森美成像技术开启数字电影摄影新纪元
  4. WiFi 無法上網(Wi-Fi列表不見了)
  5. 【word不会用】两栏格式公式居中 编号右对齐
  6. 【校园二手物品交易平台】
  7. python的datetime.strptime_Python中的时间函数datetime.strptime()参数顺序的问题
  8. 【C语言你不知道的那些事儿】C语言Printf的用法以及如何打印%号
  9. ureport2 导出word合并单元格不兼容wps问题
  10. 如何快速提取PDF文件中的文字?