参考资料:
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}θ1​x1​+⋯+θk​xk​

对于这个新点,根据系数条件不同有:

新点的组合类型 条件
仿射组合 θ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∣ajT​x⩽bj​,j=1,⋯,m,cjT​x=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​}={θ0​v0​+⋯+θk​vk​∣θ⪰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​}={θ0​v0​+⋯+θk​vk​∣θ⪰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=θ0​v0​+θ1​v1​+⋯+θk​vk​,θ⪰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​+θ1​v1​+⋯+θk​vk​
=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×n​A2(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}A1​x=A1​v0​+y,A2​x=A2​v0​ 这两个式子
∵ 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}A1​x⪰A1​v0​
②1TA1x⩽1+1TA1v0\mathbf{1}^{T} A_{1} x \leqslant 1+\mathbf{1}^{T} A_{1} v_{0}1TA1​x⩽1+1TA1​v0​
③A2x=A2v0A_{2} x=A_{2} v_{0}A2​x=A2​v0​
这三个式子是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}θ1​A+θ2​B∈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(θ1​A+θ2​B)x=θ1​xTAx+θ2​xTBx⩾0
证得 θ1A+θ2B\theta_{1} A+\theta_{2} Bθ1​A+θ2​B 是半正定矩阵。
又因为同形对称矩阵的数乘和加和不改变对称性,
所以矩阵 θ1A+θ2B\theta_{1} A+\theta_{2} Bθ1​A+θ2​B 是一个对称半正定矩阵,得证。

所以,
对称半正定矩阵集合 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θ1​A+θ2​B没办法证明大于0)

教材中举了2维空间中的半正定矩阵集合:

【凸优化学习笔记3】几种重要的凸集相关推荐

  1. 凸优化学习笔记 11:对偶原理 拉格朗日函数

    前面讲了凸优化问题的定义,以及一些常见的凸优化问题类型,这一章就要引入著名的拉格朗日函数和对偶问题了.通过对偶问题,我们可以将一些非凸问题转化为凸优化问题,还可以求出原问题的非平凡下界,这对复杂优化问 ...

  2. 凸优化学习笔记:QP及SOCP问题

    凸优化学习笔记:QP及SOCP问题 QP问题 定义 是什么 几何意义 QP.QCQP.LP之间的关系 例子 最小二乘及回归问题 多面体间距离 方差定界问题 基于随机费用的线性规划(考虑随机变量的优化问 ...

  3. 凸优化学习笔记 15:梯度方法

    前面的章节基本上讲完了凸优化相关的理论部分,在对偶原理以及 KKT 条件那里我们已经体会到了理论之美!接下来我们就要进入求解算法的部分,这也是需要浓墨重彩的一部分,毕竟我们学习凸优化就是为了解决实际当 ...

  4. 数学不好是原罪——凸优化学习笔记(个人学习记录汇总)

    中科大凸优化课程学习笔记 中科大凌青老师的课(现中山大学教授):中科大-凸优化 形而上学,不行退学,共勉!博客为个人手写笔记整理存档,不喜勿看. 凸优化学习笔记(一) 持续更新--

  5. 凸优化学习笔记(一)

    文章目录 写在前面 仿射/凸/凸锥(集/组合/包) 几种重要的凸集:超平面与半空间/球和椭球/多面体/单纯形/对称(半)正定矩阵 凸集的交集,保凸运算:仿射函数/缩放和移位/透视函数/线性分段函数 凸 ...

  6. 凸优化学习笔记 10:凸优化问题

    前面讲了那么多关于凸集.凸函数的知识,然而都是铺垫,现在我们才来到了这门课的重头戏部分--凸优化问题! 文章目录 1. 一般优化问题 2. 凸优化问题 2.1 凸优化问题定义 2.2 凸优化问题的最优 ...

  7. 【凸优化学习笔记1】什么是优化、优化的数学表达形式、优化问题的分类

    参考资料: 1.凌青老师的凸优化课(b站) 2.Stephen Boyd的<凸优化>中译本(清华大学出版社) 文章目录 什么是优化(Optimization) 优化问题的数学表达形式 举例 ...

  8. 凸优化学习笔记 6:共轭函数

    个人博客地址 Glooow,欢迎光临~~~ 文章目录 1. 共轭函数 1.1 定义 1.2 性质 1.3 例子 1. 共轭函数 1.1 定义 一个函数 fff 的共轭函数(conjugate func ...

  9. 凸优化学习笔记6.3

    在正则化逼近的基本形式中,我们的目标是寻找向量x使得其值比较小(如果可能的话),同时使得残差Ax-b小,自然地,这可以描述为双目标的凸向量问题,这两个目标是||Ax-b||和||x||: 这两个范数可 ...

最新文章

  1. java aop 切面判断对象是否是一个类的实例
  2. 无意中发现一个有趣的事情
  3. cognos10 安装部署
  4. 华为鸿蒙发布2.0,华为做到了!鸿蒙2.0正式发布,苹果安卓有危机?
  5. matlab计算大米个数,如何求数组元素的个数 matlab
  6. 遍历字典时用与不用iter的区别
  7. mysql 事务 不同库_MYSQL数据库重点:事务与锁机制
  8. Ajax学习笔记-运行原理及实现-2
  9. java for循环内执行多线程
  10. 从网易云音乐看新媒体内容运营法则
  11. javaweb之统计网站访问量小案例
  12. plsql删除历史记录(重新打开文件)
  13. 设计模式学习之工厂方法模式
  14. 论文阅读 (二十三):Attention-based Deep Multiple Instance Learning (2018)
  15. (1)输入直角三角形的两个直角边的长度a,b,求斜边c的长度 (2) 编写一个程序,用于两个数的交换
  16. Maven之pom.xml配置文件详解
  17. 计算机pe启动蓝屏怎么办,U盘重装系统进入PE蓝屏怎么办
  18. 统计学 回归分析( Regression Analysis)
  19. 【从C开始学编程】之(序言)大家为什么要学C语言以及C语言好不好学?
  20. HD1201 18岁生日

热门文章

  1. 信息系统项目管理师就业前景分析
  2. 10.java正则表达式URL匹配
  3. app测试(手机自动化测试)----(含adb命令,monkey命令)
  4. 什么是指针以及如何动态申请空间
  5. Golang知识点二、GMP调度模型
  6. safari的java扩展_用 Web 技术为 Safari 编写扩展
  7. 多线程发送邮件和推送信息
  8. 【JSP课程设计】实现动态网页及后台搭建--食味坊
  9. 全球牛油果市场处于不断增长状态,墨西哥已成为世界上最大的牛油果生产国与出口国[图]
  10. andriod APP