凸优化(Convex Optimization)是什么?

3/8/2017来源:ASP.NET技巧人气:1117

”凸优化“ 是指一种比较特殊的优化,是指求取最小值的目标函数为凸函数的一类优化问题。其中,目标函数为凸函数且定义域为凸集的优化问题称为无约束凸优化问题。而目标函数和不等式约束函数均为凸函数,等式约束函数为仿射函数,并且定义域为凸集的优化问题为约束优化问题 。

一、什么是凸优化不严格的说,凸优化就是在标准优化问题的范畴内,要求目标函数和约束函数是凸函数的一类优化问题。二、重要性“凸优化在数学规划领域具有非常重要的地位。”“一旦将一个实际问题表述为凸优化问题,大体上意味着相应问题已经得到彻底解决,这是非凸的优化问题所不具有的性质。”——《<凸优化>译者序》凸优化之所以如此重要,是因为:1、其应用非常广泛,机器学习中很多优化问题都要通过凸优化来求解;2、在非凸优化中,凸优化同样起到重要的作用,很多非凸优化问题,可以转化为凸优化问题来解决;3、如上引用所述,凸优化问题可以看作是具有成熟求解方法的问题,而其他优化问题则未必。

凸优化(Convex Optimization)之所以重要是因为它是所有优化问题中最容易解决的。凸优化包含但不限于线性优化(Linear Optimization)以及一些具有特殊性质的非线性优化(Nonlinear Optimization)。凸优化之所以‘容易’是因为任何可证明的局部最优解(Local Optimal Solution)都同时为全局最优解(Global Optimal Solution)。换句话说,一旦你找到了一个局部最优解,那么它一定是你能找到中最好的(也就是全局最优的)。之所以说它重要,我认为有两点原因:1. 它是所有优化问题中最简单的,很多复杂的算法要基于凸优化,因此很重要; 2. 线性优化是所有优化中最为基本的,一般学习优化算法要从线性优化开始。

http://blog.csdn.net/sunmengGmail/article/details/13998255

http://blog.csdn.net/clheang/article/details/45112059

1. C++标准模板库从入门到精通 

http://edu.csdn.net/course/detail/3324

2.跟老菜鸟学C++

http://edu.csdn.net/course/detail/2901

3. 跟老菜鸟学python

http://edu.csdn.net/course/detail/2592

4. 在VC2015里学会使用tinyxml

http://edu.csdn.net/course/detail/2590

5. 在Windows下SVN的版本管理与实战 

 http://edu.csdn.net/course/detail/2579

6.Visual Studio 2015开发C++程序的基本使用 

http://edu.csdn.net/course/detail/2570

7.在VC2015里使用PRotobuf协议

http://edu.csdn.net/course/detail/2582

8.在VC2015里学会使用MySQL数据库

http://edu.csdn.net/course/detail/2672