线搜索中有最速下降法、牛顿法、拟牛顿法、共轭梯度法汇总(下)

简介: 线搜索中有最速下降法、牛顿法、拟牛顿法、共轭梯度法汇总(下)

DFP算法的性质


定理1:在DFP算法中,若初始矩阵H 0 对称正定,则H k 中每一个都对称正定。

image.png

共轭方向法与共轭梯度法


基本思想


  最速下降法存在锯齿现象,Newton法需要计算目标函数的二阶导数。接下来介绍的共轭方向法是介于最速下降法和Newton法之间的一种方法,它克服了最速下降法的锯齿现象,从而提高了收敛速度;它的迭代公式也比较简单,不必计算目标函数的二阶导数,与Newton法相比,减少了计算量和存储量。它是比较实用而有效的最优化方法。


image.png


20191103140154239.png


 任选初始点x 0 ,沿它的某个下降方向,例如向量p 0 的方向,作直线搜索,如上图所示。由下面这个定理:

image.png

image.png

由上面共轭梯度法那张图可以设:

image.png

 归纳一下,对于正定二元二次函数,从任意初始点x 0 出发,沿任意下降方向p 0 做直线搜索得到x 1 再从x 1 出发,沿p 0的共轭方向p 1 作直线搜索,所得到的x 2 必是极小点x 。到目前为止的共轭梯度法依旧是假设了目标函数是二次正定矩阵。

  上面的结果可以推广到n 维空间中,即在n 维空间中,可以找出n 个互相共轭的方向,对于n 元正定二次函数从任意初始点出发,顺次沿着这n 个共轭方向最多作n 次直线搜索,就可以求到目标函数的极小点。

  对于n 元正定二次目标函数,如果从任意初始点出发经过有限次迭代就能够求到极小点,那么称这种算法具有二次终止性。例如,Newton法对于二次函数只须经过一次迭代就可以求到极小点,因此是二次终止的;而最速下降法就不具有二次终止性。共轭方向法(如共轭梯度法、拟Newton法等)也是二次终止的。

  一般说来,具有二次终止性的算法,在用于一般函数时,收敛速度是较快的。


共轭向量及其性质

image.png


共轭方向法


  共轭方向法的理论基础是下面的定理。

定理 假设

image.png

 这个定理看来较繁,但可借用直观的几何图形来帮助理解。n = 3 n=3n=3m = 2 m=2m=2的情形为例,如图示。

  p 0 p 1 是Q共轭向量,张成了二维空间R 2 ,这是过坐标原点的一个平面。 现在,过点x 0 沿p 0 方向作直线搜索得到x 1,再过点x 1 沿p 1 方向作直线搜索得到x 2 过点x 0 由向量p 0 p 1 张成的平面就是线性流形L [ x 0 ; p 0 , p 1 ] 。它是R 2 的平行平面。

  定理的论断是,最后一个迭代点x 2 处的梯度∇ f ( x 2 ) 必与p 0p 1 垂直。并且x 2 是三元二次目标函数f ( x ) 在线性流形L [ x 0 ; p 0 , p 1 ]即过x 0p 0 p 1张成的平面)上的极小点。


  共轭方向法算法的大体流程就是:选定初始点x 0和下降方向向量p 0 ,做直线搜索x k + 1 = l 。提供的梯度方向p k + 1使得image.png。提供共轭方向的方法有多种。不同的提供方法将对应不同的共轭方法。每种方法也因产生共轭方向的特点而得名。


 那么这里做直线搜索image.png中的t 是如何确定的呢?这里我们先回顾一下在最速下降法中是如何计算这个t 的。最速下降法:

image.png

 这里还可以采用另外一种种方式计算t k ,下面对另外一种方式进行公式推导:

image.png

共轭梯度法

image.png

 针对目标函数是正定二次函数来讨论:


(1) 第一个迭代点的获得

image.png

(2) 第二个迭代点的获得

image.png

由此解出

image.png

(3) 第三个迭代点的获得

image.png

image.png

(4) k 个迭代点的获得

image.png


以上就是共轭梯度法得核心内容。


Fletcher-Reeves共轭梯度法

image.png



此式称为Fletcher-Reeves公式(1964年)。

相关文章
|
9月前
|
存储 算法
线搜索中有最速下降法、牛顿法、拟牛顿法、共轭梯度法汇总(上)
线搜索中有最速下降法、牛顿法、拟牛顿法、共轭梯度法汇总(上)
129 0
|
10月前
|
数据挖掘 Python
|
10月前
|
定位技术
百度地图开发:实现附近距离的筛选功能
百度地图开发:实现附近距离的筛选功能
58 0
|
11月前
|
存储 算法
基于链表和禁忌搜索启发式算法实现非一刀切二维矩形排样算法
基于链表和禁忌搜索启发式算法实现非一刀切二维矩形排样算法
71 0
|
算法 前端开发
日拱算法:搜索二维矩阵 II
编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。
|
存储 算法
基于禁忌搜索的TSP问题求解仿真输出路线规划图和收敛曲线
基于禁忌搜索的TSP问题求解仿真输出路线规划图和收敛曲线
155 0
基于禁忌搜索的TSP问题求解仿真输出路线规划图和收敛曲线
|
算法 决策智能 C++
变邻域搜索(VNS)原理梳理和应用细节-附求解VRPTW问题C++代码
变邻域搜索(VNS)原理梳理和应用细节-附求解VRPTW问题C++代码
变邻域搜索(VNS)原理梳理和应用细节-附求解VRPTW问题C++代码
最优化学习 下降算法初步与线搜索方法
最优化学习 下降算法初步与线搜索方法
最优化学习 下降算法初步与线搜索方法
|
机器学习/深度学习 算法
【图论搜索专题】灵活运用多种搜索方式进行求解 Ⅱ(含启发式搜索)
【图论搜索专题】灵活运用多种搜索方式进行求解 Ⅱ(含启发式搜索)
|
XML 算法 C语言
干货 | 自适应大邻域搜索(ALNS)和禁忌搜索(TS)实验对比附代码
干货 | 自适应大邻域搜索(ALNS)和禁忌搜索(TS)实验对比附代码
1217 0
干货 | 自适应大邻域搜索(ALNS)和禁忌搜索(TS)实验对比附代码