I. 仿射凸集(Affine and convex sets)

1. 线与线段

假设\(R^n\)空间内两点\(x_1,x_2\, (x_1≠x_2)\),那么\(y=\theta x_1+(1-\theta)x_2, \theta∈R\)表示从x1到x2的线。而当\(0≤\theta≤1\)时,表示x1到x2的线段。

2.仿射集

  • 仿射集(Affine sets) 定义:

    假设有一个集合\(C∈R^N\),如果通过集合C中任意两个不同点之间的直线 (上的任何点) 仍在集合C中,那么称集合C是仿射的;
    也就是说\(\forall x_1,x_2∈R,\theta∈R\),有\(\theta x_1+(1-\theta)x_2∈C\)

推论:

如果\(C\)是一个仿射集,且\(x_1,...,x_n∈C,\theta_1+...+\theta_k=1\),那么点\(\theta_1x_1+...+\theta_kx_k\)也属于\(C\)。

  • 仿射包(Affine Hull)
    仿射集\(C\)中各个点之间的组合的集合称为\(C\)的affine hull,用\(aff \, \, C\)表示且有:
    \[aff \,\, C=\{\theta_1x_1+...+\theta_kx_k|x_1,...,x_k∈C,\theta_1+...=\theta_k=1\}\]

仿射包是包含仿射集\(C\)的最小仿射集,也就是说对于任何满足\(C\subseteq{S}\)的仿射集S,都有\(aff \,\,C\subseteq S\)。

3. 仿射维度(Affine Dimension)&相对内部(Relative Interior)

  • 仿射维度

    将仿射包的维度定义为仿射集\(C\)的维度。

  • 相对内部

    用\(relint \,\,C\)表示,简单理解就是闭仿射包(closure C, 用\(cl\,\,C\)表示) 的内部即为相对内部。即需要满足如下:
    \[relint\,\,C=\{x∈C|B(x,r)\bigcap aff \,\,C\subseteq{C} \,\,\,\,for \,\,some\,\,r>0\}\]
    上面等式中的\(B(x,r)=\{y| \|y-x\|≤r\}\)表示相对边界(relative boundry),用\(cl\,\,C /\ relint\,\,C\)表示,x可以理解为球的中心点,r表示半径

4. 凸集(Convex sets)

凸集定义:

如果集合\(C\)中的任意两点之间的线段(上的所有点)在\(C\)上,也就是说如果\(\forall{x_1,x_2∈C},0≤\theta≤1\),都有\(\theta x_1+(1-\theta)x_2∈C\),那么集合\(C\)为凸集。

注意要区分凸集仿射集定义,前者是线段,后者是直线

affine hull类似,凸集也有convex hull (conv C) 凸包,其定义如下:

\[conv\,\,C=\{\theta_1x_1+...+\theta_kx_k|x_i∈C,\theta_i≥0,i=1,...,k,\theta_1+...=\theta_k=1\}\]

5. 圆锥(Cones)&凸锥(Convex cones)

  • Cone的定义

    一个集合\(C\)中任意元素\(x\),如果满足\(\theta x∈C,\theta≥0\),则称\(C\)为cone或者nonnegative homogeneous(非负齐次)

  • Convex Cone定义

    如果一个集合\(C\)是凸的,而且是一个cone,也就是说如果\(\forall{x_1,x_2∈C},\theta_1,\theta_2≥0\),都有\[\theta_1 x_1+\theta_2 x_2∈C \tag{5.1}\],那么我们称\(C\)为凸锥(convex cone)

由上面公式(5.1)可知该形式的点在一个以0为顶点,经过\(x_1,x_2\)的扇形区域。如下图示

  • conic hull(锥包) 定义

    集合\(C\)的conic hull是指所有点的conic combination的集合,即
    \[\{\theta_1x_1+...+\theta_kx_k|x_i∈C,\theta_i≥0,i=1,...,k\}\]

6. 小结

在开始下一届之前有必要对本节内容做一下总结,以便有更清晰的理解。总结参考仿射集、凸集、仿射包、凸包

  • 仿射集(affine set)、凸集(convex set)
    这两个概念是对集合本身性质的描述,先看他们的定义:
    集合S是仿射的\(\Leftrightarrow\) 对任意\(x,y\in S, \theta \in R\),有\(\theta x+(1-\theta )y\in S\)
    集合S是的\(\Leftrightarrow\) 对任意\(x,y\in S, 0\leq \theta \leq 1\),有\(\theta x+(1-\theta )y\in S\)
  • 仿射包(affine hull)、凸包(convex hull)
    这两个概念是对已有集合生成新的集合的方法,同样看定义:
    集合S的仿射包\(aff\,\,S = \left\{ \sum_{i}^{n}{\theta_{i} x_{i} } | x_{i}\in S, \sum_{i}^{n}{\theta_{i}}=1 \right\}\)
    集合S的凸包\(conv\,\,S = \left\{ \sum_{i}^{n}{\theta_{i} x_{i} } | x_{i}\in S, \theta _{i}\geq 0 , \sum_{i}^{n}{\theta_{i}}=1 \right\}\)

根据上面的总结可以知道相对于凸集的定义,仿射集要求更严苛,因为凸集只需要是线段即可(因为\(0\leq \theta \leq 1\)),而仿射集需要是直线。注意这里只是说仿射集要求更加严苛,但是条件更严苛并不等同于仿射集就是凸集的子集。

为了更好地理解他们之间的关系下面举一个例子,以一维空间为例:

假设这条直线用\(L:y=0\)表示。我们可以知道\(L\)即为仿射集,因为该直线上任意两点组成的直线依旧在\(L\)上。

那么凸集呢?我们可以看到下图中\(L_1,L_2,L\)都是凸集。

此时你还会讨论仿射集和凸集哪一个是是子集的问题吗?因为谁也不是谁的子集,但是以上面的例子为例,如果你只取其中的一个凸集\(L_2\),那么很显然凸集\(L_2\)是仿射集\(L\)的子集。但是在没有特定说明的前提下讨论谁是谁的子集是不准确的。

另外需要知道的是仿射集其实也是凸集,但是凸集不一定是仿射集。(这里面有概念之间的嵌套,需要好好理解定义)

另外子集的问题,其实准确的说是在讨论仿射包和凸包之间的关系,由上面的例子可以知道包含所有仿射集的集合是包含所有凸集的集合的子集,因为一个仿射集是一个凸集。

MARSGGBO♥原创







2018-12-25

【Convex Optimization (by Boyd) 学习笔记】Chapter 2 - Convex sets(1) 仿射集&凸集的更多相关文章

  1. 【Convex Optimization (by Boyd) 学习笔记】Chapter 1 - Mathematical Optimization

    以下笔记参考自Boyd老师的教材[Convex Optimization]. I. Mathematical Optimization 1.1 定义 数学优化问题(Mathematical Optim ...

  2. 神经网络与深度学习笔记 Chapter 1.

    转载请注明出处:http://www.cnblogs.com/zhangcaiwang/p/6875533.html sigmoid neuron 微小的输入变化导致微小的输出变化,这种特性将会使得学 ...

  3. 神经网络与深度学习笔记 Chapter 6之卷积神经网络

    深度学习 Introducing convolutional networks:卷积神经网络介绍 卷积神经网络中有三个基本的概念:局部感受野(local receptive fields), 共享权重 ...

  4. 神经网络与深度学习笔记 Chapter 3.

    交叉熵 交叉熵是用于解决使用二次代价函数时当单个神经元接近饱和的时候对权重和bias权重学习的影响.这个公式可以看出,当神经元饱和的时候,sigma的偏导接近于0,w的学习也会变小.但是应用交叉熵作为 ...

  5. 神经网络与深度学习笔记 Chapter 2.

    转载请注明出处http://www.cnblogs.com/zhangcaiwang/p/6886037.html 以前都没有正儿八经地看过英文类文档,神经网络方面又没啥基础,结果第一章就花费了我将近 ...

  6. Python学习笔记–Chapter 2

    1.字符串中添加制表符,可使用字符组合\t 2.字符串中添加换行符,可使用字符组合\n 3.字符串\n\t可以换到下一行,并且在开头添加一个制表符. 4.删除末尾空白,使用方法rstrip() 5.删 ...

  7. Python学习笔记 chapter 2基础

    程序输入 >>> print('%s is number %d'%('Python', 1))Python is number 1 输出重定向有问题(待定) 文本输入>> ...

  8. 蟒蛇书学习笔记——Chapter 09 Section 01 创建和使用类

    9.1 创建和使用类 9.1.1 创建Dog类   根据Dog类创建的每个实例都将存储名字和年龄,我们赋予了每条小狗蹲下(sit( ))和打滚(roll_over( ))的能力: class Dog: ...

  9. CMU Convex Optimization(凸优化)笔记1--凸集和凸函数

    CMU凸优化笔记--凸集和凸函数 结束了一段时间的学习任务,于是打算做个总结.主要内容都是基于CMU的Ryan Tibshirani开设的Convex Optimization课程做的笔记.这里只摘了 ...

随机推荐

  1. Luogu P4484 [BJWC2018]最长上升子序列

    状压\(DP\)+打表,要命的题目..... 具体思路请参考这位巨佬的博客,本蒟蒻对这道题感到心力交瘁,决定不再作出补充.. 关键的要学习的是:对于排列问题,从左到右处理比较困难的话,考虑从小到大把数 ...

  2. maomao的现在与未来

    今晚开始,maomao决定要成为一个和以前不一样的人了. 自从高一开始竞赛生涯以来,我的竞赛就一直处于不是很好,也不是很差的水平,就像我初中一年级到二年级一直处于的状态一样.一直以来,我从来没有对自己 ...

  3. (栈 注意格式)P1739 表达式括号匹配 洛谷

    题目描述 假设一个表达式有英文字母(小写).运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符.请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”:否则返 ...

  4. nginx根据cookie分流

    转载互联网 nginx根据cookie分流众所周知,nginx可以根据url path进行分流,殊不知对于cookie分流也很强大,同时这也是我上篇提到的小流量实验的基础. 二话不说,先看需求,两台服 ...

  5. KVM安装启动虚拟机

    KVM定制OpenStack云主机 如何定制化OpenStack云主机?从去年10月份刚开始接触OpenStack,到现在也有一年了.虽说目前只是停留在用它,对它的一些组件简单的了解,但谈到制作出一个 ...

  6. javaweb简单登陆例子

    JSP+Servlet+JavaBean简单程序例子——用户名密码登陆,摘自<Tomcat&JavaWeb 技术手册>,亲测可用. IDE环境:MyEclipse10 1.建立We ...

  7. JAVA核心技术I---JAVA基础知识(列表List)

    一:List了解 (一)List:列表 –有序的Collection –允许重复元素 –{,,,{,},,} (二)List:主要实现 同步/非同步:针对线程而言 –ArrayList(非同步的) – ...

  8. JS事件委托应用场景

    给列表元素添加点击事件: 在javaScript中,添加到页面上的事件处理程序的数量,将直接关系到页面的整体运行性能. <li>标签的数量很大时,循环为每个子元素添加事件,绝非好方法. 有 ...

  9. [NIO-2]通道和FileChannel

    通道是什么 通道式(Channel)是java.nio的第二个主要创新.通道既不是一个扩展也不是一项增强,而是全新的.极好的Java I/O示例,提供与I/O服务的直接连接.Channel用于在字节缓 ...

  10. MassTransit 学习

    http://blog.csdn.net/starfd/article/details/50973124