本总结是是个人为防止遗忘而作,不得转载和商用。

前提说明:为了方便查阅,我将整个凸优化的内容分成了很多部分,因为后面的部分用到了前面的知识,所以,如果你的目的是查看后面的内容但对前面的某个知识点不甚了解的话可以根据标题查看前面的部分。

凸集

既然是讲解凸优化,那不了解凸集怎么能行,不过在此之前先了解个和凸集有“一点点”不同的仿射集。

仿射集:若通过集合C中任意两个不同点的直线仍在集合C内,则称集合C为仿射集。

数学语言表达的话就是:

这个知道下就好,下面看看凸集的定义吧。

凸集:若集合C内任意两点间的线段均在集合C内,则称集合C为凸集。

定义的数学语言版:

嘛,定义还是蛮好理解的,我就不多解释了,下面看几个例子来排除下某些容易混淆的家伙。

上图的第一排:

第一个:是凸集

第二个:不是凸集,原因图中已经标的很清楚了

第三个:不是凸集,有些边没有包含集合的话也不能叫凸集。

凸集和凸函数:

有了前面的基础之后,凸函数就好说明了(其实主要是其定义的数学表达公式容易理解)。

首先先给出凸函数的图像,如下:

你可能会问:这不是凹函数吗?

诚然,在数学中这种图形的函数有的叫凹函数,有的叫下凸函数,反正叫什么的都有,但!在机器学习中,这种就是凸函数,完全没有歧义!

不过仅仅说“这种是凸函数”还是不能让人信服,于是我们来看看凸函数的定义吧。

         定义:

若函数f的定义域domf为凸集,且满足

∀x,y ∈ domf,0≤θ≤1,有

f(θx + (1-θ)y) ≤ θf(x) + (1-θ)f(y)     式2

则这样的函数f就是凸函数。

什么意思?来看下图,下图的弧线是函数f的曲线。

还记得之前“直线的向量表达”的内容吗?(不记得的话看看本总结的最开始)。

θx + (1-θ)y:代表x和y之间的某个点,如果θ=0,就是y点,如果θ=1就是x点。

于是式2的左边不用多说,仅仅是单纯的把(θx + (1-θ)y)这个点带入函数f,也就是上图x和y之间的弧线。

还是根据“直线的向量表达”的知识,式2的右边就是点(x,f(x))和点(y,f(y))之间的线段。

于是定义就是表达:如果“函数f上任意两点的连线”在“函数f这两点之间函数f图像”的上面的话,这样的函数就是凸函数。

或者简单的说:如果悬线在函数上方,那这样的函数就是凸函数。

凸函数的定义OK了,就进一步说点东西:

如果一个函数是凸函数,则该函数的图像上方区域一定是凸集。反过来也成立,即:如果一个函数图像的上方区域是凸集,则该函数是凸函数,于是如下图所示:

这个图像就是函数y=x2的图像,这个函数是个在明显不过的凸函数,它的上方区域就是凸集。

注意:

凸集并不一定都能对应到凸函数,因为函数的最根本条件是:对于函数y=f(x),只有一个y,而如下图所示

我取一个点x1,在经过圆构成的凸集时产生了2个y,这与函数的最根本条件就冲突。

一些比较常见的凸函数有:

保持函数凸性的算子

知道了什么是凸函数后,这里说下什么样的运算会让函数不丢失凸性。

下面的f(x)代表凸函数,而下面的运算的结果会继续保持凸性:

1,凸函数的非负加权和

f(x) = w1f1(x)+ ... + wnfn(x),wn > 0

2,凸函数与仿射函数的复合

g(x)= f(Ax + b)

eg:y = u2是凸函数,而u =ax+b,则 y = (ax+b)2也是凸函数

3,凸函数的逐点最大值、逐点上确界

a,f(x) = max(f1(x),..., fn(x))

b,f(x) = sup g(x,y),其中y∈A

这里特别说明下上面的第三条,一是仅看公式不太好理解,二是这条十分重要!

第三条中的a的意思是:如果fn(x)是凸的,则对fn(x)逐点最大值形成的函数也是凸的,见下图:

这里我随便给了两个凸函数(两个红色的曲线就是这两个函数的图像),我在坐标轴上随便取四个点x1,x2,x3,x4,这四个点在两个函数中都有对应的值,而这时我们取较大的那个,即:图中蓝色箭头所指的地方,按照这样的方式把两个函数的定义域取一遍从而形成一个新函数:蓝色弧线框住的部分。而这个新函数也一定是凸函数。

好了,上面的理解了后我问读这篇文字的你一个问题:直线是凸函数吗?

答案是:是。

因为,如下图:

图1

上图那些蓝色的是直线(不要吐槽箭头,QQ截图里没法画直线....),这些直线够乱的了吧,这时按照上面第三条中的a中的说法,我取所有直线的最上面的区域,即红色那块,是凸函数吧!于是直线就是凸函数。

顺便一提:上面包围红色的那些线就是这所有直线函数的上确界。

至于,上面第三条中的b,其实就是a的连续版本,它的意思是:如果g(x, y)是凸的,我们对y在所有的集合中取上界(和max几乎一个意思),那它的结果f(x)也是凸的。

凸优化 - 2 - 凸集和凸函数相关推荐

  1. 【凸优化笔记二】凸函数基本性质和例子

    [凸优化笔记二]凸函数基本性质和例子 凸函数的四个定义 定义一 定义二 定义三 定义四 一些栗子 凸函数的四个定义 定义一 其中 dom fff 是函数 fff 的 定义域(前域),为凸集--这个很重 ...

  2. 凸优化问题定义及其凸函数、凸集、仿射函数相关概念和定义

    目录 1.凸优化相关概念 1.1凸集 1.1.1 定义 1.1.2 几何定义 1.2凸函数 1.2.1 定义 1.2.2 几何定义 1.2.2.1 两点法 1.2.2.2 一点法 1.3仿射函数 2. ...

  3. 凸优化第三章凸函数 3.1基本性质和例子

    3.1基本性质和例子 定义 扩展值延伸 一阶条件 二阶条件 例子 下水平集 上境图 Jensen不等式及其扩展 不等式 定义 函数f是凸函数,当f的定义域S是凸集,且 严格凸函数: 从几何上来看,如下 ...

  4. 【数值优化之凸集与凸函数】

    本文参考书籍<最优化计算方法>,若侵权请联系删除 目录 1 凸集的相关定义 1.1 凸集.仿射集 1.2 凸组合.凸包 1.3 重要的凸集 1.3.1 超平面与半空间 1.3.2 球.椭球 ...

  5. 凸优化第三章凸函数 3.5 对数-凹函数和对数-凸函数

    3.5 对数-凹函数和对数-凸函数 定义 相关性质 定义 称函数对数凹,如果是凹函数. 称函数对数凸,如果是凸函数. 函数f是对数凸的当且仅当1/f是对数凹的. 当时,,相当于对log(f)进行扩展值 ...

  6. 凸优化第三章凸函数 3.3 共轭函数

    3.3 共轭函数 定义 基本性质 定义 设函数,定义函数为: 此函数称为f(x)的共轭函数.从3.2节逐点上确界的内容也可以看出,此函数也是的逐点上确界函数,而是关于y的仿射函数,可以将其看成是凸函数 ...

  7. 凸优化第三章凸函数 3.3共轭函数

    3.3共轭函数 定义 基本性质 定义 设函数,定义函数为: 此函数称为f(x)的共轭函数.从3.2节逐点上确界的内容也可以看出,此函数也是的逐点上确界函数,而是关于y的仿射函数,可以将其看成是凸函数, ...

  8. 凸集、凸函数、凸优化问题 概念关联

    参考我的博客:http://blog.csdn.net/GoodShot/article/details/79162032 机器学习中,经常会用到凸集.凸函数.凸优化问题. 这里对这些概念进行介绍,简 ...

  9. 【数值分析】学习笔记3——凸优化1:凸函数和凸优化问题

    目录 前言 一.凸函数(Convex Function) 1.什么是凸函数 2.凸函数的性质 (1) 凸函数上任一点的切线均位于函数下方 (2)可微凸函数极小值点(实际问题中的最优解点)的特性 二.凸 ...

最新文章

  1. ccc计算机比赛如何报名,整理:加拿大的CCC是什么,怎么报名?
  2. Windows平台SSH登录Linux并使用图形化界面
  3. 自动释放池autoreleasepool
  4. 1499抢飞天茅台?可惜了,才26万的并发app就崩了!
  5. 微信小游戏复活了传统PC游戏
  6. React Native指南
  7. 请求url处理java_【脚本写作】Java: HttpURLConnection请求处理
  8. 一站式快速实现应用现代化,IBM Cloud Pak做对了什么? | 技术公开课
  9. restful api和普通api有什么特点_Django REST Framework教程(1): 什么是序列化和RESTful的API
  10. USACO_1_2_Dual Palindromes
  11. 企业wiki之confluence安装部署(linux)及其破解
  12. CSS选择器之基本选择器总结
  13. BXP无盘介绍(转)
  14. 虚拟机win7纯净版镜像_win7中文版家vm虚拟机xp镜像庭普通版32位官方下载
  15. redies常用命令
  16. 电机电缆M12航空插头
  17. 02-AD软件基本使用第二讲(器件介绍)
  18. 智能相机与工业相机_使用智能手机相机后如何移动到专用相机
  19. 联想笔记本Ideapad300S-14ISK安装固态硬盘和win10
  20. 文档在线化管理系统Confluce使用

热门文章

  1. spring security logout(spring security登出示例)
  2. insmod 加载模块过程、modprobe 与 insmod的区别 、lsmod命令
  3. 卡尔曼滤波Kalman Filtering:介绍
  4. 论文投稿指南——中文核心期刊推荐(能源与动力工程)
  5. 跑步感到痛苦,试试超慢跑
  6. 嵌入式系统求职回忆录1
  7. org.bouncycastle.util.encoders.Base64.decode 解码去换行问题
  8. 《计算机组成原理》— 指令系统
  9. HMM(Hidden Markov Model)
  10. Qt windows端的蓝牙串口服务