首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

掌握机器学习数学基础之凸优化理论(一)

从这篇文章开始,我们会介绍关于凸优化的知识,目录如下:

仿射集,凸集和凸锥

超平面,半空间及凸集分离定理

不改变凸性的运算

凸函数及凸优化简述

无约束的优化,等式约束优化,不等式约束优化

线性规划中对偶理论

拉格朗日对偶理论

读完估计需要10min,这里主要讲解第一部分,其他部分期待之后文章~

仿射集,凸集和凸锥

仿射集:对于一个集合,如果集合内的任意两点构成的直线仍在集合C内,则称集合C为仿射集。仿射集就是包含该集合内任意两点的线性组合,即包含了所有经过该集合集中任意两点的直线的集合。

比如:一维情况下可以类似理解为直线,但仿射集是一个更广意义的直线。

仿射包:对于任意一个集合,集合间所有点的仿射组合称为集合C的仿射包,仿射包是包含某些点构成的集合C的最小仿射集。如果任意仿射集S包含集合C,则集合C的仿射包是集合S的子集。我们一般将仿射包记为:

凸集:实数域R上(或复数C上)的向量空间中,如果集合S中任两点的连线上的点都在S内,则称集合S为凸集,如下图所示:

另外,和仿射组合类似,我们定义凸集组合:

注意的是,仿射组合和凸集组合的区别在于θ的取值,也就是满足仿射组合定义的前提下,要求。

凸包:对应的凸包(convex hull)则可记为:

从定义上来看,凸包肯定是凸集,它是包含集合C的最小凸集。从下图我们可以看出,左边第一个图中的15个点的凸包为阴影包括的多边形,第二个图中肾型集合的凸包为直线封闭下的集合。

凸集和仿射集的联系和区别:从定义我们可以看出,仿射集和凸集间的区别就在于凸集是线段在集合中。仿射集要求的是集合中经过任意两点的直线上的任意点都在集合中。

注意:有人说凸集是仿射集的子集,但其实谁也不是谁的子集。确切的讲,包含所有仿射集的集合是包含所有凸集的集合的子集,因为一个仿射集是一个凸集。凸集定义比仿射集的定义更加苛刻,但是条件更加的苛刻不等于就是子集,不等于他们就是一类。比如,如果我们要区分固态和气态,常温常压下二氧化碳就是气态,如果限定他的温度、压力,条件更加苛刻,让其变成固态的干冰,我们还能说二氧化碳就是气态吗?我们能说固态是气态的子集吗?不能,因为“类别(集合)是根据某些固定条件去定义的”,而不是靠“苛刻程度”去识别的,所以我们有明确一下两个基础逻辑。

凸锥:锥体(cone)的定义为如果集合C中的任意点,其中,则集合C称为锥。如果集合既是凸集又是锥体,我们就称该集合为凸锥(convex cone)。凸锥的数学表达为:

凸锥中各点的线性组合我们称之为凸锥组合(conic combination),某集合C的各点的凸锥组合构成集合C的锥包(conic hull),记为

锥包:与仿射包和凸包类似,锥包也是包含集合C的最小凸锥集合。以下是两个锥包的实例,阴影部分表示集合构成的锥包,当然,顶点位置不同,所表示出的锥包也各不相同:

上图中第一个图中的15个点的锥包为阴影部分的集合,对应的第二个图中肾型集合的凸锥集合。

综合举例:

空集、单点和实数域的点集是仿射集,因此,也是凸集。

一条直线是仿射集,如果直线过原点,那么它还是凸锥。

一条线段是c凸集的,但不是仿射集,除非该线段仅含有一个点。

一条射线是凸集的,但不是仿射集,如果为0, 则是凸锥。

基本概念,好好消化

超平面,半空间及凸集分离定理

2、超平面和半空间

超平面:数学表达式为,Emmm...理解不了,但实际上,我们这样想,二维空间的超平面就是一条线(可以使曲线),三维空间的超平面就是一个面(可以是曲面),那高维的时候,也就是超平面了,为什么叫这个名字,也就是要定义一般化的一个界线。

半空间:数学表达式为,,Emmm...又理解不了,简单理解,如下图,上面说了,超平面就是一个空间的一个界线,也就是说,超平面可以将空间分为两个半空间,举个二维例子:

凸集分离定理:所谓两个凸集分离,直观地看是指两个凸集合没有交叉和重合的部分,因此可以用一张超平面将两者隔在两边,如下图所示:

不改变凸性的运算

不改变凸集性质的运算对于凸集而言很重要,因为凸集的优良性质会使得优化求解过程更为简单,同时,我们也可以根据具体问题构建凸函数解决对应问题。不改变凸集的运算主要有以下几种:

透视函数:透视函数的直观理解如下:为一个不透光隔板,只有在原点有一个小孔,光透过小孔投射至的隔板上,如果上面的光点所构成的集合是凸的,那么投射至下方的光点构成的集合也是凸的。更加直观的想象我们通过一个针孔照相机去拍摄一个凸的对象,那么生成的图像也是凸的,如下图所示:

数学描述如下:

AI遇见机器学习

mltoai

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180113G0QH2X00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券