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. Linux设备树(一 概述)

    一 概述 设备树(Device tree)是一套用来描述硬件属相的规则.ARM Linux采用设备树机制源于2011年3月份Linux创始人Linus Torvalds发的一封邮件,在这封邮件中他提倡 ...

  2. 使用rdbtools工具来解析redis rdb文件

    工欲善其事必先利其器,日常工作中,好的工具能够高效的协助我们工作:今天介绍一款用来解析redis rdb文件的工具,非常好用.会之,受用无穷! 一.rdbtools工具介绍 源码地址:https:// ...

  3. 2018acm-icpc徐州站后记

    大概是我所有比赛里面打的最自闭的比赛了,真的很不想写这篇比赛的后记. 记得我刚学习acm的时候,觉得如果每一场比赛都能拿一块铜牌就好了,只要不铁都是很开心的. 但是没想到真正拿铜会这么难受.可能是因为 ...

  4. jsp+servlet+jdbc实现表单提交

    1.新建一个maven工程,选webapp模板 2.安装tomcat https://tomcat.apache.org/download-80.cgi 下载解压到自定义目录上 ps:在全局变量加上J ...

  5. LightGBM 调参方法(具体操作)

     sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...

  6. springcloud学习笔记

    一.什么是springcloud,有什么作用 Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消 ...

  7. 【SSL】WebClient 请求 https 页面出错:未能创建 SSL/TLS 安全通道

    #问题: 当向一个https的url上发送请求,报错:未能创建 SSL/TLS 安全通道: using (WebClient client = new WebClient()) { string ad ...

  8. 11.享元模式(Flyweight Pattern)

    面向对象的代价    面向对象很好地解决了系统抽象性的问题,同时在大多数情况下,也不会损及系统的性能.但是,在某些特殊的应用中下,由于对象的数量太大,采用面向对象会给系统带来难以承受的内存开销.比如: ...

  9. Linux记录-监控系统开发

    需求:使用shell定制各种个性化告警工具,但需要统一化管理.规范化管理.思路:指定一个脚本包,包含主程序.子程序.配置文件.邮件引擎.输出日志等.主程序:作为整个脚本的入口,是整个系统的命脉.配置文 ...

  10. KMP算法的next[]数组通俗解释

    原文:https://blog.csdn.net/yearn520/article/details/6729426 我们在一个母字符串中查找一个子字符串有很多方法.KMP是一种最常见的改进算法,它可以 ...