目录

1.凸优化到底是什么?

1.1 基本概念

1.2 凸优化和非凸优化

2、集合概念

2.1 仿射集、仿射包、仿射组合

2.2 凸集、凸包、凸组合

2.3 锥、凸锥

3.凸函数与非凸函数

4.总结


1.凸优化到底是什么?

1.1 基本概念

凸优化就是优化问题的一个特例,我们所知道的优化问题就是在一定的限制条件下求得目标函数最优值,可以是最大值也可以是最小值,那么在经济学上面就是在有限的资源下面寻求资源的最大利用效益。

那么,优化问题按照不同的分类可以得到很多中细分类,比如线性规划与非线性规划等等。

凸优化就是优化问题的一个特例,其固有的形式如下:

很多非凸问题也可以通过某种形式转化成凸优化问题来求解其近似解(一般在找不到原问题的解或求解原问题所需的时间复杂度太大的情形下使用)。这是解决一类问题的一种技巧,在深度学习的一些模型中经常用到。这是一种逼近的思想。

1.2 凸优化和非凸优化

在最小化(最大化)的优化要求下,目标函数是凸函数且约束条件所形成的可行域集合是一个凸集的优化方法,因此凸优化的判定条件有两个

  • 函数定义域是凸集
  • 目标函数是凸函数

2、集合概念

2.1 仿射集、仿射包、仿射组合

 (1)仿射集(Affine set)

仿射集(Affine set)是包含过两个不同的点的直线的所有点。(“所有点”的集合)

比如,我们举一个小例子:

(2)仿射组合(affine combination)

仿射集包含了集合内点的所有仿射组合。

(3)仿射包(affine hull)

 (4)仿射集合的子集

2.2 凸集、凸包、凸组合

(1)凸集

凸集是包含两个不同点之间的直线的所有点。(“所有点”的集合)

所有仿射集都是凸的,因为它包含集合中任意不同点的所有直线。

都是对集合本身性质的描述,但是有所不同,否则就拥有一样的名字了,不同点就在于数值的取值范围:仿射集对集合的要求包括了凸集对集合的要求,因此可以说仿射集比凸集要求更高,不仅要满足凸集的定义(在区间[0,1]之间),还要满足 在区间[0,1]之外)。

①仿射集的概念:一个集合是仿射集,当且仅当集合中经过任意两点的直线(而不是线段)上的点仍在集合中。

②凸集的概念:一个集合是凸集当且仅当该集合中任意两点的连线上的所有点(即线段)仍然属于该集合。

  • 判定条件上,凸集比仿射集更弱,只对系数大于0的线性组合作出要求。换句话说,判定集合是凸集的判定条件判定集合是仿射集的判定条件的子集
  • 从具体的点集来说,是仿射集的一定是凸集,反之不然。换句话说,所有仿射集的集合所有凸集的集合的子集
  • 从点集的包的角度来说,一个点集的凸包这个点集的仿射包的子集

 (2)凸组合(构建凸集合的具体模型)

 (3)凸包(构建凸集合的方法)(convex hull)

(4)仿射包(affine hull)、凸包(convex hull)

这两个概念是对已有集合生成新的集合的方法,定义如下:

对于空间中的两点,其仿射集是过这两点的直线,其凸集是连接两点的线段,线段应该是直线的子集。所以这里描述的直线和线段应该分别是这两点组成的集合的仿射包和凸包。因此有:

注意:从集合的角度来看和从包的角度来看是不一样的。

2.3 锥、凸锥

(1)锥

(2) 凸锥

即集合C如果既是凸集也是锥,那么这样的集合就叫凸锥,凸锥也一定包含原点。

(3)锥组合

(4)锥包(cone hull)

3.凸函数与非凸函数

通常将函数分为凸函数和非凸函数。凸函数的几何意义在于,定义域中任意两点连线组成的线段都在这两点的函数曲线(面)上方。凸函数是有且只有全局最优解的,而非凸函数可能有多个局部最优解。

因此,当很多模型不是凸函数时,我们往往尝试绞尽脑汁去将其变换为凸函数和拟凸函数。

3.1 强凸函数

强凸函数有三种定义:

3.2 严格凸函数

3.3 拟凸函数

3.4 凸函数判定方法:(非常重要)

3.4.1 凸函数判定条件

(1)一阶充要条件(不常用)

(2)二阶充要条件(常用)

3.4.2 凸优化判定条件

判定一个优化是不是凸优化,有下面的凸优化判定条件:

①对于一元函数f(x),首先必须定义域是凸集,其次通过其二阶导数f′′(x) 的符号来判断。如果函数的二阶导数总是非负,即f′′(x)≥0 ,则f(x)是凸函数。
    ②对于多元函数f(X),首先必须定义域是凸集,其次通过其Hessian矩阵(Hessian矩阵是由多元函数的二阶导数组成的方阵)的正定性来判断。如果Hessian矩阵是半正定矩阵,则是f(X)凸函数。

4.总结

总结来看:

  • 凸函数判定中首先要保证定义域为凸集合,且保证目标函数为凸函数;关键在于判定凸函数。
  • 一般的凸优化函数形式是min f(x)的形式,那么这时取得的局部极小点就是全局最小点;有时候凸优化(convex)的函数形式为maxf(x)的形式,此时可以将其转换为minf(x)的形式,那么原来的形式只要是凹函数(concave)即可求得局部极大值即全局最大值;
  • 无约束优化问题,如果是一个凸优化问题,那么极值点就是全局最大或者最小点;

优化问题---凸优化基本概念相关推荐

  1. 机器学习+优化问题的种类、如何优化、凸优化、非凸优化、对偶问题、KKT条件

    机器学习+优化问题的种类.如何优化.凸优化.非凸优化.对偶问题.KKT条件 目录

  2. 【机器学习】凸集、凸函数、凸优化、凸优化问题、非凸优化问题概念详解

    目录 1 基本概念 2 凸优化问题 3 非凸优化问题 4 总结 1 基本概念 (1)凸集和非凸集 凸集是一个点集, 这个点集有一个性质, 就是在这个集合中任取不同的两个点x和y, 他们之间的线段(包括 ...

  3. 凸优化一(基本概念介绍)

    背景知识 优化问题 凸优化是一类数学优化问题,介绍凸优化前先简单介绍数学优化问题. 优化问题定义(形式): minimizef0minimizef0 minimize \quad f_{0} subj ...

  4. 凸集 凸函数 凸优化

    目录 写在前面 精简版概念理解 凸集 凸集的性质 凸函数 凸函数性质 凸优化 为什么要求是凸集呢? 为什么要求是凸函数呢? 判断是否为凸函数的简单办法 为什么区分凸优化和非凸优化 非凸优化问题如何转为 ...

  5. 【001】机器学习基础-凸优化基础

    为什么开篇第一件事是介绍凸优化呢,原因很简单,就是它很重要! 凸优化属于数学最优化的一个子领域,所以其理论本身也是科研领域一门比较复杂高深的研究方向,常被应用于运筹学.管理科学.运营管理.工业工程.系 ...

  6. 唤醒手腕 - 人工智能 - 凸优化、损失函数、概率、激活函数、泛化拟合、回归分类 ···

    机器学习 知识点补充 特征.样本.数据集 特征(Feature):特征是用来描述机器学习系统处理的对象或事件的特性. 样本(Sample):样本是指我们从某些希望机器学习系统处理的对象或事件中收集到的 ...

  7. 凸优化学习:PART1凸集

    凸优化学习PART1 一.引言:优化问题简介 优化问题的定义 凸优化是优化的一种,是优化中比较容易的问题.在讲解优化问题前,首先说明什么是优化/数学规划(Optimization/Mathematic ...

  8. 文献翻译__人工智能时代医学图像重建中的凸优化算法(第4、5、6章)

    文章下载–我的Gitee Convex optimization algorithms in medical image reconstruction-in the age of AI 人工智能时代医 ...

  9. 凸优化学习笔记 11:对偶原理 拉格朗日函数

    前面讲了凸优化问题的定义,以及一些常见的凸优化问题类型,这一章就要引入著名的拉格朗日函数和对偶问题了.通过对偶问题,我们可以将一些非凸问题转化为凸优化问题,还可以求出原问题的非平凡下界,这对复杂优化问 ...

最新文章

  1. 模块化的 Windows 7
  2. 信息安全系统设计基础第五周学习总结
  3. 漫谈流式计算的一致性
  4. matplotlib markers的类型
  5. 五年烧光 3.5 亿美金,互联网独角兽是如何把自己玩死的?
  6. vba窗体 点击增加减少_EXCEL之VBA-窗体实例多页控件的基础应用
  7. 力扣-268 丢失的数字
  8. 浅谈Hybrid技术的设计与实现
  9. JavaScript 验证 API中的setCustomValidity()方法
  10. c语言求婚代码大全,求一个C语言表白的代码
  11. 网络安全界基于知识的识别和映射提出网络空间资源分类明细
  12. matlab三角二倍角公式,数学三角函数常用的二倍角公式
  13. python实现税后工资_Python实现扣除个人税后的工资计算器示例
  14. 什么是pch?pch的作用?
  15. Ubuntu Desktop - Terminal 输出全部选中 + 复制
  16. permission denied什么意思
  17. [技术干货] zabbix docker安装详细教程
  18. 关于劳动者休假的法律法规
  19. 如何调用百度卫星地图
  20. 超市零售数据分析-大数据项目

热门文章

  1. UUID跟UDID的区别
  2. 购买二手苹果笔记本有哪些注意事项
  3. 基于bp神经网络汽车自动变速器最佳挡位判断(Matlab代码实现)
  4. 平台业务收款分账产品设计 - 进件
  5. 安装robot.js踩坑记录【含出坑指南】
  6. 微信环境中无法下载APP的解决方案
  7. 一款简洁实用电脑屏幕录制工具
  8. 安卓最酷最炫的3D桌面 SPB主题SPB Shell 3D最新版评测
  9. 如何在win10安装C++builder 6.0
  10. 网络相关面试题(持续更新)