用我的眼神,\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。也就是说由关系

xk+1=xk+αkdk

\mathbf{x}_{k+1}=\mathbf{x}_k+\alpha_k\mathbf{d}_k

其中

αk=−bTdkdTkHdk

\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时收敛到

xn=x∗

\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的正定矩阵且问题

minimizex f(x)=a+xTb+12xTHx

\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,由关系

xk+1=xk+αkdkfor k≥0

\mathbf{x}_{k+1}=\mathbf{x}_k+\alpha_k\mathbf{d}_k\quad \text{for}\ k\geq 0

其中

αk=−gTkdkdTkHdk

\alpha_k=-\frac{\mathbf{g}_k^T\mathbf{d}_k}{\mathbf{d}_k^T\mathbf{H}\mathbf{d}_k}

gk=b+Hxk

\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可以表示成共轭方向的线性组合

x∗−x0=∑i=0n−1αidi

\mathbf{x}^*-\mathbf{x}_0=\sum_{i=0}^{n-1}\alpha_i\mathbf{d}_i

由上篇文章末尾处可知

αk=dTkH(x∗−x0)dTkHdk

\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可得

xk−x0=∑i=0k−1αidi

\mathbf{x}_{k}-\mathbf{x}_0=\sum_{i=0}^{k-1}\alpha_i\mathbf{d}_i

所以

dTkH(xk−x0)=∑i=0k−1αidTkHdi=0

\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

显然

dTkHxk=dTkHx0

\mathbf{d}_k^T\mathbf{H}\mathbf{x}_{k}=\mathbf{d}_k^T\mathbf{H}\mathbf{x}_0

那么

αk=dTk(Hx∗−Hxk)dTkHdk

\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}

又因为

Hxk=gk−b

\mathbf{Hx}_k=\mathbf{g}_k-\mathbf{b}

且在最小点xk\mathbf{x}_k处gk=0\mathbf{g}_k=\mathbf{0},所以我们有

Hx∗=−b

\mathbf{Hx}^*=-\mathbf{b}

最后得出

αk=−dTkgkdTkHdk=−gTkdkdTkHdk

\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可得

xn=x0+∑i=0n−1αidi=x∗

\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)假设

gTkdi=0for0≤i<k(1)

\begin{equation} \mathbf{g}_k^T\mathbf{d}_i=0\quad \text{for}\quad 0\leq i

我们需要说明

gTk+1di=0for0≤i<k+1

\mathbf{g}_{k+1}^T\mathbf{d}_i=0\quad \text{for}\quad 0\leq i

因为

gk+1−gk=H(xk+1−xk)

\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可得

gk+1=gk+αkHdk(2)

\begin{equation} \mathbf{g}_{k+1}=\mathbf{g}_k+\alpha_k\mathbf{H}\mathbf{d}_k\tag2 \end{equation}

因此

gTk+1di=gTkdi+αkdTkHdi(3)

\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,我们有

gTk+1dk=gTkdk+αkdTkHdk=0(4)

\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可得

gTkdi=0

\mathbf{g}_k^T\mathbf{d}_i=0

而且di,dk\mathbf{d}_i,\mathbf{d}_k是共轭的,

dTkHdi=0

\mathbf{d}_k^T\mathbf{H}\mathbf{d}_i=0

所以由等式3可得

gTk+1di=0for0≤i<k(5)

\begin{equation} \mathbf{g}_{k+1}^T\mathbf{d}_i=0\quad for\quad 0\leq i

结合等式4与等式5可得

gTk+1di=0for0≤i<k+1(6)

\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我们可以得出

gT2digT3digTkdi=0for0≤i<2=0for0≤i<3⋮⋮=0for0≤i<k

\begin{align*} \mathbf{g}_2^T\mathbf{d}_i&=0\quad \text{for}\quad 0\leq i
(b)因为

gTkdi≡gT(x)di=g(xk−1+αdi)Tdi=df(xk−1+αdi)dα=0

\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})在每条线

x=xk−1+αdifor0≤i<k

\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}^*的方式。

漫步最优化三十六——基本共轭方向法相关推荐

  1. 漫步最优化三十五——共轭

    我对你的喜欢像玻璃,\textbf{我对你的喜欢像玻璃,} 透明的能被你看穿.\textbf{透明的能被你看穿.} 我对你的思念像影子,\textbf{我对你的思念像影子,} 傍晚时分就被拉长.\te ...

  2. 漫步最优化三十九——Fletcher-Reeves法

    你的目光像桥梁,\textbf{你的目光像桥梁,} 指引我通往你心路的捷径.\textbf{指引我通往你心路的捷径.} 你的魅力像磁铁,\textbf{你的魅力像磁铁,} 加快我靠向你身边的步伐.\t ...

  3. 漫步最优化三十八——非二次函数最小化

    你独一无二的声音,\textbf{你独一无二的声音,} 穿越了繁杂喧嚣,\textbf{穿越了繁杂喧嚣,} 回荡在我的脑中.\textbf{回荡在我的脑中.} 你独一无二的声音,\textbf{你独一 ...

  4. 漫步最优化三十四——高斯-牛顿法

    你的温柔像羽毛,\textbf{你的温柔像羽毛,} 秘密躺在我怀抱.\textbf{秘密躺在我怀抱.} 你的微笑像拥抱,\textbf{你的微笑像拥抱,} 只有我能看到.\textbf{只有我能看到. ...

  5. 漫步最优化三十二——最速下降法

    爱需要勇气,\textbf{爱需要勇气,} 但是也许是天意,\textbf{但是也许是天意,} 让我爱上你,\textbf{让我爱上你,} 也许轮回里早已注定,\textbf{也许轮回里早已注定,} ...

  6. 漫步最优化三十——非精确线搜索

    说明:今天10.24,祝程序员们节日快乐,呜啦啦啦\textbf{说明:今天10.24,祝程序员们节日快乐,呜啦啦啦} 爱上一个人后,\textbf{爱上一个人后,} 发现自己变得主动了,\textb ...

  7. 漫步微积分三十六——曲面的面积

    让我们考虑xx轴上方的平滑曲线,如图1左边所示.当这条曲线绕xx轴旋转时,它会生成一个曲面.现在我们开始解决曲面的表面积问题. 图1 为了更加清晰,我们首先考虑一个非常简单的表面积,其底是半径为rr的 ...

  8. 推荐系统三十六式——学习笔记(三)

    由于工作需要,开始学习推荐算法,参考[极客时间]->[刑无刀大牛]的[推荐系统三十六式],学习并整理. 3 原理篇之紧邻推荐 3.1 协同过滤 要说提到推荐系统中,什么算法最名满天下,我想一定是 ...

  9. Python编程基础:第三十六节 模块Modules

    第三十六节 模块Modules 前言 实践 前言 我们目前所有的代码都写在一个文档里面.如果你的项目比较大,那么把所有功能写在一个文件里就非常不便于后期维护.为了提高我们代码的可读性,降低后期维护的成 ...

最新文章

  1. c语言程序设计自评报告,石家庄学院c语言程序设计自评报告.docx
  2. javascript 编辑网页
  3. Intent 传递对象
  4. 手机的小窗口怎么弄_做一个表白小程序
  5. python工作方法_用python开始一天工作
  6. SQL敲了mySQL变了_MySQL-Front肿么导出SQL文件
  7. 交换两个变量的值的效率的测试
  8. 又错过了暴富的机会!亚马逊AWS突发Bug,比特币现史诗级捡漏机会?
  9. 如何将FLex AIR运行环境与AIR程序一起打包
  10. 【POJ 1269】判断两直线相交
  11. iText和flying saucer结合生成pdf--显示分页页码
  12. html设置按钮不同状态的背景图片,CSS实例:创建一个鼠标感应换图片的按钮
  13. centos6 yum安装tomcat8
  14. 「思维拓展/个人提升」简说
  15. 高清影音发展的产物格式转换器
  16. 应用宝上架审核要求_腾讯应用宝开发者福利!2小时内审核
  17. RocketMQ初识
  18. DbGate:一款免费的智能数据库管理工具
  19. java 气泡图_java报表开发制作气泡图
  20. js实现1-100以内的质数

热门文章

  1. Windows Serivce服务实现过程和打包安装
  2. NYOJ-491 幸运三角形
  3. Linux 中显示所有正在运行的进程
  4. MDOP 2011 R2 DaRT 7.0 创建包含诊断和恢复的图形化PE
  5. Mac或者Linux安装RabbitMQ
  6. 用python代替人脑运算24点游戏
  7. EditorMD + handsome 编辑器插件整合
  8. wdinow 下 使用 docker 安装  code-server (web 版 vscode)
  9. python圣诞树编写实例详解
  10. Upload-Labs(1-5)