【凸优化学习笔记3】几种重要的凸集
参考资料:
1.凌青老师的凸优化课(b站)
2.Stephen Boyd的《凸优化》中译本(清华大学出版社)
全部使用LaTex公式书写
文章目录
- 仿射集、凸集、凸锥总结
- 几种重要的凸集
- 空集、单点集、n维空间和子空间、直线和线段、射线
- 超平面与半空间
- 球和椭球
- 多面体(polyhedron)
- 单纯形(Simplex)
- 对称矩阵集合
仿射集、凸集、凸锥总结
上一篇文章讲到9个概念:
仿射集、凸集、凸锥(集)
仿射组合、凸组合、凸锥组合
仿射包、凸包、凸锥包
要从组合的概念切入去理解。
因为集是从组合定义的,包是从组合构造的。
设一个集合CCC中取任意kkk个点 x1,...,xkx_1,...,x_kx1,...,xk,且选取 θ1,...,θk∈R{\theta}_1,...,{\theta}_k\in\mathbf{R}θ1,...,θk∈R,
我们构造新点:θ1x1+⋯+θkxk\theta_{1} x_{1}+\cdots+\theta_{k} x_{k}θ1x1+⋯+θkxk
对于这个新点,根据系数条件不同有:
新点的组合类型 | 条件 |
---|---|
仿射组合 | θ1+...+θk=1{\theta}_1+...+{\theta}_k=1θ1+...+θk=1 |
凸组合 | θ1+...+θk=1{\theta}_1+...+{\theta}_k=1θ1+...+θk=1,θ1+...+θk⩾0{\theta}_1+...+{\theta}_k\geqslant0θ1+...+θk⩾0 |
凸锥组合 | θ1+...+θk⩾0{\theta}_1+...+{\theta}_k\geqslant0θ1+...+θk⩾0 |
有了组合的概念,就能定义集。比如一个集合中任意点的仿射组合还在这个集合中,这个集合就是一个仿射集。
有了组合的概念,我们还能定义包。比如一个集合中任意点的凸组合,可构造出这个集合的凸包。
几种重要的凸集
空集、单点集、n维空间和子空间、直线和线段、射线
①空集
空集是仿射集、凸集、凸锥。
②单点集
一个点的集合(单点集)是仿射集、凸集,但不是凸锥。除非这个点是原点。
③Rn\mathbf{R}^{n}Rn空间和子空间
一个Rn\mathbf{R}^{n}Rn空间是仿射集、凸集、凸锥。
对于一个Rn\mathbf{R}^{n}Rn空间的子空间,它满足加法和数乘封闭。也就是过原点。
所以一个Rn\mathbf{R}^{n}Rn空间的子空间是仿射集、凸集、凸锥。
④直线和线段
直线是仿射集。
如果直线过原点,它才是凸集、凸锥。
(直线如果过原点,那么它是一个高维空间的低维子空间,它一定是个凸锥)
线段一定是凸集,但不是仿射集、凸锥。
只有当线段退化成一个点,才会变成一个仿射集;当这个点是原点,才会变成一个凸锥。
⑤射线
即{x0+θv∣θ⩾0},v≠0\left\{x_{0}+\theta v \mid \theta \geqslant 0\right\}, v \neq 0{x0+θv∣θ⩾0},v=0
它是凸集,但不是仿射集。
且只有当x0x_{0}x0是原点才是凸锥。
超平面与半空间
超平面(hyperplane)
即与给定向量aaa内积为常数的点的集合:
{x∣aTx=b},a∈Rn,a≠0且b∈R\left\{x \mid a^{T} x=b\right\},a \in \mathbf{R}^{n}, a \neq 0 且 b \in \mathbf{R}{x∣aTx=b},a∈Rn,a=0且b∈R
以二维空间为例:
图左有一个超平面aTx=ba^{T} x=baTx=b,是一条直线。
这条直线(超平面)将这个二维空间分成了两部分:{x∣aTx⩾b}\left\{x \mid a^{T} x\geqslant b\right\}{x∣aTx⩾b}、{x∣aTx<b}\left\{x \mid a^{T} x< b\right\}{x∣aTx<b}
每个部分就是一个半空间(half space)。
一个超平面是一个仿射集、凸集,但不是一个凸锥。
如果这个超平面过原点,它才是一个凸锥(变成子空间了)。
半空间是一个凸集,但不是仿射集,也不是凸锥。
球和椭球
这里的球和椭球是定义在欧几里得空间中的。
球的定义:
B(xc,r)={x∣∥x−xc∥2⩽r}={x∣(x−xc)T(x−xc)⩽r2}B\left(x_{c}, r\right)=\left\{x \mid\left\|x-x_{c}\right\|_{2} \leqslant r\right\}=\left\{x \mid\left(x-x_{c}\right)^{T}\left(x-x_{c}\right) \leqslant r^{2}\right\} B(xc,r)={x∣∥x−xc∥2⩽r}={x∣(x−xc)T(x−xc)⩽r2}
其中xcx_{c}xc是球心,rrr是半径。即到球心距离小于半径的所有点集,这个距离是用二范数定义的。
球是一个凸集。
可用凸集的定义来证明,证明集合中任意两点的凸组合在集合内。
证明(证明过程中使用了三角不等式的性质):
椭球的定义:
E={x∣(x−xc)TP−1(x−xc)⩽1}\mathcal{E}=\left\{x \mid\left(x-x_{c}\right)^{T} P^{-1}\left(x-x_{c}\right) \leqslant 1\right\} E={x∣(x−xc)TP−1(x−xc)⩽1}
这是椭球的一个加权二范数形式的表达,中间有一个矩阵P。
xcx_{c}xc是椭球的中心。
P是一个对称正定矩阵,即P=PT≻0P=P^{T} \succ 0P=PT≻0。
(注:正定矩阵:奇异值都为正的矩阵。奇异值:eig(ATA)\sqrt{eig(A^TA)}eig(ATA) )
P决定了椭球从xcx_{c}xc向各个方向扩展的幅度。
假设二维空间的情况下,P的两个奇异值即为椭球的半轴长。
举个简单的例子,P为对角二阶方阵(可直接得出奇异值):
此外,如果设 P=r2InP=r^2I_nP=r2In(InI_nIn为n阶单位矩阵),椭球就退化成一个球。
椭球也是一个凸集。
多面体(polyhedron)
多面体常用于线性规划。
多面体被定义为有限个线性等式和不等式的解集。
P={x∣ajTx⩽bj,j=1,⋯,m,cjTx=dj,j=1,⋯,p}\mathcal{P}=\left\{x \mid a_{j}^{T} x \leqslant b_{j}, j=1, \cdots, m, c_{j}^{T} x=d_{j}, j=1, \cdots, p\right\} P={x∣ajTx⩽bj,j=1,⋯,m,cjTx=dj,j=1,⋯,p}
看上面的式子,可理解为多个半空间和超平面的交集。
比如下图是由5个半空间的交集构成的多面体:
多面体是凸集。
单纯形(Simplex)
在Rn\mathbf{R}^{n}Rn空间中选择 v0,...,vkv_0,...,v_kv0,...,vk 共 k+1k+1k+1 个点,
若v1−v0,...,vk−v0v_1-v_0,...,v_k-v_0v1−v0,...,vk−v0 线性无关,
则与上述点相关的单纯形为:
C=conv{v0,⋯,vk}={θ0v0+⋯+θkvk∣θ⪰0,1Tθ=1}C=\operatorname{conv}\left\{v_{0}, \cdots, v_{k}\right\}=\left\{\theta_{0} v_{0}+\cdots+\theta_{k} v_{k} \mid \theta \succeq 0, \mathbf{1}^{T} \theta=1\right\} C=conv{v0,⋯,vk}={θ0v0+⋯+θkvk∣θ⪰0,1Tθ=1}
(式中 θ\thetaθ 代表了所有θ\thetaθ组成的向量,用于表示都是非负的;1\mathbf{1}1代表了k个1组成的向量,用于表示加和为1)
可见单纯形是一个基于空间中选取点集构造的凸包。
可以推出,k一般≤n维数。单纯型也称为Rn\mathbf{R}^{n}Rn空间的k维单纯形。
1维单纯形是一条线段;2维单纯型是一个三角形(包含内部);3维单纯形是一个四面体。
举个2维空间中的2维单纯形例子:
(右图,k不能取到3,因为2维空间中三个向量必定线性相关)
重要结论:
单纯形是多面体的一种。即单纯形可用多面体的形式表达。
这个结论在直观上比较容易想象,比如2维空间的三角形,3维空间的四面体。
下面证明一下。
证明:Simplex是Polyhedron的一种。即Simplex可以用Polyhedron的形式表达出来。
对于C=conv{v0,⋯,vk}={θ0v0+⋯+θkvk∣θ⪰0,1Tθ=1}C=\operatorname{conv}\left\{v_{0}, \cdots, v_{k}\right\}=\left\{\theta_{0} v_{0}+\cdots+\theta_{k} v_{k} \mid \theta \succeq 0, \mathbf{1}^{T} \theta=1\right\}C=conv{v0,⋯,vk}={θ0v0+⋯+θkvk∣θ⪰0,1Tθ=1},
我们知道CCC是Rn\mathbf{R}^{n}Rn空间中的k维单纯形。
即证:对于任意x∈Cx\in Cx∈C,都可以用一组线性不等式和等式来表示。
↓
根据单纯形定义,x∈Cx\in Cx∈C可知:x=θ0v0+θ1v1+⋯+θkvkx=\theta_{0} v_{0}+\theta_{1} v_{1}+\cdots+\theta_{k} v_{k}x=θ0v0+θ1v1+⋯+θkvk,θ⪰0,1Tθ=1\theta \succeq 0, \mathbf{1}^{T} \theta=1θ⪰0,1Tθ=1
∵ 1Tθ=1\mathbf{1}^{T} \theta=11Tθ=1
∴ xxx右边构造成:
x=(1−θ1−...−θk)v0+θ1v1+⋯+θkvkx=(1-\theta_{1}-...-\theta_{k}) v_{0}+\theta_{1} v_{1}+\cdots+\theta_{k} v_{k}x=(1−θ1−...−θk)v0+θ1v1+⋯+θkvk
=v0+θ1(v1−v0)+...+θk(vk−v0)=v_{0}+\theta_{1}(v_{1}-v_{0})+...+\theta_{k}(v_{k}-v_{0})=v0+θ1(v1−v0)+...+θk(vk−v0)
我们定义 y=(θ1,⋯,θk)y=\left(\theta_{1}, \cdots, \theta_{k}\right)y=(θ1,⋯,θk),B=[v1−v0⋯vk−v0]∈Rn×kB=\left[\begin{array}{lll}v_{1}-v_{0} & \cdots & v_{k}-v_{0}\end{array}\right] \in \mathbf{R}^{n \times k}B=[v1−v0⋯vk−v0]∈Rn×k
∴ 可得式子:x=v0+Byx=v_{0}+B yx=v0+By
∵ v1−v0,...,vk−v0v_1-v_0,...,v_k-v_0v1−v0,...,vk−v0 线性无关
∴ rank(B)=krank(B)=krank(B)=k(即矩阵B的秩为k,为一个n行k列的列满秩矩阵)
对于一个列满秩矩阵,我们可以通过初等行变换,变换成这样一个矩阵:
[Ik×k0(n−k)×k]\left[\begin{array}{l}I^{k \times k} \\ 0^{(n-k) \times k}\end{array}\right][Ik×k0(n−k)×k]
∴ 一定存在这样一个变换矩阵,我们设变换矩阵为An×nA^{n \times n}An×n(一个可逆的方阵),A可以分成上下两个分块A1,A2A_1,A_2A1,A2,即:
AB=[A1k×nA2(n−k)×n]B=[I0]A B=\left[\begin{array}{l}A_{1}^{k \times n} \\ A_{2}^{(n-k) \times n}\end{array}\right] B=\left[\begin{array}{l}I \\ 0\end{array}\right]AB=[A1k×nA2(n−k)×n]B=[I0]
那么我们把式子x=v0+Byx=v_{0}+B yx=v0+By左乘AAA:
Ax=Av0+AByA x=A v_{0}+AByAx=Av0+ABy
把AAA拆分为上下分块A1,A2A_1,A_2A1,A2后,分开来写,得到:
A1x=A1v0+y,A2x=A2v0A_{1} x=A_{1} v_{0}+y, \quad A_{2} x=A_{2} v_{0}A1x=A1v0+y,A2x=A2v0 这两个式子
∵ yyy是我们设的一个变量(θ1,⋯,θk)\left(\theta_{1}, \cdots, \theta_{k}\right)(θ1,⋯,θk),由于里面没有θ0{\theta}_0θ0
∴ 可得到 y⪰0y \succeq 0y⪰0,1Ty⩽1\mathbf{1}^{T} y \leqslant 11Ty⩽1 这两个不等式条件
因此,代入上面两个式子中第一个式子;再加上第二个式子,可得:
①A1x⪰A1v0A_{1} x \succeq A_{1} v_{0}A1x⪰A1v0
②1TA1x⩽1+1TA1v0\mathbf{1}^{T} A_{1} x \leqslant 1+\mathbf{1}^{T} A_{1} v_{0}1TA1x⩽1+1TA1v0
③A2x=A2v0A_{2} x=A_{2} v_{0}A2x=A2v0
这三个式子是xxx的线性等式和不等式,故其描述了一个多面体,得证。
对称矩阵集合
来看下面三个对称n×n{n \times n}n×n矩阵的集合:
对称矩阵集合:
Sn={X∈Rn×n∣X=XT}\mathbf{S}^{n}=\left\{X \in \mathbf{R}^{n \times n} \mid X=X^{T}\right\}Sn={X∈Rn×n∣X=XT}
对称半正定矩阵的集合:
S+n={X∈Sn∣X⪰0}\mathbf{S}_{+}^{n}=\left\{X \in \mathbf{S}^{n} \mid X \succeq 0\right\}S+n={X∈Sn∣X⪰0}
(符号 ⪰\succeq⪰ 的意思是矩阵所有特征值都大于等于0)
对称正定矩阵的集合:
S++n={X∈Sn∣X≻0}\mathbf{S}_{++}^{n}=\left\{X \in \mathbf{S}^{n} \mid X \succ 0\right\}S++n={X∈Sn∣X≻0}
这三个矩阵是否是凸集呢?矩阵是难以进行空间想象的。
我们先研究对称半正定矩阵集合 S+n\mathbf{S}_{+}^{n}S+n。
结论:对称半正定矩阵集合 S+n\mathbf{S}_{+}^{n}S+n是一个凸锥。
证明:
取任意系数θ1,θ2⩾0\theta_{1},\theta_{2}\geqslant0θ1,θ2⩾0,并取任意矩阵A,B∈S+nA, B \in \mathbf{S}_{+}^{n}A,B∈S+n,即证:
θ1A+θ2B∈S+n\theta_{1} A+\theta_{2} B \in \mathbf{S}_{+}^{n}θ1A+θ2B∈S+n
根据半正定矩阵的定义,我们有:
xTAx⩾0x^{T} A x\geqslant0xTAx⩾0,xTBx⩾0x^{T} B x\geqslant0xTBx⩾0
那么xT(θ1A+θ2B)x=θ1xTAx+θ2xTBx⩾0x^{T}\left(\theta_{1} A+\theta_{2} B\right) x=\theta_{1} x^{T} A x+\theta_{2} x^{T} B x \geqslant 0xT(θ1A+θ2B)x=θ1xTAx+θ2xTBx⩾0
证得 θ1A+θ2B\theta_{1} A+\theta_{2} Bθ1A+θ2B 是半正定矩阵。
又因为同形对称矩阵的数乘和加和不改变对称性,
所以矩阵 θ1A+θ2B\theta_{1} A+\theta_{2} Bθ1A+θ2B 是一个对称半正定矩阵,得证。
所以,
对称半正定矩阵集合 S+n\mathbf{S}_{+}^{n}S+n是一个凸锥。
对称矩阵集合 Sn\mathbf{S}^{n}Sn也是一个凸锥。(同形对称矩阵的数乘和加和不改变对称性)
然而,
对称正定矩阵集合S++n\mathbf{S}_{++}^{n}S++n 只是一个凸集,不是凸锥。
(可回到上面的证明,由于θ1,θ2\theta_{1},\theta_{2}θ1,θ2可取到0,因此根据正定矩阵定义,θ1A+θ2B\theta_{1} A+\theta_{2} Bθ1A+θ2B没办法证明大于0)
教材中举了2维空间中的半正定矩阵集合:
【凸优化学习笔记3】几种重要的凸集相关推荐
- 凸优化学习笔记 11:对偶原理 拉格朗日函数
前面讲了凸优化问题的定义,以及一些常见的凸优化问题类型,这一章就要引入著名的拉格朗日函数和对偶问题了.通过对偶问题,我们可以将一些非凸问题转化为凸优化问题,还可以求出原问题的非平凡下界,这对复杂优化问 ...
- 凸优化学习笔记:QP及SOCP问题
凸优化学习笔记:QP及SOCP问题 QP问题 定义 是什么 几何意义 QP.QCQP.LP之间的关系 例子 最小二乘及回归问题 多面体间距离 方差定界问题 基于随机费用的线性规划(考虑随机变量的优化问 ...
- 凸优化学习笔记 15:梯度方法
前面的章节基本上讲完了凸优化相关的理论部分,在对偶原理以及 KKT 条件那里我们已经体会到了理论之美!接下来我们就要进入求解算法的部分,这也是需要浓墨重彩的一部分,毕竟我们学习凸优化就是为了解决实际当 ...
- 数学不好是原罪——凸优化学习笔记(个人学习记录汇总)
中科大凸优化课程学习笔记 中科大凌青老师的课(现中山大学教授):中科大-凸优化 形而上学,不行退学,共勉!博客为个人手写笔记整理存档,不喜勿看. 凸优化学习笔记(一) 持续更新--
- 凸优化学习笔记(一)
文章目录 写在前面 仿射/凸/凸锥(集/组合/包) 几种重要的凸集:超平面与半空间/球和椭球/多面体/单纯形/对称(半)正定矩阵 凸集的交集,保凸运算:仿射函数/缩放和移位/透视函数/线性分段函数 凸 ...
- 凸优化学习笔记 10:凸优化问题
前面讲了那么多关于凸集.凸函数的知识,然而都是铺垫,现在我们才来到了这门课的重头戏部分--凸优化问题! 文章目录 1. 一般优化问题 2. 凸优化问题 2.1 凸优化问题定义 2.2 凸优化问题的最优 ...
- 【凸优化学习笔记1】什么是优化、优化的数学表达形式、优化问题的分类
参考资料: 1.凌青老师的凸优化课(b站) 2.Stephen Boyd的<凸优化>中译本(清华大学出版社) 文章目录 什么是优化(Optimization) 优化问题的数学表达形式 举例 ...
- 凸优化学习笔记 6:共轭函数
个人博客地址 Glooow,欢迎光临~~~ 文章目录 1. 共轭函数 1.1 定义 1.2 性质 1.3 例子 1. 共轭函数 1.1 定义 一个函数 fff 的共轭函数(conjugate func ...
- 凸优化学习笔记6.3
在正则化逼近的基本形式中,我们的目标是寻找向量x使得其值比较小(如果可能的话),同时使得残差Ax-b小,自然地,这可以描述为双目标的凸向量问题,这两个目标是||Ax-b||和||x||: 这两个范数可 ...
最新文章
- java aop 切面判断对象是否是一个类的实例
- 无意中发现一个有趣的事情
- cognos10 安装部署
- 华为鸿蒙发布2.0,华为做到了!鸿蒙2.0正式发布,苹果安卓有危机?
- matlab计算大米个数,如何求数组元素的个数 matlab
- 遍历字典时用与不用iter的区别
- mysql 事务 不同库_MYSQL数据库重点:事务与锁机制
- Ajax学习笔记-运行原理及实现-2
- java for循环内执行多线程
- 从网易云音乐看新媒体内容运营法则
- javaweb之统计网站访问量小案例
- plsql删除历史记录(重新打开文件)
- 设计模式学习之工厂方法模式
- 论文阅读 (二十三):Attention-based Deep Multiple Instance Learning (2018)
- (1)输入直角三角形的两个直角边的长度a,b,求斜边c的长度 (2) 编写一个程序,用于两个数的交换
- Maven之pom.xml配置文件详解
- 计算机pe启动蓝屏怎么办,U盘重装系统进入PE蓝屏怎么办
- 统计学 回归分析( Regression Analysis)
- 【从C开始学编程】之(序言)大家为什么要学C语言以及C语言好不好学?
- HD1201 18岁生日