数值最优化—优化问题的解(二)
一、定理
局部最小值点一阶必要条件: ∇f(x∗)=0\nabla f(x^*)=0∇f(x∗)=0
局部最小值点二阶必要条件: ∇f(x∗)=0且∇2f(x∗)\nabla f(x^*)=0 且 \nabla^2 f(x^*)∇f(x∗)=0且∇2f(x∗) 正定。
局部最小值点二阶充分条件: ∇2f(x)\nabla^2 f(x)∇2f(x) 在x∗x^*x∗的开邻域内连续,∇f(x∗)=0\nabla f(x^*)=0∇f(x∗)=0并且 ∇2f(x∗)\nabla^2 f(x^*)∇2f(x∗) 正定,那么x∗x^*x∗是 f(x)f(x)f(x) 的严格局部最小值点。
二、证明
Proof 1
反证法
假设当 x∗x^*x∗ 为局部最小值时∇f(x∗)≠0\nabla f(x^*)\neq0∇f(x∗)=0 ,那么定义 p=−∇f(x∗)p = -\nabla f(x^*)p=−∇f(x∗) 。这样我们可以得到:
pT∇f(x∗)=−∇f(x∗)T∇f(x∗)=−∥∇f(x∗)∥<0p^T\nabla f(x^*)=-\nabla f(x^*)^T\nabla f(x^*)=-\|\nabla f(x^*)\|<0pT∇f(x∗)=−∇f(x∗)T∇f(x∗)=−∥∇f(x∗)∥<0 (1)
根据函数的连续性,必然可以得到,存在一个足够小的正数 TTT ,使得:
pT∇f(x∗+tp)<0p^T\nabla f(x^*+tp)<0pT∇f(x∗+tp)<0 for all t∈[0,T]t\in[0,T]t∈[0,T] (2)
考虑 \overline{t} \in(0,T] ,并对 f(x)$ 在 x∗x^*x∗ 点处做泰勒展开,我们可以得到:
f(x∗+t‾p)=f(x∗)+t‾pT∇f(x∗+tp)forsomet∈(0,t‾)f(x^*+\overline{t}p) = f(x^*)+\overline{t}p^T\nabla f(x^*+tp) for some t\in (0,\overline{t})f(x∗+tp)=f(x∗)+tpT∇f(x∗+tp)forsomet∈(0,t) (3)
观察公式(3)的第二项, t‾\overline{t}t 是一个正实数,根据公式(2)我们又可以知道 pT∇f(x∗+tp)p^T\nabla f(x^*+tp)pT∇f(x∗+tp) 是一个负数。那么我们可以我们一定可以找到一个正数 β\betaβ ,使得:
f(x∗+t‾p)=f(x∗)−βf(x^*+\overline{t}p) = f(x^*)-\betaf(x∗+tp)=f(x∗)−β
也就是:
f(x∗+t‾p)<f(x∗)f(x^*+\overline{t}p) < f(x^*)f(x∗+tp)<f(x∗)
那么 x^* 不是局部最小值点,与假设相反,原结论成立。
Q.E.D
Proof 2:
由Proof 1我们已经证明了前半部分,现在证明后半部分,也就是 ∇2f(x∗)\nabla^2 f(x^*)∇2f(x∗) 正定。
反证法
假设 ∇2f(x∗)\nabla^2 f(x^*)∇2f(x∗) 不是正定的,那么肯定可以找到一个向量 ppp 使得 pT∇2f(x∗)p<0p^T\nabla^2 f(x^*)p<0pT∇2f(x∗)p<0 。同样由连续性,可以得到,存在一个正数 TTT 使得:
pT∇2f(x∗+tp)p<0p^T\nabla^2f(x^*+tp)p<0pT∇2f(x∗+tp)p<0 for all t∈[0,T]t\in[0,T]t∈[0,T]
考虑 t‾∈(0,T]\overline{t} \in(0,T]t∈(0,T] ,并对 f(x)f(x)f(x) 在 x∗x^*x∗ 点处做二阶泰勒展开,我们可以得到:
f(x∗+t‾p)=f(x∗)+t‾pT∇f(x∗+tp)+12t‾2pT∇2f(x∗+tp)p<f(x∗)f(x^*+\overline{t}p) = f(x^*)+\overline{t}p^T\nabla f(x^*+tp)+\frac{1}{2}\overline{t}^2p^T\nabla^2f(x^*+tp)p<f(x^*)f(x∗+tp)=f(x∗)+tpT∇f(x∗+tp)+21t2pT∇2f(x∗+tp)p<f(x∗)
同理我们可以得到假设错误,原结论成立。
Q.E.D
Proof 3
由于 ∇2f(x)\nabla^2f(x)∇2f(x) 的连续性,我们可以知道,在 x∗x^*x∗ 的一个足够小的邻域内, ∇2f(x)\nabla^2f(x)∇2f(x) 可以保持正定性。假设这个邻域的半径为 rrr ,那么这个邻域内所有点的集合 为D={z∣∥z−x∗∥<r}\mathcal{D} =\{z| \|z-x^*\|<r\}D={z∣∥z−x∗∥<r} 。我们假设 ppp 为任意满足 ∥p∥<r\|p\|<r∥p∥<r 的向量。那么我们可以得到 x∗+p∈Dx^*+p\in \mathcal{D}x∗+p∈D 。
(这里做一点简要的解释,在 x∗x^*x∗ 附近满足正定性条件的点不一定都在集合 D\mathcal{D}D 里面,之所以引入集合 D\mathcal{D}D 的概念主要是为了简化描述。对于单一变量而言,D\mathcal{D}D是一个以x∗x^*x∗为中点的线段,这个线段中任何一点都能使二阶导正定。这个线段可能不是最长的线段,但是他必须是以x∗x^*x∗为中点的,二维的话就是以 x∗x^*x∗ 为圆心的圆,三维就是以 x∗x^*x∗ 为球心的球。)
同样我们做泰勒展开:
f(x∗+p)=f(x∗)+pT∇f(x∗)+12pT∇2f(z)p=f(x∗)+12pTf(z)pf(x^*+p) = f(x^*) +p^T \nabla f(x^*) + \frac{1}{2}p^T\nabla^2 f(z) p\\=f(x^*) + \frac{1}{2} p^T f(z) pf(x∗+p)=f(x∗)+pT∇f(x∗)+21pT∇2f(z)p=f(x∗)+21pTf(z)p
这里需要解释的有两点。1、第二个等式是因为在 x∗x^*x∗ 处 ∇f(x∗)=0\nabla f(x^*) = 0∇f(x∗)=0 。2、根据泰勒定理,这里的 z=x∗+tpz=x^*+tpz=x∗+tp for some t∈(0,1)t \in (0,1)t∈(0,1) 。对于最后一个等式的最后一项,根据正定的定义我们可以知道 pTf(z)pp^T f(z) ppTf(z)p 是一个正数。
我们可以得到:
f(x∗+p)>f(x∗)f(x^*+p) > f(x^*)f(x∗+p)>f(x∗)
由于 x∗+px^*+px∗+p 可以认为是一个在超平面上以 x∗x^*x∗ 为球心的开球域。这也就是说,在 x∗x^*x∗ 附近所有的函数值都比 x∗x^*x∗ 点处的大。
Q.E.D
数值最优化—优化问题的解(二)相关推荐
- 数值最优化—无约束问题信赖域算法
目录 一.参考 二.线性搜索与信赖域算法区别 三.信赖域算法 四.信赖域子问题的求解 1. 精确求解方法 2. 折线方法(Dogleg Method 狗腿法) 一.参考 <数值最优化算法与理论& ...
- Android面试Hash原理详解二
Hash系列目录 Android面试Hash原理详解一 Android面试Hash原理详解二 Android面试Hash常见算法 Android面试Hash算法案例 Android面试Hash原理详解 ...
- 数值最优化-KKT条件(一阶必要条件)证明总结
笔记:约束优化问题一阶最优性条件(KKT条件) - 知乎 (zhihu.com) 最优化理论与方法-第八讲-约束优化(一):KKT条件_哔哩哔哩_bilibili 参考链接:如上 唯一参考书:数值最优 ...
- 数值最优化-有效集法求解含有不等式约束的二次规划问题
参考链接:(78条消息) 有效集法介绍(Active Set Method)_dymodi的博客-CSDN博客_有效集法 唯一参考书:数值最优化(numerical optimization) 不等式 ...
- 【GAN优化】详解GAN中的一致优化问题
GAN的训练是一个很难解决的问题,上期其实只介绍了一些基本的动力学概念以及与GAN的结合,并没有进行过多的深入.动力学是一门比较成熟的学科,有很多非常有用的结论,我们将尝试将其用在GAN上,来得到一些 ...
- EXT核心API详解(二)-Array/Date/Function/Number/String
EXT核心API详解(二)-Array/Date/Function/Number/String Array类 indexOf( Object o ) Number object是否在数组中,找不到返 ...
- Keras深度学习实战(3)——神经网络性能优化技术详解
Keras深度学习实战(3)--神经网络性能优化技术详解 0. 前言 1. 缩放输入数据集 1.1 数据集缩放的合理性解释 1.2 使用缩放后的数据集训练模型 2. 输入值分布对模型性能的影响 3. ...
- Pytorch|YOWO原理及代码详解(二)
Pytorch|YOWO原理及代码详解(二) 本博客上接,Pytorch|YOWO原理及代码详解(一),阅前可看. 1.正式训练 if opt.evaluate:logging('evaluating ...
- 站点html标贴验证,SEO优化之详解百度站点验证
原标题:SEO优化之详解百度站点验证 最近有不少SEO新手同学问,百度站点验证怎么搞?.SEO新手问这样的问题也不算奇怪.作为一名"SEO老司机"不懂得如何做百度站点验证,显然是说 ...
最新文章
- h5执行php函数,值得一个的5个强大的HTML5API 函数
- 洛谷 P2359 三素数数
- ssm中使用hibernate-validator验证BO
- mysql为什么表大了要重建_为什么MySQL分库分表后总存储大小变大了?
- android jni 调用java_Android JNI开发系列(九)JNI调用Java的静态方法实例方法
- ZOJ 3827 Information Entropy(数学题 牡丹江现场赛)
- 让程序在崩溃时体面的退出之SEH
- awk一些很恐怖的特性
- rhq监控软件_RHQ指标的WildFly子系统
- Java单例模式深入详解
- 「一本通 4.5 例 1」树的统计(树链剖分)
- 2020互联网行业术语
- 对称与非对称密钥加密
- 2021强网杯 LongTimeAgo
- android开发代码实现对Apk签名,如何对apk进行签名
- 《Did I Buy the Wrong Gadget?How the Evaluability of Technology Features Influences...》中英文对比文献翻译
- PhpStudy在nginx下配置虚拟主机和伪静态
- word从任意页开始加页码
- 鸿蒙三部曲 吞噬星空,我吃西红柿最新作品竟然是它?看来鸿蒙金榜第四名已有归属...
- (一)Spring启示录
热门文章
- 色温计算公式.docx
- (待完善)Ubuntu 16.04下1080Ti显卡的安装方式
- AI 让观众成为 3D 版《老友记》的导演了?
- 【读点论文】MicroNet: Towards Image Recognition with Extremely Low FLOPs,在极高限制下的轻量化网络
- python2.7 安装pypcap出错 pcap.h not found
- geotrellis框架sbt转投maven构建
- linux命令打开history,Linux的history命令基本使用
- tkMyBatis 检索时返回指定列
- 微信支付-----申请退款和退款通知接收
- 被面试管支配的恐惧,Redis主从架构