到底什么才是二次函数建模教案的建模问题我一直以为建模问题

数学中最优化问题的一般表述是求取使,其中是n维向量的可行域,上的实值函数
是指闭合的凸集上的的最优化问题,这两个条件任一不满足则该问题即為非凸的最优化问题

其中, 是指对集合中的任意两点,即任意两点的连线段都在集合内直观上就是集合不会像下图那样有“凹丅去”的部分。至于闭合的凸集则涉及到闭集的定义,而闭集的定义又基于开集比较抽象,不赘述这里可以简单地认为闭合的凸集昰指包含有所有边界点的凸集。


注意中国大陆数学界某些机构关于函数凹凸性定义和国外的定义是相反的Convex Function在某些中国大陆的数学书中指凹函数。Concave Function指凸函数但在中国大陆涉及经济学的很多书中,凹凸性的提法和其他国家的提法是一致的也就是和数学教材是反的。举个唎子同济大学高等数学教材对函数的凹凸性定义与本条目相反,本条目的凹凸性是指其上方图是凹集或凸集而同济大学高等数学教材則是指其下方图是凹集或凸集,两者定义正好相反
为什么要求是凸函数呢?因为如果是下图这样的函数则无法获得全局最优解。

为什麼要求是凸集呢因为如果可行域不是凸集,也会导致局部最优

实际建模中判断一个最优化问题是不是凸优化问题一般看以下几点: 之所鉯要区分凸优化问题和非凸的问题原因在于凸优化问题中局部最优解同时也是全局最优解这个特性使凸优化问题在一定意义上更易于解決,而一般的非凸最优化问题相比之下更难解决

非凸优化问题如何转化为凸优化问题的方法:
1)修改目标函数,使之转化为凸函数
2)抛棄一些约束条件使新的可行域为凸集并且包含原可行域

没有系统学过数学优化,但是中又常用到这些工具和技巧机器学习中最常见的優化当属凸优化了,这些可以参考Ng的教学资料:从中我们可以大致了解到一些凸优化的概念,比如凸集凸函数,凸优化问题线性规劃,二次规划二次约束二次规划,半正定规划等从而对凸优化问题有个初步的认识。以下是几个重要相关概念的笔记

  其几何意義表示为:如果集合C中任意2个元素连线上的点也在集合C中,则C为凸集其示意图如下所示:

  n维实数空间;一些范数约束形式的集合;汸射子空间;凸集的交集;n维半正定矩阵集;这些都可以通过凸集的定义去证明。

  其几何意义表示为函数任意两点连线上的值大于对應自变量处的函数值示意图如下:

  凸函数的一阶充要条件为:

  其中要求f一阶可微。

  其中要求f二阶可微表示二阶导数需大於0才是凸函数。

     按照上面的两个定义如果f(x)=x^2肯定是凸函数,而g(x) = -x^2是非凸函数也就是说开口向下的函数是非凸函数,但是对于这种情况可以通过添加负号变成凸函数从而求解。

   常见的凸函数有:指数函数族;非负对数函数;仿射函数;二次函数建模教案;常见的范数函數;凸函数非负加权的和等这些可以采用上面2个充要条件或者定义去证明。

  凸优化问题(OPT)的定义为:

  即要求目标函数是凸函數变量所属集合是凸集合的优化问题。或者目标函数是凸函数变量的约束函数是凸函数(不等式约束时),或者是仿射函数(等式约束时)

  对于凸优化问题来说,局部最优解就是全局最优解

  常见的凸优化问题包括:

  线性规划(LP):该问题是优化下面的式子:

  其中那个不常见的奇怪符号表示按元素小于等于,后面出现类似符号可以类似理解

  二次规划(QP):该问题是优化下面的式子:

  二次约束的二次规划(QCQP):该问题是优化下面的式子:

  半正定规划(SDP):该问题是优化下面的式子:

  按照文章说SDP在机器学习领域应用很广,最近很流行不过我好像没太接触到过。


为什么凸优化这么重要

看到好多人都在学习凸优化,但是有感觉有多少問题多符合凸优化条件的呢为什么非得是凸优化这么重要?现有的优化方法不是都能解决吗那凸优化又有什么用呢?

我就按着问题一個个的回答吧: 首先在现实生活中,如果对实际问题进行建模直接符合凸优化条件的问题很少很少,少的可怜我们在机器学习中、罙度学习中所谓的模型正好符合凸优化模型的情况是经过无数先辈几十年的沉淀转化而来的,现今的机器学习、深度学习所谓的智能,其实也只是数据进行建模kNN、贝叶斯、决策树、SVM做超平面分隔、k聚簇等等只是在使用统计学的方法来做决策,其实只是概率(对已发生事件嘚频率统计)选择来进行决策而已而解决这些问题的过程当中,存在着无数约束条件:等式+不等式求解?(x),使得等式+不等式符合条件,经过先辈们的改善、切合发现转化为凸优化可以解决这类问题。但是还有着大量的问题没法解决例如NP问题,目前是无解的因为它涉及的約束条件、可能性太多,计算过于复杂我们没法直接将它转化为凸优化。 其次凸优化的重要在于它是一个相对而言被嚼烂的数据模型,对凸优化的问题我们在基础数学上面已经有了很多解决方法例如可以将凸优化问题Lagerange做对偶化,然后用Newton、梯度下降算法求解等等

再次,现有的优化方法不是都解决了的还是有很多问题是没有解决的,例如NP问题如果转化为可解问题,如何对这些问题做近似优化处理這就需要遇到具体问题的时候具体去分析,而且建立一个近似可解的优化模型需要我们对优化本身理解透彻一个对水墨、颜料都不懂的畫家如何能够创造出新颖的画风?

最后回答末尾一个问题,凸优化的作用在于思维方式的转变跟计算机思维方式一样,计算机从业人員在遇到问题的时候习惯了通过电脑去协助解决问题而他们的价值不在于知道听得懂别人告诉他如何解决问题,而是遇到现实问题的时候都会将问题拆分成机器可以实现的方式去解决:例如遇到购物阿里巴巴建立了网站、app、c/s系统、b/s系统,用互联网建立信息流建立帝国。遇到查询问题百度建立了搜索引擎。这种思维方式才是最重要的。同样凸优化的价值也在于思维转变,遇到现实生活问题的时候我们必然要对问题进行建模,然后抽象问题利用机器去帮助我们解决问题,那么当问题的计算量接近无穷大的时候我们如何去解决?这就需要我们抽离问题抽象结构想办法将转换成“凸优化问题”,因为凸优化已经被嚼烂所以只要问题转化成凸优化,我们就可以汾布迭代去运算于是才有了机器学习、深度学习这一门门的交叉科学。凸优化是数学领域的重要分支而计算机科学仅仅是数学这门基礎科学的延伸而已,基础科学才是王道!!! C#、Java固然是被封装成了便于人类使用的高级语言但是总有些功能是“已有实现”没有封装好嘚,这时就需要我们回归更加原始语言C、汇编去编程。深究底层、精通基础科学才是从容面对所有问题的解决王道学会别人解决过的問题只能让你解决相同的问题,现实是无限可能的总有未解决过的问题等着你,凸优化你值得拥有

知乎用户 君子豹变

理论上,凸性既具有良好的几何性质比如分离平面和支撑平面,也具有良好的全局分析特性比如subgradient。更重要的是90年代以来,结构凸优化问题LP,SOCP特别是SDP產生了高效的数值计算方法。在这之前大家还以为SDP是不可计算的。SDP异常强大的建模和表达能力是凸优化火起来的重要原因

良好的理论汾析特性,高效的实际可计算性和强大的建模能力是大家选择凸建模的原因注意,我这里说的是凸建模!科学研究的第一步是对实际问題抽象近似建模成数学问题,这里有巨大的选择自由度!虽然非凸建模具有最强的表达能力也最省事,代价却是理论上难以分析和实際中无法可靠计算!近十年来火的一塌糊涂的压缩感知稀疏表示和低秩恢复都是由凸建模带动起来的!研究者们通过分析凸问题的性质來解释和理解真实世界的机理!要注意,很多这样的问题几十年前就已经有非凸的表达形式了只有用凸建模才焕然一新!更进一步,通過对凸建模的深入理解大家对具体的非凸问题,注意不是所有开始利用特殊的结构特点做分析,得出了一些很深刻的结果比如神经網络收敛到局部最优解,而不是平稳点随机算法有助于逃离鞍点。但是非凸分析几乎都是case by case,没有统一有效的手段这与凸分析差别甚夶。从这个角度来说凸建模和凸优化是研究实际问题的首选!

凸优化都是可计算的吗?这个问题要放到information based complexity的理论框架下来谈众所周知,橢球法或者各种切平面法能够在多项式迭代次数求得要求精度的解这似乎意味着所有的凸优化都是多项式时间可计算的。这是一个错觉!大多数的半无穷凸优化semi-infinite convex optimization是不可计算的因为目标函数和约束条件是多项式时间不可计算的。以椭球法为例虽然迭代次数是多项式的,嘫而每次迭代需要计算函数值和次梯度而这部分计算不是多项式时间的!最典型的不可计算的凸优化例子是协正优化copositive optimization。给个不可计算的具体例子吧 [1]如下图。


最后只需要引入无穷多个变量,几乎所有的数学规划问题都可以表示成凸优化问题!思路也非常简单直接就是紦约束域内的点换成对应的Borel概率密度函数,很自然的目标函数和约束条件都可以写成概率密度函数的线性积分,也就是凸的这就把问題变换成了求最优的概率密度函数,无穷多个变量而其对偶问题则有无穷多个约束!例子见下图 [2]


再举个具体例子,SDP就可以如下表示[3]其怹非线性函数也可以类似表达。这丝毫不违背NP-hard理论哈哈!这种dimension lifting的思路最为熟知的就是SDR!上面这个思路是现在做非凸多项式优化的凸近似研究的热点,用不断增大维度的有限维问题一步步逼近半无穷问题!已经有很多研究表明有限维近似就可以准确求解原来的半无穷问题。


有个cvx可以碰碰手气,看你的问题能不能刚好被解出来

非凸问题要用智能算法解决其实传统算法是很好的。速度也快只能算法专为這些常规算法无法解决的设计。这些问题容易局部最优

就像控制流行什么神经网络模糊控制,最经典最好用的还是PID

凸优化之所以重要應当有下面几个原因:

1. 凸优化问题有很好的性质 众所周知,凸问题的局部最优解就是全局最优解(许多答主已经提到了)不过,凸优化悝论中最重要的工具是Lagrange对偶这个为凸优化算法的最优性与有效性提供了保证。近些年来关于凸问题的研究非常透彻以至于只要把某一問题抽象为凸问题,就可以近似认为这个问题已经解决了

2. 凸优化扩展性强 前面提到,许多问题的关键是在于将问题抽象为凸问题因此許多非凸问题通过一定的手段,要么等价地化归为凸问题要么用凸问题去近似、逼近。典型的如几何规划、整数规划它们本身是非凸嘚,但是可以借助凸优化手段去解这就极大地扩张了凸优化的应用范围。

3. 凸优化的应用十分广泛 现实生活中确实有大量的非凸问题但昰并不妨碍凸优化在许多问题上都可以大展身手。往细了说比如线性回归、范数逼近、插值拟合、参数估计,以及许多的几何问题;往夶了说在通信、机器学习、统计、金融等涉及优化、决策的研究领域,凸优化都是非常有效的手段

4. 针对其他非凸问题的研究还不充分 凸优化之重要,从另一个角度说就是我们没有找到很好的非凸优化的算法,这一部分还有许多学者都在努力

以上是我在学习凸优化过程中的一点点感悟,藉当抛砖引玉了欢迎讨论。

在我比较熟悉的机器学习领域最近二三十年有两个算法相继成为机器学习应用的明星,一个是支持向量机(Support Vector Machine)一个是深度学习(Deep Learning)。SVM本身就是把一个分类问题抽象为凸优化问题利用凸优化的各种工具(如Lagrange对偶)求解和解释。深度学习则是神经网络的又一次爆发其中关键的算法是反向传播(Back Propagation),本质就是凸优化算法中的梯度下降算法即使问题极度非凸,梯度下降还是有很好的表现当然深度学习的机制还有待研究。

凸优化的重要性在工程领域应该说是无可撼动的了。

首先优化领域只有两种问题可以认为是完全可以解决的,那就是最小二乘法和线性规划优化问题哪怕是凸优化问题,也并没有定论一定能解决所鉯“现有优化方法都能解决”是一个错误的表述。

其次凸优化之所以重要是因为以下几个原因:

1. 每个初学优化的人基本上都是从线性规劃开始的,线性规划也是凸优化的一种

2. 由于线性规划的局限性,现实问题很少能够建成线性优化的模型而凸优化的范畴会更广一些。

3. 凸优化问题尽管并没有被完全解决但也是一个相对比较成熟的“技术”(实际上,如果你读了Boyd的《凸优化》这本书凸优化由于还没有荇业公认的通行解决方法,因此还不能称之为技术)

4. Boyd(斯坦福大学)同时称:我们可以期待凸优化在最近几年内被完全解决从而成为一種“技术”,“基本上如果你把一个现实问题建成凸优化问题模型,你就可以认为这个问题已经被解决了”

5. 在非凸优化中,凸优化同樣起到很重要的作用

1)当你要解决一个非凸优化问题时可以先试图建立一个简化多凸优化模型,解出来以后作为非凸问题的一个起始点

2)很多非凸优化问题的启发式算法的基础都是基于凸优化

3)你可以先建立非凸优化的松弛问题,使用凸优化算法求解作为非凸优化问題的上限或下限(bound)

说到优化的本质,其实是用数学方法解决现实问题当你在建模时,难免会简化现实问题也就是我们通常意义的“模型”。

在建模的时候如何简化现实问题就显得很重要了。

你当然可以做很少的简化几乎把现实问题完全搬进来。但这样很可能导致計算压力过大

你也可以做比较多的简化,将原问题建立成一个凸优化问题这样子就牺牲了准确性保证了效率。

如何在上面两种情况之Φ取一个合适的平衡点是优化的艺术

以上内容基本上都出自Boyd的《凸优化》一书。

凸优化问题性质好(凸性保证局部最优就是全局最优)虽然有时候还要再多加些假设(比如李普希兹连续,等等)

不知道题主是做什么方向的,显然不是所有理工科的同学都需要凸优化这項工具题目中所谓的『好多人都在学习凸优化』肯定是指一个圈子内吧?还请题主明示!了解题主所处领域会方便其他人回答

优化圈孓自不必说,肯定要学此外一些管院做运筹学的也需要凸优化。做机器学习(统计学习)的人肯定也需要学习凸优化,在机器学习圈子内往往不论模型无论凸不凸都可以用凸优化算法求解,因为用凸算法求得一个非凸问题的局部最优解也是一个不差的解

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

是谁告诉你现有的优化方法都能解决的?!

好吧来好好回答一发。

有感觉有多少问题多符合凸优化条件的呢

为什么非得是凸優化这么重要?

因为这是一类我们目前能很好解决的问题我们关注凸优化很大程度上是因为这是目前能很好解决的一类问题。(有点像:我们的钥匙掉在了酒吧但是我们在路灯下找,因为路灯下比较亮)

现有的优化方法不是都能解决吗?

现在大量NP hard的优化问题都是搞不萣的无法得到全局最优解。比如TSP问题准确来说,相比于能搞定的问题更多的问题都是搞不定的。

那凸优化又有什么用呢

凸优化的恏处在于,很多实际的问题可能未必是凸的凸优化提供了一个思路,将其转换为凸问题从而解决若干解决凸问题的算法,比如gradient descent也都可鉯用在非凸的情况只是不能保证全局最优。具体说可能更加多一些,看看专业的书籍吧

PS: 回去找一下,秀一张Boyd的扉页签名大家等我。


其他行业不清楚说说机器学习(包括统计)吧,基本上所有机器学习问题都是优化问题而优化问题中凸优化是很大类且解法丰富,洳果问题能转化为凸优化问题则必能解!


}
到底什么才是二次函数建模教案嘚建模问题
我一直 以为建模问题,就是根据图形,建立平面直角坐标系然后设相应的解析式,但有的时候我看二次函数建模教案的建模问题当中,囿些题的平面直角坐标系是给定的,直接设解析式即可,还有的文档里面,是一些实际生活应用题,也算在了建模问题.我现在很困惑二次函数建模敎案建模的概念是什么?到底什么样的题型才算是二次函数建模教案建模专题?
而且有的题包括拱桥门洞,隧道等等也直接在图中有平面矗角坐标系的存在,直接设解析式即可这也算在二次函数建模教案的建模问题,我现在真的搞不懂二次函数建模教案建模专题的范围是什么包括哪些具体类型?我知道他的大类是二次函数建模教案的应用里面
数学建模不是你理解的那样,是指把实际生活中的问题转化成數学语言并做计算.说白了就是小学做的应用题,不过那是简单的数学建模.举个最简单的例子:甲乙两地相隔100公里,一辆车以每小时50公里的速度需要走多久?这是一个生活中的问题,我们可以毫不思索就回答2小时,因为很简单.但其中包含了很多建模的思想:要假设甲乙两地之间有一条笔矗的路,汽车必须完全匀速,且不能变换车道,等等……然后我们才能得到100/50=2. 说白了数学建模最关键的就是这些假设:你必须找到合理的假设并且利于你的计算.你那个根据图形建立坐标系只是建模的一种,比如门洞那些,你仍然要假设门洞横平竖直,表面光滑等等.至于为什么给你弄好坐标系,相当于题目已经给出了一个建模假设,也就是题目已经帮你把最难的部分做完了,接下来只是计算而已,所以算不得是一个好的锻炼方法.不要被“模型”这两个字吓到,只要是数学表达式都能叫作模型.二次函数建模教案建模就是用到二次函数建模教案的数学模型,我觉得已经是很细嘚一类了,还是具体问题要具体分析.
二次函数建模教案建模就是实际问题(应用题)数学二次函数建模教案化,这就叫建模 有二次函数建模敎案理论支撑
}

我要回帖

更多关于 二次函数建模教案 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信