最优化局部极小点的条件(二)

回忆一下关于元实值函数的的求导问题,函数的一阶导数

函数的梯度正好是导数的转置,即;函数的二阶导数,也称为hessian矩阵,可表示为:

对于向量,和约束集中的某个点,如果存在一个实数使得对于所有仍然在约束集内,即,则称处的可行方向!

元实值函数处的可行方向,则函数沿方向的方向导数可表示为

这也是一个实值函数,如果,那么方向导数表示的是函数的值在处沿方向的增长率。为了计算方向导数,假定已知,这样就变成了关于的函数,有

应用链式法则,可得

由此可见,当是一个单位向量()时,函数f的值在处沿方向的增长率可以用内积表示。

一阶必要条件:多元实值函数在约束集上一阶连续可微,即,约束集的子集。如果是函数上的局部极小点,则对于处的任意可行方向,都有

成立。

推论:局部极小点位于约束集内部时的一阶必要条件:多元实值函数在约束集上一阶连续可微,即,约束集的子集,如果是函数上的局部极小点,且是的内点,则有

成立。

局部极小点的二阶必要条件:多元实值函数在约束集上二阶连续可微,即,约束集的子集,如果是函数上的局部极小点,处的一个可行方向,且,则有

其中,H为函数f的hessian矩阵。

推论:局部极小点位于约束集内部时的二阶必要条件:多元实值函数在约束集上二阶连续可微,即,约束集的子集,如果是函数上的局部极小点,且是的内点,则有


                       
hessian矩阵半正定,也就是说,对于所有的向量,都有

-------------------------------------------------------------------------------

转载请注明出处 博客园 刺猬的温驯

本文链接 http://www.cnblogs.com/chenying99/p/5081426.html

时间: 12-26

最优化局部极小点的条件(二)的相关文章

图像处理之积分图应用四(基于局部均值的图像二值化算法)

图像处理之积分图应用四(基于局部均值的图像二值化算法) 基本原理 均值法,选择的阈值是局部范围内像素的灰度均值(gray mean),该方法的一个变种是用常量C减去均值Mean,然后根据均值实现如下操作: pixel = (pixel > (mean - c)) ? object : background 其中默认情况下参数C取值为0.object表示前景像素,background表示背景像素. 实现步骤 1. 彩色图像转灰度图像 2. 获取灰度图像的像素数据,预计算积分图 3. 根据输入的参数

laravel5.3-数据库操作下的局部or条件与全局or条件(orWhere的局部与全局)

当用户名不为空时 SELECT * FROM `ACCOUNT_RECHARGE` LEFT JOIN `ORDER` ON `ACCOUNT_RECHARGE`.`OrderNo` = `ORDER`.`OrderNo` LEFT JOIN `USER_ACCOUNT` ON `ORDER`.`UserId` = `USER_ACCOUNT`.`UserId` WHERE (`USER_ACCOUNT`.`UserName` LIKE '%18%' OR (`USER_ACCOUNT`.`Mo

golang学习笔记:golang 语法篇(二)

在语法篇(一)中学习了go中基本的数据类型.变量.常量等组成语言的基本要素,在这一节中将会学习如何将这些元素组织起来,最终写成可以执行的代码. 在这一部分包括: go中的流程控制语句: go中函数的用法: go特殊的错误处理方式: Golang中的流程控制语句 在具体编程的时候免不了需要使用一些特殊的语句实现某些功能,比如使用循环语句来进行迭代,使用选择语句控制程序的执行方式等.这些语句在任何一门程序设计语言 中都会有支持,golang中除了支持常用的循环,条件选择语句以外,还支持跳转语句,下面

关于group by 两个或以上条件的分析

首先group by 的简单说明: group by 一般和聚合函数一起使用才有意义,比如 count sum avg等,使用group by的两个要素:   (1) 出现在select后面的字段 要么是是聚合函数中的,要么就是group by 中的.   (2) 要筛选结果 可以先使用where 再用group by 或者先用group by 再用having 下面看下 group by多个条件的分析: 在SQL查询器输入以下语句create table test(a varchar(20),

2015-09-29 第八节课(js语句:条件、循环)

1.条件语句: (1)比较操作符: ==:判断是否相等 !=:判断是否不相等 > :判断是否大于 >=:判断是否大于等于 < :判断是否小于 <=:判断是否小于等于 [例1] if(iNum1==iNum2) //如果iNum1与iNum2相等 { iNum3=iNum1; //将iNum1的值赋给iNum3 } else{  //否则 iNum3=iNum2;  //将iNum2的值赋给iNum3 } [补充]以上也可写作: iNum3 = iNum1==iNum2 ? iNum

使用ArcGIS API for Silverlight 进行复合多条件空间查询

原文:使用ArcGIS API for Silverlight 进行复合多条件空间查询 这两天帮网上认识的一个兄弟做了一个查询的示例,多多少少总结一下,在此和大家分享. 为什么说是复合多条件呢?因为进行空间查询有时候我们查询的条件会很复杂,比如要求某一要素的某一属性大于多少,且小于多少,且又不等于多少等等.而在官网给出的例子中并没有关于复合查询的说明.不过查看API后,你会发现一句很重要的话: A where clause for the query. Any legal SQL where c

2015.7.17 第八课 课程重点(js语句:条件、循环)

1.条件语句: (1)比较操作符: ==:判断是否相等 !=:判断是否不相等 > :判断是否大于 >=:判断是否大于等于 < :判断是否小于 <=:判断是否小于等于 [例1] if(iNum1==iNum2) //如果iNum1与iNum2相等 { iNum3=iNum1; //将iNum1的值赋给iNum3 } else{  //否则 iNum3=iNum2;  //将iNum2的值赋给iNum3 } [补充]以上也可写作: iNum3 = iNum1==iNum2 ? iNum

刘强1109 JavaScript基础二(分支与循环结构)

[if-else结构] 1.结构的写法: 1 if(判断条件){ 2 条件为true时,执行if{} 3 } else{ 4 条件为false时,执行else{} 5 } 2.注意事项: ① else{}语句块,可以根据情况进行省略. ② if和else后面的{}可以省略,但是省略后,if和else后面只能跟一条语句,所以不建议省略{}. 3. if中的()中的判断条件,支持的情况:① Bolleam:true为真,false为假:② String:空字符串为假,所有非空字符串为真:③ Numb

javacscript 2 js语句条件 循环

1.条件语句: (1)比较操作符: ==:判断是否相等 !=:判断是否不相等 > :判断是否大于 >=:判断是否大于等于 < :判断是否小于 <=:判断是否小于等于 [例1] if(iNum1==iNum2) //如果iNum1与iNum2相等 { iNum3=iNum1; //将iNum1的值赋给iNum3 } else{  //否则 iNum3=iNum2;  //将iNum2的值赋给iNum3 } [补充]以上也可写作: iNum3 = iNum1==iNum2 ? iNum