凸优化、最优化、凸集、凸函数
原文:https://www.cnblogs.com/AndyJee/p/5048735.html
我们知道压缩感知主要有三个东西:信号的稀疏性,测量矩阵的设计,重建算法的设计。那么,在重建算法中,如何对问题建立数学模型并求解,这就涉及到了最优化或凸优化的相关知识。
在压缩感知中,大部分情况下都转换为凸优化问题,并通过最优化方法来求解,因此了解相关知识就显得尤为重要了。
主要内容:
- 问题引出
- 凸集
- 凸函数
- 凸优化
- 最优化
1、问题引出
在n维空间中,对于任意两个点,对于0<=μ<=1,则表达式μx+(1-μ)y表示x和y连线之间的所有点。
证明略。
2、凸集
定义:
对于某集合中的任意x, y两个点,若x和y连线之间的所有点(0<=μ<=1,μx+(1-μ)y)仍属于这个集合,则称此集合为凸集。
维基百科:http://en.wikipedia.org/wiki/Convex_set
直观的几何表示:
左边的是凸集,右边的不是凸集,因为右边的集合中任意两点x和y连线之间的所有点有时不属于这个集合(右图中的连线)。
3、凸函数
定义:
对于f(x)是定义在某凸集(非空的,空集也被规定为凸集)上的函数,对于凸集中的任意两点x1和x2,若
f[μx1+(1-μ)x2]<=μf(x1)+(1-μ)f(x2)
则称函数f(x)为凸函数。
维基百科:http://en.wikipedia.org/wiki/Convex_function
直观的几何表示:
也就是说两点对应的函数值f(x1)和f(x2)的之间的连线(μf(x1)+(1-μ)f(x2))大于等于相应的(即同一个μ值)两点之间连线(μx1+(1-μ)x2)所对应的函数值f[μx1+(1-μ)x2]。
这其实应叫下凸。
如果把上面不等式中的等号去掉,即
f[μx1+(1-μ)x2]<μf(x1)+(1-μ)f(x2) ,其中0<μ<1
则称f(x)为严格凸函数。
凸函数的判定方法:
- 求导计算判断:
一阶充要条件:
其中要求f一阶可微。
二阶充要条件:
其中要求f二阶可微,表示二阶导数需大于0才是凸函数。
- 常用函数分析法:
指数函数是凸函数;
对数函数是凹函数,然后负对数函数就是凸函数;
对于一个凸函数进行仿射变换,可以理解为线性变换,结果还是凸函数;
二次函数是凸函数(二次项系数为正);
高斯分布函数是凹函数;
常见的范数函数是凸函数;
多个凸函数的线性加权,如果权值是大于等于零的,那么整个加权结果函数是凸函数。
4、凸优化
定义:
同时满足如下两个条件的优化问题称为凸优化:
1)目标函数(objective function)是凸函数;
2)可行集合(feasible set)必须是凸集;
即在凸集上寻找凸函数的全局最值的过程称为凸优化。
对于一下的优化问题:
若目标函数f(x)是凸函数且可行集R是凸集,则称这样的问题为凸优化问题。
或者:
如果目标函数f(x)和共l个约束函数gi(x)都是凸函数,则称这样的问题为凸优化问题。
实际上,可以证明,约束函数gi(x)都是凸函数,则它的可行集是凸集。
凸优化的特点:
1)如果一个实际的问题可以被表示成凸优化问题,那么我们就可以认为其能够得到很好的解决。
2)还有的问题不是凸优化问题,但是凸优化问题同样可以在求解该问题中发挥重要的左右。比如松弛算法和拉格朗日松弛算法,将非凸的限制条件松弛为凸限制条件。
3)对于凸优化问题来说,局部最优解就是全局最优解。
4)若f(x)在非空可行集R上是严格凸函数,则全局极值点是唯一的。
也就是说如果把一个非凸优化问题转化为凸优化问题(松弛算法),则若求得一个局部最优解即为得到了全局最优解(若目标函数在可行集上是严格凸函数,则此解还是唯一的),并且凸优化问题能够比较好的得解决,因此在看压缩感知的文献时经常会看到如何如之何修改一下约束条件使之变为一个凸优化问题。
非凸优化问题如何转化为凸优化问题:
1)修改目标函数,使之转化为凸函数
2)抛弃一些约束条件,使新的可行域为凸集并且包含原可行域
实际建模中判断一个最优化问题是不是凸优化问题的方法:
1、目标函数f如果不是凸函数,则不是凸优化问题
2、决策变量x中包含离散变量(0-1变量或整数变量),则不是凸优化问题
3、约束条件写成g(x)<=0时,g如果不是凸函数,则不是凸优化问题
5、最优化
最优化问题:
线性规划
二次规划
二次约束的二次规划
半正定规划
最优化手段:
梯度上升(下降)法
牛顿法 / 拟牛顿法
坐标下降法:
6、参考文章
http://blog.csdn.net/jbb0523/article/details/40742955
http://m.blog.csdn.net/blog/njustzj001/47400411
凸优化、最优化、凸集、凸函数相关推荐
- 【数值分析】学习笔记3——凸优化1:凸函数和凸优化问题
目录 前言 一.凸函数(Convex Function) 1.什么是凸函数 2.凸函数的性质 (1) 凸函数上任一点的切线均位于函数下方 (2)可微凸函数极小值点(实际问题中的最优解点)的特性 二.凸 ...
- 凸优化 - 2 - 凸集和凸函数
本总结是是个人为防止遗忘而作,不得转载和商用. 前提说明:为了方便查阅,我将整个凸优化的内容分成了很多部分,因为后面的部分用到了前面的知识,所以,如果你的目的是查看后面的内容但对前面的某个知识点不甚了 ...
- 凸优化笔记(2)-凸函数的四种定义
示性函数是凸函数 凸集C⊂RnC \subset R^nC⊂Rn fc(x)={无定义(做扩展的时候,一定要扩展到正无穷和无定义)X∈C0X∉Cf_c(x)= \begin{cases} 无定义(做扩 ...
- 【001】机器学习基础-凸优化基础
为什么开篇第一件事是介绍凸优化呢,原因很简单,就是它很重要! 凸优化属于数学最优化的一个子领域,所以其理论本身也是科研领域一门比较复杂高深的研究方向,常被应用于运筹学.管理科学.运营管理.工业工程.系 ...
- 文献翻译__人工智能时代医学图像重建中的凸优化算法(第4、5、6章)
文章下载–我的Gitee Convex optimization algorithms in medical image reconstruction-in the age of AI 人工智能时代医 ...
- 凸优化第四章凸优化问题 4.2凸优化
4.2凸优化 标准形式的凸优化问题 局部最优解与全局最优解 可微函数的最优性准则 等价的凸问题 拟凸优化 标准形式的凸优化问题 是凸函数,等式约束是仿射函数.则此优化问题是凸优化问题. 也可以写成 重 ...
- 凸集 凸函数 凸优化
目录 写在前面 精简版概念理解 凸集 凸集的性质 凸函数 凸函数性质 凸优化 为什么要求是凸集呢? 为什么要求是凸函数呢? 判断是否为凸函数的简单办法 为什么区分凸优化和非凸优化 非凸优化问题如何转为 ...
- 凸集、凸函数、凸优化问题 概念关联
参考我的博客:http://blog.csdn.net/GoodShot/article/details/79162032 机器学习中,经常会用到凸集.凸函数.凸优化问题. 这里对这些概念进行介绍,简 ...
- 凸优化基础知识笔记-凸集、凸函数、凸优化问题
文章目录 1. 凸集 2. 凸函数 2.1. 凸函数的一阶条件 2.1. 凸函数例子 3. 凸优化问题 4. 对偶 4.1. Lagrange函数与Lagrange对偶 4.2. 共轭函数 4.3. ...
最新文章
- .NET企业级应用架构设计系列之应用服务器
- BIG DATA 大数据时代来临
- Windows系统下nodejs、npm、express的下载和安装教程详解
- 2017年9月9日普级组 优美三角剖分
- 报文交换与分组交换例题
- 工作日志WebRoot--编辑页关于处理两个关联的选择框
- python xml
- ubuntu设置静态ip不能联网
- 给开源项目贡献代码的经历
- 【赶紧收藏】平面设计必备字体,广告设计常用字体
- Unity 经纬度定位
- lan口配置 petalinux_【Xilinx-Petalinux学习】-02-建立PetaLinux工程
- 自学考试java语言程序设计_自考java 04747《Java语言程序设计(一)》教材电子版...
- logmein测试准备
- cesium加载entity图片缩放_Linux 下最棒的 11 个图片查看器 | Linux 中国
- 红旗 Linux 5.0 正式版下载地址
- 电商平台的开发需要注意的问题有哪些?
- cpufreq学习笔记
- 转载 冯羽的程序生涯之我见
- size和sizeof的区别
热门文章
- pyecharts读取数据制作地图图表Geo
- 案例分析:中介提供的二手房合同不规范催生大量房屋买卖纠纷(转)
- SprinBoot集成disConf的过程梳理
- Linux中,如何解决进程被Kill
- com.fasterxml.jackson.datatype:jackson-datatype-jsr310
- Nature综述:微生物构成的氮循环网络(必读)
- vbs脚本实现Ping功能
- python京东抢购手机攻略_Python实现自动上京东抢手机
- 搜索引擎:高级搜索技巧(初)
- 新冠病毒又变种了, Lambda病毒比Delta病毒更危险