凸优化学习(一)凸集与凸函数、凸优化问题
4.1 凸集 convex sets
仿射集(Affine Sets):如果一个集合C∈RnC\in\mathbb{R}^nC∈Rn 是仿射的,则在C中两点的直线也在C中,若x1∈C,x2∈C,则x=θx1+(1−θ)x2∈C,θ∈Rx_1\in C,x_2\in C,则x=\theta x_1+(1-\theta)x_2\ \in C,\theta \in Rx1∈C,x2∈C,则x=θx1+(1−θ)x2 ∈C,θ∈R ,例如Ax=b的解集就是一个仿射集。
凸集:如果集合C∈RnC\in\mathbb{R}^nC∈Rn 是凸集,如果C中两点间的线段也在C中,即x=θx1+(1−θ)x2∈C,θ∈[0,1]x=\theta x_1+(1-\theta)x_2\ \in C,\theta \in [0,1]x=θx1+(1−θ)x2 ∈C,θ∈[0,1] 。注意θ\thetaθ 取值范围的不同。
常见的凸集:
所有Rn\mathbb{R}^nRn
所有R+n\mathbb{R}_+^nR+n
超平面(Hyperplane):C={x∣aTx=b}C=\{x|a^Tx=b\}C={x∣aTx=b} 既是仿射集又是凸集
半空间(Halfspace)C={x∣aTx≥b}或C={x∣aTx≤b}C=\{x|a^Tx\ge b\}或C=\{x|a^Tx\le b\}C={x∣aTx≥b}或C={x∣aTx≤b} 只是凸集
范数球:满足 ∥x∥p≤1,p≥1\|x\|_p \le 1,\quad p\ge1∥x∥p≤1,p≥1的集合称为范数球。(依据范数的三角不等式可证)
但是∥x∥p=1,p≥1\|x\|_p = 1,\quad p\ge1∥x∥p=1,p≥1 不是凸集。当0<p<10<p<10<p<1 时, ∥x∥p≤1\|x\|_p \le 1∥x∥p≤1 也不是凸集。
多面体(polyhedron):有限个半空间和超平面的交集。(凸集的交集是凸集)
P={x∣Ax≤b,Cx=d},A∈Rm×n,b∈Rm,C∈Rp∗n,d∈RpP=\{x|Ax\le b, Cx=d\},A\in R^{m\times n},b\in R^m, C \in R^{p*n}, d \in R^pP={x∣Ax≤b,Cx=d},A∈Rm×n,b∈Rm,C∈Rp∗n,d∈Rp , 由于A,C都是矩阵,因此对应了有限个半空间和超平面。
凸集的性质:
凸集的交集是凸集。
凸集的并集不一定是凸集。
4.2 凸函数
一个函数f:Rn→Rf:R^n \to Rf:Rn→R 被称为凸函数,如果:
- f的定义域dom(f)dom(f)dom(f) 是凸集
- 对于任何x,y∈dom(f),0≤θ≤1,有f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y)x,y \in dom(f), 0\le \theta \le 1, 有f(\theta x+(1-\theta)y)\le \theta f(x)+(1-\theta)f(y)x,y∈dom(f),0≤θ≤1,有f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9jtMZpXJ-1588902997776)(http://ovra6ykmb.bkt.clouddn.com/2018-06-27-17-11-42.png)]
几何解释:函数值小于连接函数值的线段的值。
凸函数的充要条件
一阶充要条件:$f(x_1)\ge f(x)+\nabla^Tf(x)(x_1-x) $ 对于所有x1,xx_1,xx1,x 均成立。
二阶充要条件:如果函数f二阶可导,则凸函数的充要条件为:H(x)⪰0H(x) \succeq 0H(x)⪰0 即Hessian矩阵半正定。(如果是正定的,则是严格凸函数。半负定,则是凹函数)
在实际使用中,使用二阶充要条件比较好用。
证明:凸函数的局部最优解就是全局最优解。
假定x∗x^*x∗ 是局部最优解,则在x∗x^*x∗ 的邻域内的点z有f(x∗)≤f(z)f(x^*) \le f(z)f(x∗)≤f(z) 。假设y点为可行域内的任意一点,则z=(1−t)x∗+t)y,t∈[0,1]z=(1-t)x^*+t)y,\quad t\in [0,1]z=(1−t)x∗+t)y,t∈[0,1] ,通过调整t的值,可以使得z保持在x∗x^*x∗ 的邻域内。根据凸函数定义:
f(x∗)≤f(z)=f(tx∗+(1−t)y)≤tf(x∗)+(1−t)f(y)f(x^*)\le f(z)=f(tx^*+(1-t)y)\le tf(x^*)+(1-t)f(y)f(x∗)≤f(z)=f(tx∗+(1−t)y)≤tf(x∗)+(1−t)f(y)
化简上面的不等式有:f(x∗)≤f(y)f(x^*) \le f(y)f(x∗)≤f(y)
由于y为任意一点,因此x∗x^*x∗ 也是全局最优解。
常见凸函数
- ax+b: 既是凸函数,也是凹函数
- x2x^2x2 凸函数
- eαxe^{\alpha x}eαx 凸函数
- -log(x) 凸函数,x>0
- −xlogx,x≥0-xlogx,x\ge 0−xlogx,x≥0 凸函数
- f(x)=aTx+bf(x)=a^Tx+bf(x)=aTx+b 凸函数、凹函数
- f(x)=xTPx+2qTx=r,当且仅当P⪰0时是凸函数f(x)=x^TPx+2q^Tx=r, 当且仅当P \succeq 0时是凸函数f(x)=xTPx+2qTx=r,当且仅当P⪰0时是凸函数, 特别地f(x)=xTxf(x)=x^Txf(x)=xTx 是凸函数(2范数是凸函数)
凸函数的性质
f(x)是凸函数,则f(Ax+b)也是凸函数。例如∥y−Ax∥2\|y-Ax\|_2∥y−Ax∥2
如果g(x),h(x)是凸函数,h函数是非递减函数,则f(x)=h(g(x))f(x)=h(g(x))f(x)=h(g(x)) 是凸函数。例如:g(x)=∥y−Ax∥2,h(x)=x2在x≥0上非递减g(x)=\|y-Ax\|_2,h(x)=x^2\quad在x\ge 0上非递减g(x)=∥y−Ax∥2,h(x)=x2在x≥0上非递减, 则f(x)=∥y−Ax∥22f(x)=\|y-Ax\|^2_2f(x)=∥y−Ax∥22 是凸函数。
f1,...,fmf_1,...,f_mf1,...,fm 是凸函数,w1,...,wm≥0w_1,...,w_m\ge 0w1,...,wm≥0 ,则$\sum_{i=1}^{m}w_if_i $ 是凸函数,例如:
f(x)=∥y−Ax∥22+λ∥x∥22f(x)=\|y-Ax\|^2_2+\lambda \|x\|^2_2f(x)=∥y−Ax∥22+λ∥x∥22 是凸函数。(L2正则化项)
逐点最大:f1,...,fmf_1,...,f_mf1,...,fm 是凸函数,则f(x)=max{f1(x),...,fm(x)}f(x)=max\{f_1(x),...,f_m(x)\}f(x)=max{f1(x),...,fm(x)} 是凸函数。例如,f(x,y)f(x,y)f(x,y) 对于每个y∈Ay \in Ay∈A 都是凸函数,则supy∈Af(x,y)sup_{y\in A}f(x,y)supy∈Af(x,y) 是凸函数(f(x,y)的上确界,可以类比最大值)。
凸函数和凸集的关系
α\alphaα 水平集或下水平集
一元函数f的α\alphaα 水平集为:Sα={x∣f(x)≤α}S_{\alpha}=\{x|f(x)\le \alpha\}Sα={x∣f(x)≤α}
如果f为凸函数,则 对每个α{\alpha}α ,SαS_{\alpha}Sα都是凸集。反之则不成立。
4.3 凸优化问题
对于一般优化问题:
minimizef0(x)subjecttofi(x)≤0fori=1,2,...,mhi(x)=0fori=1,2,...,p\begin{array}{l}minimize & f_0(x)\\subject to & f_i(x)\le 0 \quad for i=1,2,...,m\\&h_i(x)=0 \quad for i=1,2,...,p\end{array} minimizesubjecttof0(x)fi(x)≤0fori=1,2,...,mhi(x)=0fori=1,2,...,p
如果f0(x)f_0(x)f0(x) 是凸函数,且可行域是凸集,则上述优化问题是凸优化问题。因此,凸优化问题是在凸集上极小化一个凸的目标函数。
凸优化问题要求(可行域是凸集):
- 不等式约束函数必须是凸的。(若fi(x)f_i(x)fi(x) 是凸函数,则不等式约束为下水平集,是凸集。)
- 等式约束函数必须是仿射的。
凸优化问题的最优值写为:p∗=min{f0(x):fi(x)≤0,hi(x)=0}p^*=min\{f_0(x):f_i(x) \le 0,h_i(x)=0\}p∗=min{f0(x):fi(x)≤0,hi(x)=0} ,可能的取值为:
- p∗=+∞p^*=+\inftyp∗=+∞ 不可行(可行域为空集)
- p∗=−∞p^*=-\inftyp∗=−∞ 称为unbounded below (存在可行点使得f0(x)→∞f_0(x) \to \inftyf0(x)→∞ )
- f0(x∗)=p∗f_0(x^*)=p^*f0(x∗)=p∗
凸优化问题的重要结论
凸优化问题局部最优就是全局最优
局部最优点x指:存在R>0R>0R>0 ,对于所有可行点z,且有∥x−z∥2≤R\|x-z\|_2 \le R∥x−z∥2≤R ,满足f0(x)≤f0(z)f_0(x) \le f_0(z)f0(x)≤f0(z)
全局最优点x指,对于所有可行点,满足f0(x)≤f0(z)f_0(x) \le f_0(z)f0(x)≤f0(z)
反证法证明:
x∗x^*x∗ 是凸优化问题的局部最优点,假设存在一点x′x'x′ 使得f0(x∗)>f0(x′)f_0(x^*) \gt f_0(x')f0(x∗)>f0(x′) ,则由于f0f_0f0 是凸函数:
f0(tx∗+(1−t)x′)≤tf(x∗)+(1−t)f(x′)f_0(tx^*+(1-t)x')\le tf(x^*)+(1-t)f(x')f0(tx∗+(1−t)x′)≤tf(x∗)+(1−t)f(x′)
当(1-t)很小时,∥x−(tx∗+(1−t)x′)∥2≤R\|x-(tx^*+(1-t)x')\|_2\le R∥x−(tx∗+(1−t)x′)∥2≤R ,则$f_0(x^)\le f_0(tx^+(1-t)x’) $
可以得到f0(x∗)≤f0(x′)f_0(x^*)\le f_0(x')f0(x∗)≤f0(x′) ,这与假设条件相违背,因此,不存在一点x′x'x′ 使得f0(x∗)>f0(x′)f_0(x^*) \gt f_0(x')f0(x∗)>f0(x′),即 x∗x^*x∗ 是全局最优点。
典型凸优化问题
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W4vgZlac-1588902997779)(http://ovra6ykmb.bkt.clouddn.com/2018-06-27-18-23-58.png)]
实例
形式转换成凸优化问题
将本质是凸优化问题的问题,从形式上转换为凸优化问题。
对于以下问题,通过定义矩阵和向量的方式,转换为标准的凸优化问题,便于利用软件包进行求解。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fhQjfYdO-1588902997781)(http://ovra6ykmb.bkt.clouddn.com/2018-06-27-18-54-10.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gLLklZ5P-1588902997783)(http://ovra6ykmb.bkt.clouddn.com/2018-06-27-18-54-27.png)]
CVX软件包
欢迎关注
凸优化学习(一)凸集与凸函数、凸优化问题相关推荐
- Convex Optimization 凸优化学习 第三章 凸函数(一)
1. 基本性质 1.1 凸函数的定义 凸函数定义:函数 是凸的,如果 是凸集,且对于任意 和任意 有 严格凸定义:就是在凸函数基础上, 且 ,有 是凹的,如果 是凸的: 是严格凹的,如果 ...
- 凸优化基础学习:凸集、凸函数、凸规划理论概念学习
凸优化基础概念学习 1.计算几何是研究什么的? 2.计算几何理论中(或凸集中)过两点的一条直线的表达式,是如何描述的?与初中数学中那些直线方程有什么差异?有什么好处? 3.凸集是什么? 直线是凸集吗? ...
- 【凸优化学习笔记1】什么是优化、优化的数学表达形式、优化问题的分类
参考资料: 1.凌青老师的凸优化课(b站) 2.Stephen Boyd的<凸优化>中译本(清华大学出版社) 文章目录 什么是优化(Optimization) 优化问题的数学表达形式 举例 ...
- 最优化理论基础与方法学习笔记——凸集与凸函数以及手写定理证明
文章目录 凸集的定义 凸集的几何意义 有关凸集的定理 定理1.4.2 内点.边界点和闭包的定义 定义1.4.3 超平面的定义 定理1.4.3 投影定理 定理1.4.4 点与凸集的分离定理 定理1.4. ...
- 凸优化学习(二)——凸集
注意,本文内容来自于吴恩达老师cs229课堂笔记的中文翻译项目:https://github.com/Kivy-CN/Stanford-CS-229-CN 中的凸优化部分的内容进行翻译学习. 2. 凸 ...
- 凸优化学习:PART1凸集
凸优化学习PART1 一.引言:优化问题简介 优化问题的定义 凸优化是优化的一种,是优化中比较容易的问题.在讲解优化问题前,首先说明什么是优化/数学规划(Optimization/Mathematic ...
- 凸优化学习笔记 11:对偶原理 拉格朗日函数
前面讲了凸优化问题的定义,以及一些常见的凸优化问题类型,这一章就要引入著名的拉格朗日函数和对偶问题了.通过对偶问题,我们可以将一些非凸问题转化为凸优化问题,还可以求出原问题的非平凡下界,这对复杂优化问 ...
- 凸优化学习笔记 15:梯度方法
前面的章节基本上讲完了凸优化相关的理论部分,在对偶原理以及 KKT 条件那里我们已经体会到了理论之美!接下来我们就要进入求解算法的部分,这也是需要浓墨重彩的一部分,毕竟我们学习凸优化就是为了解决实际当 ...
- 凸集 凸函数 凸优化
目录 写在前面 精简版概念理解 凸集 凸集的性质 凸函数 凸函数性质 凸优化 为什么要求是凸集呢? 为什么要求是凸函数呢? 判断是否为凸函数的简单办法 为什么区分凸优化和非凸优化 非凸优化问题如何转为 ...
- 凸集、凸函数、凸优化问题 概念关联
参考我的博客:http://blog.csdn.net/GoodShot/article/details/79162032 机器学习中,经常会用到凸集.凸函数.凸优化问题. 这里对这些概念进行介绍,简 ...
最新文章
- jQuery 事件用法详解
- 云炬随笔20211017(1)
- 关于KVM的几篇细节文档
- php仿微信朋友圈网站源码,Smobiler仿微信朋友圈的消息代码实例
- vue联动切换搜索域
- CoolUIViewAnimations
- OpenShift 4 - DevSecOps - 视频
- 输入框中提示信息(html5)
- html监控服务器状态,HTML5-WebSocket实现对服务器CPU实时监控
- 为什么企业越来越重视数据分析与挖掘?
- bzoj 1119 [POI2009] SLO bzoj 1697 牛排序 —— 置换+贪心
- android的scrollview视图内部的子视图中android:layout_height=fill_parent无效的解决办法...
- Ubuntu 软件包管理 常用 apt 命令
- 基于物理的体积光实现
- 应用ImageJ对荧光图片进行半定量分析
- 省时又省力的次世代角色流程也太!香!了!
- vscode markdown preview enhanced css font
- opend和open的区别_open 和 opened 的具体区别~~
- 计算机工作流程新图,工作流程责任分工.doc
- 115-545-003丨Alexa Fluor 488标记亲和纯化山羊抗小鼠IgG(H+L)二抗
热门文章
- 2021 SNEC圆满落幕,新视智科携光伏玻璃智能检测解决方案闪耀申城
- 机器人操作臂运动学入门一--D-H参数标定
- 最热门的旅游目的地:1971年至2011年
- getMonth()方法
- ZYNQ7000 学习(二十五)纯PL 实现独立显存VGA驱动并显示画面
- js 根据公历日期 算出农历_利用Javascript获取当前日期的农历日期
- 全球与中国自动识别系统单元市场深度研究分析报告
- ttk progress bar的显示
- 小技巧给网页减肥 让网站访问提速
- php 页面日历形式显示,日历页面展示-PHP制作阴阳历转换的日历插件-PHP中文网教程...