漫步最优化二十二——收敛速率
未来的你已在我的身边,\textbf{未来的你已在我的身边,}
虽然经过了很多个弯;\textbf{虽然经过了很多个弯;}
现在的我已经没了号码牌,\textbf{现在的我已经没了号码牌,}
虽然已经相伴了很多年。\textbf{虽然已经相伴了很多年。}
遇见你,是我最美的意外。\textbf{遇见你,是我最美的意外。}
——畅宝宝的傻逼哥哥\quad\textbf{——畅宝宝的傻逼哥哥}
大部分算法计算效率是有很大差别的,高效或者快速的算法仅需要少量的迭代就能收敛到解,并且计算量也很小。从经济的角度来说,我们会选择选择最有效的算法,因此我们就需要度量算法收敛速率的定量指标或准则。
最基本的准则是序列的收敛阶,如果{xk}∞k=0\{x_k\}_{k=0}^{\infty}是实数序列,那么它的收敛阶就是最大的非负整数pp,满足关系
0\leq\beta
其中
\begin{equation} \beta=\lim_{k\to\infty}\frac{|x_{k+1}-\hat{x}|}{|x_k-\hat{x}|^p}\tag1 \end{equation}
x̂ \hat{x}是 k→∞k\to\infty的极限,参数 β\beta称为收敛比。
例1:\textbf{例1:}如果
- xk=γk, for 0<γ<1x_k=\gamma^k,\ for\ 0
- xk=γ2k, for 0<γ<1x_k=\gamma^{2^k},\ for\ 0
那么求出序列{xk}∞k=0\{x_k\}_{k=0}^{\infty}的收敛阶与收敛比。
解:\textbf{解:}(a)因为x̂ =0\hat{x}=0,所以
\beta=\lim_{k\to\infty}\gamma^{k(1-p)+1}
对于p=0,1,2p=0,1,2,我们有β=0,γ,∞\beta=0,\gamma,\infty,所以p=1,β=γp=1,\beta=\gamma。
(b)
\beta=\lim_{k\to\infty}\frac{\gamma^{2^{(k+1)}}}{\gamma^{2^kp}}=\lim_{k\to\infty}\{\gamma^{2^k(2-p)}\}
对于p=0,1,2,3p=0,1,2,3,我们有β=0,0,1,∞\beta=0,0,1,\infty,所以p=2,β=1p=2,\beta=1。
如果等式(1)的极限存在,那么
\lim_{k\to\infty}|x_k-\hat{x}|=\varepsilon
其中ε<1\varepsilon,所以
\lim_{k\to\infty}|x_{k+1}-\hat{x}|=\beta\varepsilon^p
所以pp增加或者β\beta减少的话,收敛速率在增加。如果ρ=0.8\rho=0.8,那么(a)(b)的序列分别为
\{x_k\}_k^{\infty}=\{1,0.8,0.64.0.512,0.409,\ldots,0\}
与
\{x_k\})_{k=0}^{\infty}=\{1,0.64,0.409,0.167,0.023,\ldots,0\}
第二个序列的收敛速率比第一个更快。
如果p=1,β<1p=1,\beta,那么我们称序列是线性收敛的;如果p=1,β=0p=1,\beta=0或者p≥2p\geq2,那么称序列是超线性收敛的。
大部分非线性规划算法都是线性收敛的,因此他们的比较都是基于β\beta值。
另一种度量序列收敛速率的是平均收敛阶数,也就是满足关系
\rho=\lim_{k\to\infty}|x_k-\hat{x}|^{1/(p+1)^k}=1
的最小非负整数。如果不存在p>0p>0,那么收敛的阶数为无穷大。
例2:\textbf{例2:}找出序列{xk}∞k=0\{x_k\}_{k=0}^{\infty}的平均收敛阶数
- xk=γk, for 0<γ<1x_k=\gamma^k,\ for\ 0
- xk=γ2k, for 0<γ<1x_k=\gamma^{2^k},\ for\ 0
解:\textbf{解:}(a)因为x̂ =0\hat{x}=0,
\rho=\lim_{k\to\infty}(\rho^k)^{1/(p+1)^k}=1
所以对于p=0,1,2p=0,1,2,我们有ρ=0,1,1\rho=0,1,1,因此p=1p=1。
(b)
\rho=\lim_{k\to\infty}(\rho^{2^k})^{1/(p+1)^k}=1
所以对于p=0,1,2,3p=0,1,2,3,我们有ρ=0,ρ,1,1\rho=0,\rho,1,1,因此p=2p=2。
如果收敛的平均阶数是单位1,那么我们称序列是平均线性收敛,平均线性收敛定义为
\rho=\lim_{k\to\infty}|x_k-\hat{x}|^{1/k}
上面的讨论中,我们考虑的是数列的收敛性。随着越来越靠近解,这样的序列可能由目标函数的值构成,这时候我们度量目标函数靠近其最小值的速度。或者说,如果我们想知道问题靠近最优解有多快,可以用向量xk−x̂ \mathbf{x}_k-\mathbf{\hat{x}}的长度或长度的平方,即∥xk−x̂ ∥\lVert\mathbf{x}_k-\mathbf{\hat{x}}\rVert或者∥xk−x̂ ∥2\lVert\mathbf{x}_k-\mathbf{\hat{x}}\rVert^2。
上面收敛速率的度量中,重点都是在解邻域内考虑算法的有效性。通常而言优化的大部分计算都花在解的邻域内,所以上面的度量是很有意义的。然而偶尔会有些算法在解的邻域内有效而其他地方无效。这时候上面的判别准则会误导我们,所以需要改用其他的准则。
漫步最优化二十二——收敛速率相关推荐
- 漫步最优化四十二——Partan法
漆黑的冷空中有你,\textbf{漆黑的冷空中有你,} 惺忪的眼睛中有你,\textbf{惺忪的眼睛中有你,} 心底的记忆中有你,\textbf{心底的记忆中有你,} 你留在我的脑海中,\textbf ...
- 漫步最优化三十二——最速下降法
爱需要勇气,\textbf{爱需要勇气,} 但是也许是天意,\textbf{但是也许是天意,} 让我爱上你,\textbf{让我爱上你,} 也许轮回里早已注定,\textbf{也许轮回里早已注定,} ...
- 2021年大数据Hadoop(二十二):MapReduce的自定义分组
全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 MapReduce的自定义分组 需求 分析 实现 第一步: ...
- 一位中科院自动化所博士毕业论文的致谢:二十二载风雨求学路,他把自己活成了光.........
4月18日,中国科学院官方微博发布消息,披露了这篇论文为<人机交互式机器翻译方法研究与实现>,作者是2017年毕业于中国科学院大学的工学博士黄国平. 这篇论文中情感真挚的<致谢> ...
- iOS 11开发教程(二十二)iOS11应用视图实现按钮的响应(2)
iOS 11开发教程(二十二)iOS11应用视图实现按钮的响应(2) 此时,当用户轻拍按钮后,一个叫tapButton()的方法就会被触发. 注意:以上这一种方式是动作声明和关联一起进行的,还有一种先 ...
- 实验二十二 SCVMM中的SQL Server配置文件
实验二十二 SCVMM中的SQL Server配置文件 在VMM 2012中管理员可以使用 SQL Server 配置文件,在部署完成虚拟机之后,实现 SQL Server 数据库服务自动化部署并交付 ...
- 插入DLL和挂接API——Windows核心编程学习手札之二十二
插入DLL和挂接API --Windows核心编程学习手札之二十二 如下情况,可能要打破进程的界限,访问另一个进程的地址空间: 1)为另一个进程创建的窗口建立子类时: 2)需要调试帮助时,如需要确定另 ...
- OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十
OpenCV学习笔记(二十一)--绘图函数core 在图像中,我们经常想要在图像中做一些标识记号,这就需要绘图函数.OpenCV虽然没有太优秀的GUI,但在绘图方面还是做得很完整的.这里就介绍一下相关 ...
- 读书二十二载,信念很简单,把书念下去,然后走出去,不枉活一世。
关注+星标公众号,不错过精彩内容 昨天看了一篇关于博士论文的致谢,看的我想哭.改变命运有很多条路,但是对于大多数人而言,读书是改变命运的捷径. 内容是讲述了自己20多年的求学经历:小时候煤油灯 ...
- (原创)无废话C#设计模式之二十二:总结(针对GOF23)
无废话C#设计模式之二十二:总结(针对GOF23) 比较 设计模式 常用程度 适用层次 引入时机 结构复杂度 Abstract Factory 比较常用 应用级 设计时 比较复杂 Builder 一般 ...
最新文章
- Vue之for列表渲染、methods事件和model表单绑定
- linux如何锁定文件夹,如何在没有加密的情况下保护Linux / Unix上的文件夹? | MOS86...
- Spring入门介绍:
- java集合——树集(TreeSet)+对象的比较
- java联接pg库_Java14:使用Java 14的新记录联接数据库表
- c#.net多线程编程教学(2):Thread类
- 端口被占用问题Error: listen EADDRINUSE 127.0.0.1:8888
- eggjs 项目实践
- web前端性能优化方案
- 联想笔记本BIOS设置中文详解
- 3G UMTS与4G LTE核心网(一):移动核心网基础
- 我们为什么要使用空接口
- mysql 备份数据库结账_年度结转问题综合解答(转)
- 华为全球发布六款全场景新品;西门子加速在华发展数字化创新 | 美通企业日报...
- 基于Spring+SpringMVC+MyBatis博客系统的开发教程(十六)
- Oracle VirtualBox备份、恢复虚拟机
- 利用图像内插法放大缩小图像 Matlab
- anaconda conda 切换为国内源 、windows 和 Linux配置方法、 添加清华源——【一文读懂】
- 2022年G1工业锅炉司炉特种作业证考试题库及在线模拟考试
- Web技术老矣,尚能Run否?| U4内核在Web开发平台的探索之路
热门文章
- 2015第25周三iframe小结
- TypeScript入门教程 之 点差算子/散布运算符/...运算符/剩余参数/...参数
- Nginx并发数、每秒连接数、下载速度限制,防攻击杀手锏
- Apache Tomcat 9 用户指南
- css overflow: scroll 去滚动条后,低端手机有兼容问题,可以这样
- jquery ajax 跨域解决方案 - CORS
- 【Python】编写一个类,求圆的周长和面积
- C#LeetCode刷题之#226-翻转二叉树(Invert Binary Tree)
- 面向对象设计原则之7-迪米特法则
- 命令行部署程序保存pid到文件