函数在其定 义域的某些局部区域所达到的相对 最大值或相对最小值。当函数在其 定义域的某一点的值大于该点周围 任何点的值时,称函数在该点有极 大值; 当函数在其定义域的某一点的值小于该点周围任何点的值时, 称函数在该点有极小值。这里的极 大和极小只具有局部意义。因为函 数的一个极值只是它在某一点附近 的小范围内的极大值或极小值。函 数在其整个定义域内可能有许多极 大值或极小值,而且某个极大值不 一定大于某个极小值。

单变量函数

极值点

  单变量函数的最值问题较为简单,如果一有个函数f(x),那么它的最值可能是函数的边界点或驻点。

  假设f(x) = 2x2 + x,求f(x)的最小值。

  这个函数中x∈(-∞,+∞),由图像可知,f(x)没有边界点,所以其驻点就是最小值。驻点是导数为0的点,在该点处,函数的变化率为0:

  当x=-1/4时,f(x)有最小值-1/8。

极大还是极小

  当然,极值是个局部概念,是相对于临近点的最小点,是否是最值就不一定了:

  上图中ABCDEF几个点的导数都是0,它们的导数都是0,都是极值点,但只有B是最小点,最大点在无穷远端。现在问题来了,上图中B和C都是极值点,如果不作图的话,怎样判断最小值和最大值呢?

  假设我们取到了一个极值点f(x0),对于x0的临近点x0 + β来说,f(x0 + β)在x0出的泰勒展开(关于泰勒公式可参考《单变量微积分笔记31——幂级数和泰勒级数》):

  由于越展开,项的值越小,所以可以仅展开到二阶导数:

  我们已经假定f(x0)是极值点(f’(x0) = 0),所以上式可以进一步化简为:

  如果f(x0)是极小值点,那么必然有f(x0 + β) > f(x0),由于β2/2! > 0,所以f’’(x0) > 0;反之,如果f(x0)是极大值点,那么f’’(x0) < 0;如果f’’(x0) = 0,则有可能是一个拐点(多变量中也叫鞍点)。更多关于单变量函数的极值问题,可参考:《单变量微积分笔记7——曲线构图》《单变量微积分笔记8——最值问题和相关变率》

多变量函数的极值

极值点

  与单变量函数类似,极值点只能在函数不可导的点或导数为零的点上取得。

  对于一个多元函数f,如果有一个点满足f所有自变量的偏导都同时为0,那么这个点被称为f的临界点,也称为驻点。

  对于二元函数f(x, y)来说,临界点(x0, y0)满足:

  需要注意的是,导数为0的点仅仅是潜在的极值点,它也可能是鞍点,此时不是极大值也不是极小值:

极大还是极小

  通常使用二阶导数判断多变量函数的极值。f(x, y)的一个临界点是(x0, y0),即fx(x0, y0) = 0 && fy(x0, y0) = 0,f的二阶导数是fxx,fxy,fyy现在:

  该临界点有如下结论:

  更多关于多变量函数的极值问题,可参考:《多变量微积分笔记3——二元函数的极值》

海森矩阵

  想要判断临界点是极大值还是极小值,最直观的方式当然是作图,但是二元函数通常很难作图,更多元的函数甚至无法作图,这就需要使用更高级的方法,这将涉及到海森矩阵(Hessian Matrix)。

海森矩阵是啥?

  泰勒公式也可以推广到多元函数,二元函数f(x,y)也可以在点(x0, y0)处开展开,展开形式与一元函数类似,只不过导数变成了偏导,所以泰勒的一阶展开式是:

  f(x, y)的高阶导数可以分为4个子式,以二阶导数为例,f(x, y)的二阶导数共有包括混合偏导在内的22个函数:

  由此得到了泰勒的二阶展开式:

  需要注意的是,混合偏导的系数也是混合的:(x–  x0)(y –  y0)。类似地,n阶偏导有2n个函数,其系数也相应的变化,在大多数时候只需要二阶展开。泰勒展开也可以推广到更多元函数,f(x1,x2,…xn)在(x1(0),x2(0),…xn(0))处的二阶泰勒展开是:

  我们希望把这个过于繁琐的展开式改写成较为简单的矩阵形式:

  现在用矩阵代替原式:

  把中间那个n阶方阵用H代替:

  最终,多元函数的二阶泰勒展开式可以写成:

  H(x0)就是传说中的Hessian Matrix,被翻译成海森矩阵或黑塞矩阵,它是一个二阶导方阵。更多的时候,我们看到的是用莱布尼茨的方法表达海森矩阵:

判断极值

  假设x0是多元函数f的临界点,泰勒公式在x0处展开。由于临界点的一阶导数为0,所以f(x)的展开式是:

  现在,极值的判定法和单变量函数一致了:

   如果XTHX大于0,意味着f(x0) < f(x),即临界点小于附近的点,此时临界点是极小值;如果XTHX小于0,意味着f(x0) > f(x),即临界点大于附近的点,此时临界点是极大值;如果XTHX等于0,意味着f(x0) = f(x),临界点既不是极大值也不是极小值。


  作者:我是8位的

  出处:http://www.cnblogs.com/bigmonkey

  本文以学习、研究和分享为主,如需转载,请标明作者和出处,非商业用途!

  扫描二维码关注公众号“我是8位的”

  

寻找“最好”(1)——函数的极值相关推荐

  1. 多变量微积分笔记3——二元函数的极值

    什么是极值 极值不同于最值,极值的定义如下: 若函数f(x)在x0的一个邻域D有定义,且对D中除x0的所有点,都有f(x)<f(x0),则称f(x0)是函数f(x)的一个极大值.同理,若对D的所 ...

  2. 高等数学:第三章 微分中值定理与导数的应用(2)函数单调性 极值 最大值 最小值

    §3.4  函数的单调性 一.从几何图形上看函数的单调性 运行matlab程序gs0303.m,可得到函数与它的导函数在上的图象,从图形上可以观察到: 函数在上是单调减少,在上是单调增加: 其导函数在 ...

  3. matlab求曲线极值程序,matlab函数求极值matlab函数求极值.ppt

    matlab函数求极值matlab函数求极值 * * 函数的极值 1.一元函数的极值 函数命令:fminbnd 调用格式:[x,feval,exitflag,output]=fminbnd(fun,x ...

  4. python机器学习案例系列教程——优化,寻找使成本函数最小的最优解

    全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 举个例子我们来了解一下优化问题,学校为2n个同学分配n个宿舍,每个宿舍两个床铺,每个同学提交了自己最想住的宿舍和其次想住的宿舍(只选房 ...

  5. 函数最值题目及答案_有关函数的极值与导数的测试题及答案

    有关函数的极值与导数的测试题及答案 一.选择题 1.已知函数f(x)在点x0处连续,下列命题中,正确的是() A.导数为零的点一定是极值点 B.如果在点x0附近的左侧f(x)0,右侧f(x)0,那么f ...

  6. 函数的极值与最大值最小值

    1.在这一章节里面需要掌握的有三个定理: 求解极值的步骤: 2.求解最大值和最小值问题 有以下步骤: 3.习题: 1.求下列函数的极值(先要求解出定义域) 上面是使用了定理3进行判定的 应用题目考察的 ...

  7. 3.5 函数的极值与最大值和最小值

    学习目标: 我要学习函数的极值.最大值和最小值,我会采取以下几个步骤: 理解基本概念:首先,我会理解函数的极值.最大值和最小值的概念.例如,我会学习函数在特定区间内的最高点和最低点,并且理解这些点的概 ...

  8. 高数 03.05函数的极值与最大值最小值

    第三章第五节函数的极值与最大值最小值  \color{blue}{第三章 第五节 函数的极值与最大值最小值} 一.函数的极值及其求法  \color{blue}{一.函数的极值及其求法} 定义:设函数 ...

  9. 计算机函数极值的求法,函数的极值、最值及求法

    课题:函数的极值及求法,函数的最值及求法 教材分析: 函数的极值与函数的单调性关系密切,可以说是单调性应用的具体体现,而函数的极值又是函数最值的预备知识.当然,在这些知识体系中,导数发挥着媒介的关键性 ...

最新文章

  1. moldflow2016安装教程
  2. java学习笔记2022.1.15
  3. c++ primer5th,习题12.24
  4. Apache Derby-02通过IJ简单操作DERBY
  5. 错误记录集锦(遇到则记下)
  6. 理论基础 —— 线性表 —— 循环链表
  7. 明晚8点直播丨经典知识库:深入解析Oracle检查点
  8. dat文件读取_比特币blk.dat文件结构及读取软件
  9. python (continue与break)区别
  10. Web 探索之旅 | 第二部分第四课:数据库
  11. 动态系统建模与仿真 基本知识笔记(源自DR_CAN)
  12. mapgis注释文字文件完整转换成arcgis格式注记shp 2019视频教程
  13. 分析日志的工具: 日志易
  14. ms17010利用失败_利用产品管理中的失败
  15. java代码实现注册发送邮件激活账户
  16. 聊聊测试覆盖率的六大门派
  17. 不用U盘从linux重装win系统,不用U盘和光盘安装win7旗舰版系统
  18. 恩,今天把git和sublime结合了一下。。然后看了下《西部世界》
  19. Applese涂颜色-欧拉降幂公式
  20. mysql表操作之完整性约束

热门文章

  1. 算法系列之八:RLE行程长度压缩算法
  2. R语言rle()函数
  3. 中国品牌如何做海外营销?
  4. Java实现扫码微信登陆(获取登陆成功的用户信息 + 包含使用vue怎么显示登陆二维码)
  5. java 数组最后一个_面试官: 100万个成员的数组取第一个和最后一个有性能差距吗?...
  6. makefile 的ifeq,filter,strip 简单使用
  7. css3 相邻,CSS秘密花园: 相邻元素样式
  8. 我们是怎样毁了社交网站的?
  9. StartSSL免费SSL证书申请和账户注册完整过程-最新版本
  10. 【论文翻译】跨异构网络学习挖掘竞争关系