Convex optimization 1 --- convex set
1 Introduction
凸优化在工程领域发挥着重要作用,这个系列根据standford EE364a 的convex optimization 课程,进行梳理总结。
2 优化问题
2.1 常见的优化问题
2.1.1 决策类的优化问题
设定目标,考虑限制,给出决策。
2.1.2 模型参数辨识
选定模型,带入数据,计算系数。
此时目标是降低模型的预测误差,参数必须在合理的区间,给出最小的参数。
2.2 数学抽象
构建工程的最优化问题,constraints一般比较容易构建,如何选定object 函数非常关键。
2.3 优化问题的解法
线性问题比较容易得到解答,对于优化问题同样。
具体的案例,控制每个光源的强度,使得镜面的光源强度和设定值的差值最小。
o点的光源强度为:
镜面的光源强度的最大误差为:
光源强度的物理限制为:
目标函数可以表示成
fo(x)=maxk=1,..n∣Ik−Ides∣=maxk=1,..n∣∑akjpj−Ides∣\begin{aligned} f_o(x)= &max_{k=1,..n}|I_k-I_{des}| \\ =& max_{k=1,..n}|\sum a_{kj}p_j-I_{des}| \end{aligned} fo(x)==maxk=1,..n∣Ik−Ides∣maxk=1,..n∣∑akjpj−Ides∣
形式和线性规划比较接近,但是具体如何转换,需要进一步学习。
3 convex set
3.1 convex optimization problem
如果可行的解集是一个convex set,解决这样的优化问题,一般比较简单。
需要研究convex set的特性,帮助我们分辨问题是否是convex optimization问题,以及将问题转换成convex optimization的问题。
3.2 convex set的定义
在进入各种集合定义之前,一定要记住,set是特殊的一类向量组成。\color{red}{在进入各种集合定义之前,一定要记住,set是特殊的一类向量组成。}在进入各种集合定义之前,一定要记住,set是特殊的一类向量组成。
3.2.1 affine set
通过affine set 定义线段、射线和直线。
3.2.2 convex set
convex set的数学定义和几何直觉容易理解。
3.3 与convex set类似的集合
3.3.1 有限范围集合convex hull
有convex set必然就会有不是convex set的集合,将不是convex set的集合,转换成convex hull(convex hull 也是convex set)。
球集合
椭圆集合
从几何的角度,向量x−xcx-x_cx−xc先转换到特征向量组成的向量空间中,然后在相应的特征向量方向,除以特征值,经过这样处理后的向量点积就是1。
3.3.2 平面无限大集合
我们从三维空间的角度去理解下面各种集合。\color{red}{我们从三维空间的角度去理解下面各种集合。}我们从三维空间的角度去理解下面各种集合。
- convex cone
convex cone范围是无穷大的,构成一个扇形区域,同时也是convex set。
3.3.3 空间无限大集合
我们从三维空间的角度去理解下面各种集合。\color{red}{我们从三维空间的角度去理解下面各种集合。}我们从三维空间的角度去理解下面各种集合。
- half plane
aTx=ba^Tx=baTx=b定义了一个平面,也是空间的分界面。
- norm cone
- Polyhedra
数学定义,几个平面相交构成的空间。
以下面这个图为例,
[11−11−1−11−1][xy]⪯[2222]\begin{bmatrix} 1 & 1 \\ -1 & 1 \\ -1 & -1 \\ 1 & -1 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} \preceq \begin{bmatrix} 2 \\ 2 \\ 2 \\ 2 \end{bmatrix} ⎣⎢⎢⎡1−1−1111−1−1⎦⎥⎥⎤[xy]⪯⎣⎢⎢⎡2222⎦⎥⎥⎤
需要注意的是,以集合中点(1, 1)为例,
Ax=[2≤20≤2−2≤20≤2]⪯[22228]Ax= \begin{bmatrix} 2 \leq 2 \\ 0 \leq 2 \\ -2 \leq 2 \\ 0 \leq 2 \end{bmatrix} \preceq \begin{bmatrix} 2 \\ 2 \\ 2 \\ 28 \end{bmatrix} Ax=⎣⎢⎢⎡2≤20≤2−2≤20≤2⎦⎥⎥⎤⪯⎣⎢⎢⎡22228⎦⎥⎥⎤
3.3.4 高维空间
- 半正定锥
sn={X∈Rn×n∣X=XT}s^n=\{X \in R^{n\times n} | X=X^T \}sn={X∈Rn×n∣X=XT}
例如
X=[xyyz]∈S+2X= \begin{bmatrix} x & y \\ y & z \end{bmatrix} \in S_+^2 X=[xyyz]∈S+2
是个维数为3的向量空间,其中满足x≥0,z≥0,xz≥y2x \geq 0, z\geq 0, xz \geq y^2x≥0,z≥0,xz≥y2,几何图像如下:
3.4 凸性不变的操作
3.4.1 交集
从集合的角度,凸集的交集是凸集,非常容易理解。
- example1
x是高维空间中的变量,p(t)并不容易用集合的方式画出图。为了从几何上理解更加方便,假定m=2,
p(t)=x1cos(t)+x2cos(2t)p(t)=x_1cos(t)+x_2cos(2t)p(t)=x1cos(t)+x2cos(2t)
发现(x1,x2)的集合并不能用集合的方式画出来,利用定义进行判断也非常的困难。
但是我们知道,ti∈[−π3,π3]t_i \in [-\frac{\pi}{3}, \frac{\pi}{3}]ti∈[−3π,3π]每个点都满足
−1≤[cos(ti)cos(2ti)][x1x2]≤1-1\leq \begin{bmatrix} cos(t_i) & cos(2t_i) \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} \leq1 −1≤[cos(ti)cos(2ti)][x1x2]≤1
这是一个典型的Polyhedra,所以是凸集。
(x1,x2)(x_1,x_2)(x1,x2)的集合对所有的tit_iti都满足上面的关系,所以
S=∩ti∈[−π3,π3]∣∣(cos(ti),cos(2ti))Tx∣∣≤1S=\underset{t_i \in [-\frac{\pi}{3}, \frac{\pi}{3}]}{\cap} ||(cos(t_i), cos(2t_i))^Tx||\leq 1 S=ti∈[−3π,3π]∩∣∣(cos(ti),cos(2ti))Tx∣∣≤1
凸集的交集还是凸集,所以(x1,x2)(x_1,x_2)(x1,x2)的集合是凸集。
3.4.2 仿射变换
仿射变换
f(x⃗)=Ax⃗+b⃗f(\vec{x})=A{\vec{x}}+\vec{b} f(x)=Ax+b
其中,x∈Rn,A∈Rm×n,b∈Rmx \in R^n, A \in R^{m\times n}, b\in R^mx∈Rn,A∈Rm×n,b∈Rm。
因为仿射变换属于线性变换,并不会改变集合的凸性。
3.4.3 线性分式和透视函数
透视函数
小孔成像问题中,
(R3中的)(R^3中的)(R3中的)将实际位置点通过小孔投影在镜面上,镜面的图像时R2R^2R2。
镜面点的坐标(−x1x3,−x2x3)(-\frac{x_1}{x_3}, -\frac{x_2}{x_3})(−x3x1,−x3x2),这就是我们的透视函数。
通过透视,降维的操作时保凸的。线性分式
其中,A∈Rn×m,b∈Rm,c∈Rn,d∈RA \in R^{n \times m}, b \in R^m, c \in R^n, d \in RA∈Rn×m,b∈Rm,c∈Rn,d∈R。
线性分式,可以看成是放射变换和透视变换的叠加,所以自然也是保凸的。
经过整理后,
f(x)=Ix[1,1]Tx+1f(x)=\frac{Ix}{[1, 1]^Tx+1} f(x)=[1,1]Tx+1Ix
4 广义不等式
4.1 正常锥
通过正常锥,推广出广义不等式。
下面三个条件的convex cone就是proper cone。
典型的几个proper cone:
1)非负象限,没有boundary,不知道为啥符合条件1;
2)非负的多项式锥
以二维多项式锥为例:
4.2 广义不等式定义及性质
4.2.1 广义不等式定义
通过正常锥,定义广义不等式。
example1:
x、y必须是同一纬度的,但是分属不同的集合,每个纬度上满足xi≤yix_i\leq y_ixi≤yi
4.2.2 广义不等式性质
广义不等式的性质和普通不等式的性质类似
1)对于加法是保序的:
ifx⪯Ky,并且u⪯Kv,那么x+u⪯Ky+v.if x \preceq_K y, 并且u \preceq_K v, 那么x+u \preceq_K y+v. ifx⪯Ky,并且u⪯Kv,那么x+u⪯Ky+v.
2)具有传递性:
ifx⪯Ky,并且y⪯Kz,那么x⪯Kz.if x \preceq_K y, 并且y \preceq_K z, 那么x \preceq_K z. ifx⪯Ky,并且y⪯Kz,那么x⪯Kz.
3)对于非负数乘是保序的:
ifx⪯Ky,并且α≥0,那么αx⪯Kαy.if x \preceq_K y, 并且\alpha \geq 0, 那么\alpha x \preceq_K \alpha y. ifx⪯Ky,并且α≥0,那么αx⪯Kαy.
4)自反的:
x⪯Kxx \preceq_K x x⪯Kx
5)反对称的:
ifx⪯Ky,并且y⪯Kx,那么x⪯Ky.if x \preceq_K y, 并且y \preceq_K x, 那么x \preceq_K y. ifx⪯Ky,并且y⪯Kx,那么x⪯Ky.
4.2.3 最小与极小元
集合最小与极小元判断的时候则有很大的不同,先看定义。
对于每个y∈S,均有x⪯K,我们称x∈S(关于广义不等式⪯K)的最小元,它是唯一的。如果x是不是唯一的,则称x∈S是S上(关于广义不等式⪯K)的极小元。对于每个y \in S,均有x \preceq_K ,我们称x \in S(关于广义不等式 \preceq_K)的最小元,它是唯一的。\\ 如果x是不是唯一的,则称x \in S 是S上(关于广义不等式\preceq_K)的极小元。 对于每个y∈S,均有x⪯K,我们称x∈S(关于广义不等式⪯K)的最小元,它是唯一的。如果x是不是唯一的,则称x∈S是S上(关于广义不等式⪯K)的极小元。
example1:判断集合S1S_1S1中的极小元。
这是一个二维集合,如果如果(x1≤xi,y1≤yi)(x_1\leq x_i, y_1 \leq y_i)(x1≤xi,y1≤yi)那么x1x_1x1是极小元。写成广义不等式的形式:
对于每个yi∈S1,均有x⪯Ky,其中K=R+n对于每个y_i \in S_1, 均有x \preceq_K y, 其中K=R_+^n 对于每个yi∈S1,均有x⪯Ky,其中K=R+n
本题中,a⃗∈K,满足广义不等式。\vec{a} \in K,满足广义不等式。a∈K,满足广义不等式。
example2:
同样的,这道题中的K∈R+nK \in R_+^nK∈R+n,对于x2x_2x2,向量a⃗\vec{a}a并不在K中,所以x2x_2x2是极小值。
对于x3x_3x3,因为b在K中,所以x3x_3x3不是极小值。
5 分离与支撑超平面
5.1 超平面分离定理
几何直觉上很容易理解,先找到两个凸集的最近点,然后找到中点,确定法线,就定出了超平面。
5.2 支撑超平面
进入支撑超平面的概念之前,先回顾超平面的概念。
下面红色的超平面{y∣aTy=aTx0}\{y|a^Ty=a^Tx_0 \}{y∣aTy=aTx0}为集合C在点x0x_0x0处的支撑超平面。
对于任意的C上的点xix_ixi,有aTxi≤aTx0a^Tx_i\leq a^Tx_0aTxi≤aTx0,即集合C上的点都在支撑超平面下方。
6 对偶锥与广义不等式
6.1 对偶锥定义
令K为一个锥,集合
K∗={y∣xTy≥0,Vx∈K}K*=\{ y|x^Ty\geq 0, Vx \in K \} K∗={y∣xTy≥0,Vx∈K}
称为K的对偶锥。
K是法线的集合,根据定义下面是一个典型的对偶锥。简易判断的方法是,法线对应的超平面,是否可以包络原集合K。
根据上面的图,即使原集合K不是凸集,对偶锥仍然是凸锥。对偶锥具有下列的性质
1)K是闭凸锥;
2)K1⊆K2,则K2∗⊆K1∗K_1\subseteq K_2,则K_2^* \subseteq K_1^*K1⊆K2,则K2∗⊆K1∗;
3) 如果K有非空内部,那么K是尖的;
4)如果K的闭包是尖的,那么K有非空内部;
5)K** 是K的凸包的闭包;
6.2 广义不等式的对偶
称广义不等式⪯K∗\preceq K^*⪯K∗为广义不等式⪯K\preceq K⪯K的对偶,具有下列性质
1)x⪯ky,当且仅当任意λ⪰k∗0,有λTx<λTyx\preceq_k y,当且仅当任意 \lambda\succeq_{k^*} 0, 有\lambda^T x <\lambda^T yx⪯ky,当且仅当任意λ⪰k∗0,有λTx<λTy
- 最小元的对偶性质
根据广义不等式对偶的性质,x是S上关于广义不等式⪯K\preceq K⪯K的最小元的充要条件是,对于所有λ≻K∗0\lambda \succ_{K^*} 0λ≻K∗0,x是在z∈Sz \in Sz∈S上极小化λTz\lambda^T zλTz的唯一最优解。
从几何上看,对于任意λ≻K∗0,超平面{z∣λT(z−x)=0}是在x处对S的一个严格支撑超平面。\color{red}{从几何上看,对于任意\lambda \succ_{K^*} 0,超平面\{ z|\lambda^T(z-x)=0 \}是在x处对S的一个严格支撑超平面。}从几何上看,对于任意λ≻K∗0,超平面{z∣λT(z−x)=0}是在x处对S的一个严格支撑超平面。
- 极小元的对偶性质
如果λ≻K∗0并且x在z∈S上极小化λTz,那么x是极小的。\lambda \succ_{K^*}0并且x在z\in S上极小化\lambda^Tz,那么x是极小的。λ≻K∗0并且x在z∈S上极小化λTz,那么x是极小的。
两者的区别是上图中的x使得所有的λTz最小,z∈S\lambda^Tz最小,z \in SλTz最小,z∈S
下图中,x1使得λ1Tz最小,z∈Sx_1使得\lambda_1^Tz最小, z \in Sx1使得λ1Tz最小,z∈S,x2使得λ2Tz最小。x_2使得\lambda_2^Tz最小。x2使得λ2Tz最小。
Convex optimization 1 --- convex set相关推荐
- Convex Optimization: 2 Convex sets
本篇为凸优化的课程笔记. 文章目录 Affine set 仿射集 Convex set 凸集 Convex combination and convex hull 凸组合与凸包 Convex cone ...
- 实用线性代数和凸优化 Convex Optimization
If not specified, the following conditions are assumed. X∈Rn∗mA∈Rm∗nX \in R^{n*m} \\ A \in R^{m*n} X ...
- 笔记:Tensor RPCA: Exact recovery of corrupted low-rank tensors via convex optimization
Lu, C., et al., Tensor robust principal component analysis: Exact recovery of corrupted low-rank ten ...
- 对凸优化(Convex Optimization)的一些浅显理解
©作者 | 李航前 单位 | EPFL 研究方向 | 计算机图形学与三维视觉 最近学习了一些凸优化课程,整理笔记的同时写下一些自己的理解,向着头秃的道路上越走越远. 凸优化是应用数学的一个基本分支,几 ...
- 机器学习与深度学习神器!凸优化(Convex Optimization)学习必备
Boyd的Convex Optimization是神书,真的想搞科研可以学一下这个书,但这个书理论多,侧重凸分析的基础,花了非常长的篇幅介绍函数的凸性.对偶等,但在机器学习中,至少在刚入门不久的阶段这 ...
- 今天开始学Convex Optimization:第2章 背景数学知识简述
文章目录 第2章 背景数学知识简述 2.1 数学分析和微积分基础 函数性质 集合Sets Norms 线性函数.仿射函数 函数的微分(导数) 2.2 线性代数基础 Matrix Subspaces 正 ...
- 凸优化(convex optimization)第二讲:convex set
Convex opt 第二讲(convex set) Affine set affine set 表示经过两点的一条线,这条线满足: 相较于后面我们要讨论的convex set,这里少了一些限制,是 ...
- Numerical Optimization和Convex optimization 两本书的选择?
Numerical Optimization和Convex optimization 两本书的选择? - 知乎https://www.zhihu.com/question/49689245 Numer ...
- Convex Optimization介绍
最近在看Stephen Boyd的<Convex Optimization>,其中涉及不少数学知识和习题,在此整理一下阅读此书的学习笔记. 因为书上的记号比较详尽,所以在博客中仅摘取一些自 ...
- 今天开始学Convex Optimization:引言、第1章基本概念介绍
文章目录 引言 第1章 Introduction 凸优化问题 最小二乘问题 线性规划问题 一个优化问题例子:最佳灯源问题 Chebyshev逼近问题,转化成线性规划 参考资料 2020年我自己希望多看 ...
最新文章
- Eclipse中使用Ctrl键卡顿响应慢的解决方法
- ◆[转]瓶子生日密码之2月2日
- nessus导出报告格式有哪些_高分高能 | 文献检索硬核知识报告
- YII2 rule exist unique
- js不用reverse反转数组代码_10个JavaScript代码片段,帮助你成为更好的开发者
- java 图形化编程_JavaSE——Java图形化编程
- 计算机网络怎样连手机软件,玩够了手机投屏?了解一下手机如何直接连智能电视...
- 最强的Python 办公自动化之 PDF 攻略来了(全)
- (转帖)CAP理论(1)
- LeetCode - 500 - 键盘行(keyboard-row)
- JavaWeb进阶之路:MyBatis-CURD(增删改查)
- efm32芯片电压_小壁虎PK小蝴蝶(EFM32 vs STM32L)
- RTFNet——用于城市场景语义分割的RGB和热红外融合网络
- ARM中断VIC/GIC
- 月二 周5 (前半写于周2)
- 把excel中的数据粘贴到oracle
- 关于电子标准机柜的“U”和“英寸”规格说明
- httpsession mysql,session 的持久化存储
- Android第三方支付——Bmob支付总结
- mysql5.7 免安装版配置
热门文章
- (官网)虚幻3--基础游戏快速入门
- becon帧 wifi_构造并发送Beacon帧以伪造任意WiFi热点
- 全文检索技术Lucene
- Tensorflow Serving初体验
- Transforms的结构和用法
- HttpMessageNotReadableException: Required request body is missing
- Java最新面试题汇总
- JS刷剑指offer(待更新)
- HighCharts图标中隐藏x/y轴坐标
- Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004