漫步最优化三十六——基本共轭方向法
用我的眼神,\textbf{用我的眼神,}
拍下你的睫毛,\textbf{拍下你的睫毛,}
你微笑的嘴角。\textbf{你微笑的嘴角。}
你的微笑像毒药,\textbf{你的微笑像毒药,}
却洋溢着幸福的味道。\textbf{却洋溢着幸福的味道。}
我就是戒不掉,\textbf{我就是戒不掉,}
你粉嫩清秀的外表,\textbf{你粉嫩清秀的外表,}
像多汁的水蜜桃。\textbf{像多汁的水蜜桃。}
你亮丽的唇膏,\textbf{你亮丽的唇膏,}
充盈着自信的骄傲。\textbf{充盈着自信的骄傲。}
就想一直咬着水蜜桃,\textbf{就想一直咬着水蜜桃,}
看着你的骄傲。\textbf{看着你的骄傲。}
——畅宝宝的傻逼哥哥\textbf{——畅宝宝的傻逼哥哥}
上篇文章最后给出的 x∗\mathbf{x}^*计算公式可以迭代运算,从初始点 x0=0\mathbf{x}_0=\mathbf{0}开始,连续进行 nn次调整αkdk\alpha_k\mathbf{d}_k。也就是说由关系
\mathbf{x}_{k+1}=\mathbf{x}_k+\alpha_k\mathbf{d}_k
其中
\alpha_k=-\frac{\mathbf{b}^T\mathbf{d}_k}{\mathbf{d}_k^T\mathbf{H}\mathbf{d}_k}
生成一个序列,x0=0\mathbf{x}_0=\mathbf{0},当k=n−1k=n-1时收敛到
\mathbf{x}_n=\mathbf{x}^*
从任意初始点x0\mathbf{x}_0开始都能得到相似的结果,这个事实可以用下面的定理得到证实。
定理1:\textbf{定理1:}如果{d0,d1,…,dn−1}\{\mathbf{d}_0,\mathbf{d}_1,\ldots,\mathbf{d}_{n-1}\}是非零共轭方向构成的集合,H\mathbf{H}是n×nn\times n的正定矩阵且问题
\text{minimize}_x\ f(\mathbf{x})=a+\mathbf{x}^T\mathbf{b}+\frac{1}{2}\mathbf{x}^T\mathbf{H}\mathbf{x}
是二次的,那么对任意初始点x0\mathbf{x}_0,由关系
\mathbf{x}_{k+1}=\mathbf{x}_k+\alpha_k\mathbf{d}_k\quad \text{for}\ k\geq 0
其中
\alpha_k=-\frac{\mathbf{g}_k^T\mathbf{d}_k}{\mathbf{d}_k^T\mathbf{H}\mathbf{d}_k}
且
\mathbf{g}_k=\mathbf{b}+\mathbf{Hx}_k
在nn次迭代后收敛到二次问题的唯一解x∗\mathbf{x}^*,即xn=x∗\mathbf{x}_n=\mathbf{x}^*。
证明:\textbf{证明:}向量x∗−x0\mathbf{x}^*-\mathbf{x}_0可以表示成共轭方向的线性组合
\mathbf{x}^*-\mathbf{x}_0=\sum_{i=0}^{n-1}\alpha_i\mathbf{d}_i
由上篇文章末尾处可知
\alpha_k=\frac{\mathbf{d}_k^T\mathbf{H}(\mathbf{x}^*-\mathbf{x}_0)}{\mathbf{d}_k^T\mathbf{H}\mathbf{d}_k}
根据迭代公式xk+1=xk+αkdk\mathbf{x}_{k+1}=\mathbf{x}_k+\alpha_k\mathbf{d}_k可得
\mathbf{x}_{k}-\mathbf{x}_0=\sum_{i=0}^{k-1}\alpha_i\mathbf{d}_i
所以
\mathbf{d}_k^T\mathbf{H}(\mathbf{x}_{k}-\mathbf{x}_0)=\sum_{i=0}^{k-1}\alpha_i\mathbf{d}_k^T\mathbf{H}\mathbf{d}_i=0
显然
\mathbf{d}_k^T\mathbf{H}\mathbf{x}_{k}=\mathbf{d}_k^T\mathbf{H}\mathbf{x}_0
那么
\alpha_k=\frac{\mathbf{d}_k^T(\mathbf{H}\mathbf{x}^*-\mathbf{H}\mathbf{x}_k)}{\mathbf{d}_k^T\mathbf{H}\mathbf{d}_k}
又因为
\mathbf{Hx}_k=\mathbf{g}_k-\mathbf{b}
且在最小点xk\mathbf{x}_k处gk=0\mathbf{g}_k=\mathbf{0},所以我们有
\mathbf{Hx}^*=-\mathbf{b}
最后得出
\alpha_k=-\frac{\mathbf{d}_k^T\mathbf{g}_k}{\mathbf{d}_k^T\mathbf{H}\mathbf{d}_k}=-\frac{\mathbf{g}_k^T\mathbf{d}_k}{\mathbf{d}_k^T\mathbf{H}\mathbf{d}_k}
接下来令k=nk=n可得
\mathbf{x}_n=\mathbf{x}_0+\sum_{i=0}^{n-1}\alpha_i\mathbf{d}_i=\mathbf{x}^*
得证。||||
根据定理1,如果使用不同的方法来生成共轭方向,那么我们就能得到不同的共轭方向法。
基于定理1得到的方法存在许多共同的属性,下面的定理就给出了其中的两个属性。
定理2:\textbf{定理2:}
- 梯度gk\mathbf{g}_k与方向di,0≤i<k\mathbf{d}_i,0\leq i正交,即
gTkdi=dTigk=0for0≤i<k
\mathbf{g}_k^T\mathbf{d}_i=\mathbf{d}_i^T\mathbf{g}_k=0\quad \text{for}\quad 0\leq i
- 定理1中的α=αk\alpha=\alpha_k在每条线
x=xk−1+αdifor0≤i<k
\mathbf{x}=\mathbf{x}_{k-1}+\alpha\mathbf{d}_i\quad \text{for}\quad 0\leq i
上最小化f(x)f(\mathbf{x})
证明:\textbf{证明:}(a)假设
\begin{equation} \mathbf{g}_k^T\mathbf{d}_i=0\quad \text{for}\quad 0\leq i
我们需要说明
\mathbf{g}_{k+1}^T\mathbf{d}_i=0\quad \text{for}\quad 0\leq i
因为
\mathbf{g}_{k+1}-\mathbf{g}_k=\mathbf{H}(\mathbf{x}_{k+1}-\mathbf{x}_k)
并由xk+1=xk+αkdkfor k≥0\mathbf{x}_{k+1}=\mathbf{x}_k+\alpha_k\mathbf{d}_k\quad \text{for}\ k\geq 0可得
\begin{equation} \mathbf{g}_{k+1}=\mathbf{g}_k+\alpha_k\mathbf{H}\mathbf{d}_k\tag2 \end{equation}
因此
\begin{equation} \mathbf{g}_{k+1}^T\mathbf{d}_i=\mathbf{g}_k^T\mathbf{d}_i+\alpha_k\mathbf{d}_k^T\mathbf{H}\mathbf{d}_i\tag3 \end{equation}
对于i=ki=k,我们有
\begin{equation} \mathbf{g}_{k+1}^T\mathbf{d}_k=\mathbf{g}_k^T\mathbf{d}_k+\alpha_k\mathbf{d}_k^T\mathbf{H}\mathbf{d}_k=0\tag4 \end{equation}
对于0≤i<k0\leq i,根据等式1可得
\mathbf{g}_k^T\mathbf{d}_i=0
而且di,dk\mathbf{d}_i,\mathbf{d}_k是共轭的,
\mathbf{d}_k^T\mathbf{H}\mathbf{d}_i=0
所以由等式3可得
\begin{equation} \mathbf{g}_{k+1}^T\mathbf{d}_i=0\quad for\quad 0\leq i
结合等式4与等式5可得
\begin{equation} \mathbf{g}_{k+1}^T\mathbf{d}_i=0\quad \text{for}\quad 0\leq i
如果k=0k=0,那么等式6得出gT1di=0for0≤i<1\mathbf{g}_1^T\mathbf{d}_i=0\quad \text{for}\quad 0\leq i,从等式1与等式6我们可以得出
\begin{align*} \mathbf{g}_2^T\mathbf{d}_i&=0\quad \text{for}\quad 0\leq i
(b)因为
\begin{align*} \mathbf{g}_k^T\mathbf{d}_i &\equiv\mathbf{g}^T(\mathbf{x})\mathbf{d}_i=\mathbf{g}(\mathbf{x}_{k-1}+\alpha\mathbf{d}_i)^T\mathbf{d}_i\\ &=\frac{df(\mathbf{x}_{k-1}+\alpha\mathbf{d}_i)}{d\alpha}=0 \end{align*}
所以f(x)f(\mathbf{x})在每条线
\mathbf{x}=\mathbf{x}_{k-1}+\alpha\mathbf{d}_i\quad \text{for}\quad 0\leq i
上都被最小化。
上述定理第二部分的应用就是xk\mathbf{x}_k在向量{d0,d1,…,dk−1}\{\mathbf{d}_0,\mathbf{d}_1,\ldots,\mathbf{d}_{k-1}\}生成的子空间上最小化f(x)f(\mathbf{x}),那么xn\mathbf{x}_n就是在向量{d0,d1,…,dn−1}\{\mathbf{d}_0,\mathbf{d}_1,\ldots,\mathbf{d}_{n-1}\}生成的子空间(即EnE^n)上最小化f(x)f(\mathbf{x}),这是另一种表述xn=x∗\mathbf{x}_n=\mathbf{x}^*的方式。
漫步最优化三十六——基本共轭方向法相关推荐
- 漫步最优化三十五——共轭
我对你的喜欢像玻璃,\textbf{我对你的喜欢像玻璃,} 透明的能被你看穿.\textbf{透明的能被你看穿.} 我对你的思念像影子,\textbf{我对你的思念像影子,} 傍晚时分就被拉长.\te ...
- 漫步最优化三十九——Fletcher-Reeves法
你的目光像桥梁,\textbf{你的目光像桥梁,} 指引我通往你心路的捷径.\textbf{指引我通往你心路的捷径.} 你的魅力像磁铁,\textbf{你的魅力像磁铁,} 加快我靠向你身边的步伐.\t ...
- 漫步最优化三十八——非二次函数最小化
你独一无二的声音,\textbf{你独一无二的声音,} 穿越了繁杂喧嚣,\textbf{穿越了繁杂喧嚣,} 回荡在我的脑中.\textbf{回荡在我的脑中.} 你独一无二的声音,\textbf{你独一 ...
- 漫步最优化三十四——高斯-牛顿法
你的温柔像羽毛,\textbf{你的温柔像羽毛,} 秘密躺在我怀抱.\textbf{秘密躺在我怀抱.} 你的微笑像拥抱,\textbf{你的微笑像拥抱,} 只有我能看到.\textbf{只有我能看到. ...
- 漫步最优化三十二——最速下降法
爱需要勇气,\textbf{爱需要勇气,} 但是也许是天意,\textbf{但是也许是天意,} 让我爱上你,\textbf{让我爱上你,} 也许轮回里早已注定,\textbf{也许轮回里早已注定,} ...
- 漫步最优化三十——非精确线搜索
说明:今天10.24,祝程序员们节日快乐,呜啦啦啦\textbf{说明:今天10.24,祝程序员们节日快乐,呜啦啦啦} 爱上一个人后,\textbf{爱上一个人后,} 发现自己变得主动了,\textb ...
- 漫步微积分三十六——曲面的面积
让我们考虑xx轴上方的平滑曲线,如图1左边所示.当这条曲线绕xx轴旋转时,它会生成一个曲面.现在我们开始解决曲面的表面积问题. 图1 为了更加清晰,我们首先考虑一个非常简单的表面积,其底是半径为rr的 ...
- 推荐系统三十六式——学习笔记(三)
由于工作需要,开始学习推荐算法,参考[极客时间]->[刑无刀大牛]的[推荐系统三十六式],学习并整理. 3 原理篇之紧邻推荐 3.1 协同过滤 要说提到推荐系统中,什么算法最名满天下,我想一定是 ...
- Python编程基础:第三十六节 模块Modules
第三十六节 模块Modules 前言 实践 前言 我们目前所有的代码都写在一个文档里面.如果你的项目比较大,那么把所有功能写在一个文件里就非常不便于后期维护.为了提高我们代码的可读性,降低后期维护的成 ...
最新文章
- c语言程序设计自评报告,石家庄学院c语言程序设计自评报告.docx
- javascript 编辑网页
- Intent 传递对象
- 手机的小窗口怎么弄_做一个表白小程序
- python工作方法_用python开始一天工作
- SQL敲了mySQL变了_MySQL-Front肿么导出SQL文件
- 交换两个变量的值的效率的测试
- 又错过了暴富的机会!亚马逊AWS突发Bug,比特币现史诗级捡漏机会?
- 如何将FLex AIR运行环境与AIR程序一起打包
- 【POJ 1269】判断两直线相交
- iText和flying saucer结合生成pdf--显示分页页码
- html设置按钮不同状态的背景图片,CSS实例:创建一个鼠标感应换图片的按钮
- centos6 yum安装tomcat8
- 「思维拓展/个人提升」简说
- 高清影音发展的产物格式转换器
- 应用宝上架审核要求_腾讯应用宝开发者福利!2小时内审核
- RocketMQ初识
- DbGate:一款免费的智能数据库管理工具
- java 气泡图_java报表开发制作气泡图
- js实现1-100以内的质数