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​∣∑akj​pj​−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−11​11−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=[xy​yz​]∈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)=x1​cos(t)+x2​cos(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​)​][x1​x2​​]≤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})(−x3​x1​​,−x3​x2​​),这就是我们的透视函数。

    通过透视,降维的操作时保凸的。

  • 线性分式

    其中,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⪯K​y,并且u⪯K​v,那么x+u⪯K​y+v.
2)具有传递性:
ifx⪯Ky,并且y⪯Kz,那么x⪯Kz.if x \preceq_K y, 并且y \preceq_K z, 那么x \preceq_K z. ifx⪯K​y,并且y⪯K​z,那么x⪯K​z.
3)对于非负数乘是保序的:
ifx⪯Ky,并且α≥0,那么αx⪯Kαy.if x \preceq_K y, 并且\alpha \geq 0, 那么\alpha x \preceq_K \alpha y. ifx⪯K​y,并且α≥0,那么αx⪯K​αy.
4)自反的:
x⪯Kxx \preceq_K x x⪯K​x
5)反对称的:
ifx⪯Ky,并且y⪯Kx,那么x⪯Ky.if x \preceq_K y, 并且y \preceq_K x, 那么x \preceq_K y. ifx⪯K​y,并且y⪯K​x,那么x⪯K​y.

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⪯K​y,其中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⪯k​y,当且仅当任意λ⪰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​使得λ1T​z最小,z∈S,x2使得λ2Tz最小。x_2使得\lambda_2^Tz最小。x2​使得λ2T​z最小。

Convex optimization 1 --- convex set相关推荐

  1. Convex Optimization: 2 Convex sets

    本篇为凸优化的课程笔记. 文章目录 Affine set 仿射集 Convex set 凸集 Convex combination and convex hull 凸组合与凸包 Convex cone ...

  2. 实用线性代数和凸优化 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 ...

  3. 笔记: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 ...

  4. 对凸优化(Convex Optimization)的一些浅显理解

    ©作者 | 李航前 单位 | EPFL 研究方向 | 计算机图形学与三维视觉 最近学习了一些凸优化课程,整理笔记的同时写下一些自己的理解,向着头秃的道路上越走越远. 凸优化是应用数学的一个基本分支,几 ...

  5. 机器学习与深度学习神器!凸优化(Convex Optimization)学习必备

    Boyd的Convex Optimization是神书,真的想搞科研可以学一下这个书,但这个书理论多,侧重凸分析的基础,花了非常长的篇幅介绍函数的凸性.对偶等,但在机器学习中,至少在刚入门不久的阶段这 ...

  6. 今天开始学Convex Optimization:第2章 背景数学知识简述

    文章目录 第2章 背景数学知识简述 2.1 数学分析和微积分基础 函数性质 集合Sets Norms 线性函数.仿射函数 函数的微分(导数) 2.2 线性代数基础 Matrix Subspaces 正 ...

  7. 凸优化(convex optimization)第二讲:convex set

    Convex opt  第二讲(convex set) Affine set affine set 表示经过两点的一条线,这条线满足: 相较于后面我们要讨论的convex set,这里少了一些限制,是 ...

  8. Numerical Optimization和Convex optimization 两本书的选择?

    Numerical Optimization和Convex optimization 两本书的选择? - 知乎https://www.zhihu.com/question/49689245 Numer ...

  9. Convex Optimization介绍

    最近在看Stephen Boyd的<Convex Optimization>,其中涉及不少数学知识和习题,在此整理一下阅读此书的学习笔记. 因为书上的记号比较详尽,所以在博客中仅摘取一些自 ...

  10. 今天开始学Convex Optimization:引言、第1章基本概念介绍

    文章目录 引言 第1章 Introduction 凸优化问题 最小二乘问题 线性规划问题 一个优化问题例子:最佳灯源问题 Chebyshev逼近问题,转化成线性规划 参考资料 2020年我自己希望多看 ...

最新文章

  1. Eclipse中使用Ctrl键卡顿响应慢的解决方法
  2. ◆[转]瓶子生日密码之2月2日
  3. nessus导出报告格式有哪些_高分高能 | 文献检索硬核知识报告
  4. YII2 rule exist unique
  5. js不用reverse反转数组代码_10个JavaScript代码片段,帮助你成为更好的开发者
  6. java 图形化编程_JavaSE——Java图形化编程
  7. 计算机网络怎样连手机软件,玩够了手机投屏?了解一下手机如何直接连智能电视...
  8. 最强的Python 办公自动化之 PDF 攻略来了(全)
  9. (转帖)CAP理论(1)
  10. LeetCode - 500 - 键盘行(keyboard-row)
  11. JavaWeb进阶之路:MyBatis-CURD(增删改查)
  12. efm32芯片电压_小壁虎PK小蝴蝶(EFM32 vs STM32L)
  13. RTFNet——用于城市场景语义分割的RGB和热红外融合网络
  14. ARM中断VIC/GIC
  15. 月二 周5 (前半写于周2)
  16. 把excel中的数据粘贴到oracle
  17. 关于电子标准机柜的“U”和“英寸”规格说明
  18. httpsession mysql,session 的持久化存储
  19. Android第三方支付——Bmob支付总结
  20. mysql5.7 免安装版配置

热门文章

  1. (官网)虚幻3--基础游戏快速入门
  2. becon帧 wifi_构造并发送Beacon帧以伪造任意WiFi热点
  3. 全文检索技术Lucene
  4. Tensorflow Serving初体验
  5. Transforms的结构和用法
  6. HttpMessageNotReadableException: Required request body is missing
  7. Java最新面试题汇总
  8. JS刷剑指offer(待更新)
  9. HighCharts图标中隐藏x/y轴坐标
  10. Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004