拟牛顿法 分析与推导

article/2025/8/26 14:50:12

转自 http://www.cnblogs.com/liuwu265/p/4714396.html  ,侵删

网上查拟牛顿法的推导,找到一个感觉比较容易读懂的,保存下来


针对牛顿法中海塞矩阵的计算问题,拟牛顿法主要是使用一个海塞矩阵的近似矩阵来代替原来的还塞矩阵,通过这种方式来减少运算的复杂度。其主要过程是先推导出海塞矩阵需要满足的条件,即拟牛顿条件(也可以称为拟牛顿方程)。然后我们构造一个满足拟牛顿条件的近似矩阵来代替原来的海塞矩阵。

  另外,在满足拟牛顿条件的基础上如何构造近似的海塞矩阵,这有很多种方法,比如:DFP算法,BFGS算法,L-BFGS算法以及Broyden类算法等。本文主要介绍前两种算法构造近似还塞矩阵。

 

1、拟牛顿条件

那么,如何构造一个近似海塞矩阵呢?即构造出来的近似海塞矩阵需要满足哪些条件呢?为此,我们先来看下牛顿法中的海塞矩阵是如何推导出来的。

在牛顿法中,首先对函数f(x)在x=xk+1处进行泰勒展开,即:

然后对f(x)求偏导:

在牛顿法中,到此步后我们就已经得到了海塞矩阵,然后对f(x)的导数赋值为0,得到x的值。

但是我们这次是为了得到海塞矩阵需要满足的条件,于是我们令x=xk得到:

即:

为了简化下面的符号表达式,令:

于是有:

上式中Bk+1为海塞矩阵,Dk+1为海塞矩阵的逆矩阵。

到了此步,我们可以看出海塞矩阵需要满足(式1.1)这个条件。那么在满足此条件的基础上如何构造近似海塞矩阵呢?下面介绍两个方法:DFP算法和BFGS算法。

 

1、DFP算法

该算法的核心思想在于通过迭代的方法,逐步改善近似海塞矩阵。我们使用D来表示近似海塞矩阵的逆矩阵。其迭代公式为:

该算法最核心的就是每次迭代的海塞矩阵的变化量如何计算?由于海塞矩阵是正定矩阵,所以可以将其变化量设为:

其中向量u,v为待定向量,其维数为:n*1。(n为x的维度)。通过这种方式得到矩阵变化量一定是对称矩阵。

根据(式1.1)有:

由于是1*1矩阵,即是一个数,于是我们可以继续转化:

为了简便,我们令:

即:

上面两个数中,一个赋1,一个赋-1,这可能是先辈们探索出来的,尤其是-1在后面恰好用到。这大大简化了问题。

于是:

即:

这时,我们再令:

于是有:

所以,我们可以得到:

DFP算法流程:

1)初始化x=x0,阀值a,并令D0=I,k=0.

2)计算搜索方向:

3)搜索步长,使得

令:

4)计算,若,则停止计算,并得到近似解:x=xk+1

5)计算,然后计算

6)令k=k+1,转第2)步。

 

2、BFGS算法

  BFGS算法是用直接逼近海塞矩阵的方式来构造近似海塞矩阵,同样,我们使用迭代的方式来逐步逼近。我们使用B来表示海塞矩阵的近似矩阵,而在DFP算法中我们是直接使用D来构造近似海塞矩阵的逆矩阵。

  近似海塞矩阵的迭代公式为:

  与DFP一样,我们设:

  于是有:

  令:

  于是有:

令:

所以得:

最终,我们得到:

  可以证明,若初试矩阵B0是正定的,则迭代过程中的每个矩阵Bk都是正定的。(证明略)

  由于上面计算得到的是海塞矩阵的近似矩阵,而在算法中我们需要用到海塞矩阵的逆矩阵,因而我们还需要对已经得到的近似海塞矩阵求逆矩阵。

  海塞矩阵的迭代公式为:

  利用Sherman-Morrison公式,我们可以将上式转化成:

  通过这种方法,我们就可以更加方便的使用近似海塞矩阵的逆矩阵来进行计算。该算法的流程和DFP算法完全一样,只是将迭代公式略作修改,具体过程可以参考上面的DFP算法。

 

 

 

参考文献:

[1] peghoty, http://blog.csdn.net/itplus/article/details/21896619

[2]李航,统计学习方法。




http://chatgpt.dhexx.cn/article/0J2vQ0xH.shtml

相关文章

优化算法——拟牛顿法之BFGS算法

一、BFGS算法简介 BFGS算法是使用较多的一种拟牛顿方法,是由Broyden,Fletcher,Goldfarb,Shanno四个人分别提出的,故称为BFGS校正。 同DFP校正的推导公式一样,DFP校正见博文“ 优化算法——拟牛顿法之DFP算法…

牛顿法的matlab实现

简介:牛顿法是用来求解无约束优化问题的,它的基本思想是用迭代点xk处的一阶导数和二阶导数对目标函数进行二次函数近似,然后把二次模型的极小点作为新的迭代点,不断重复这一过程,直至满足精度的近似极小点。 这里有必…

最优化方法:牛顿迭代法和拟牛顿迭代法

http://blog.csdn.net/pipisorry/article/details/24574293 基础 拐点 若曲线图形在一点由凸转凹,或由凹转凸,则称此点为拐点。直观地说,拐点是使切线穿越曲线的点。 拐点的必要条件:设 f ( x ) {\displaystyle f(x)} 在 ( a , b…

Newton法(牛顿法 Newton Method)

平时经常看到牛顿法怎样怎样,一直不得要领,今天下午查了一下维基百科,写写我的认识,很多地方是直观理解,并没有严谨的证明。在我看来,牛顿法至少有两个应用方向,1、求方程的根,2、最…

牛顿法与拟牛顿法学习笔记(四)BFGS 算法

机器学习算法中经常碰到非线性优化问题,如 Sparse Filtering 算法,其主要工作在于求解一个非线性极小化问题。在具体实现中,大多调用的是成熟的软件包做支撑,其中最常用的一个算法是 L-BFGS。为了解这个算法的数学机理&#xff0c…

梯度下降、牛顿法、拟牛顿法

介绍 在向量微积分中,标量场的梯度是一个向量场。标量场中某一点上的梯度指向标量场增长最快的方向,梯度的长度是这个最大的变化率。更严格的说,从欧几里得空间Rn到R的函数的梯度是在Rn某一点最佳的线性近似。 在判别式模型中,我们…

拟牛顿法

  转自:ACdreamer 今天,我来讲一种在机器学习中常用到的优化算法,叫做BFGS算法。BFGS算法被认为是数值效果最好的拟牛顿 法,并且具有全局收敛性和超线性收敛速度。那么接下来将会详细讲解…

牛顿法与拟牛顿法求解比较

拟牛顿法求解非线性方程 开始牛顿迭代法拟牛顿法数值计算比较 开始 最近博主在研究非线性方程组的解法,有很多种方法,这里主要对牛顿迭代与拟牛顿迭代进行阐述与对比,由于水平有限,若有错误还请见谅并指出。 牛顿迭代法 相信许…

牛顿法、拟牛顿法、高斯-牛顿法、共轭梯度法推导总结

原文:http://ihoge.cn/2018/newton1.html 前言: 线性最小二乘问题,我们可以通过理论推导可以得到其解析解,但是对于非线性最小二乘问题,则需要依赖迭代优化的方法,牛顿算法是解决非线性最优的常见算法之一…

牛顿法、梯度下降法与拟牛顿法

牛顿法、梯度下降法与拟牛顿法 0 引言1 关于泰勒展开式1.1 原理1.2 例子 2 牛顿法2.1 x 为一维2.2 x 为多维 3 梯度下降法4 拟牛顿法4.1 拟牛顿条件4.2 DFP 算法4.3 BFGS 算法4.4 L-BFGS 算法 0 引言 机器学习中在求解非线性优化问题时,常用的是梯度下降法和拟牛顿…

牛顿法(Newton‘s method)和拟牛顿法(quasi Newton method)

简述 在看伊恩古德费洛的深度学习,4.3节基于梯度的优化方法时提到 仅使用梯度信息的优化算法称为 一阶优化算法 ,如梯度下降。 使用Hessian矩阵的优化算法称为 二阶最优化算法 ,如牛顿法。 牛顿法和拟牛顿法时求解无约束最优化问题的常用方法…

最优化六:牛顿法(牛顿法、拟牛顿法、阻尼牛顿法)

牛顿法将目标函数近似为二阶函数,沿着牛顿方向进行优化(包含了Hession矩阵与负梯度信息)。 阻尼牛顿法在更新参数之前进行了一维搜索确定步长,确保沿着下降的方向优化。 拟牛顿法用常数矩阵近似替代Hession矩阵或Hession矩阵的逆…

quasi-Newton method 拟牛顿法

拟牛顿法是对牛顿法的改进,在看这一块内容以前,我们先来了解一下什么是 牛顿法。 拟牛顿法是求解非线性优化问题最有效的方法之一。 拟牛顿法的本质思想是改善牛顿法每次需要求解复杂的Hessian矩阵的逆矩阵的缺陷,它使用正定矩阵来近似Hess…

牛顿法与拟牛顿法

牛顿法 求函数的根 牛顿法的最初提出是用来求解方程的根的。我们假设点 x∗ 为函数 f(x) 的根,那么有 f(x∗)0 。现在我们把函数 f(x) 在点 xk 处一阶泰勒展开有: f(x)f(xk)f′(xk)(x−xk) 那么假设点 xk1 为该方程的根,则有 f(xk1)f(xk)f′…

最优化方法总结——梯度下降法、最速下降法、牛顿法、高斯牛顿法、LM法、拟牛顿法

目录 1 最优化方法的结构 2 常用最优化方法对比分析 3 相关计算公式 1 最优化方法的结构 最优化问题的一般形式为: 其中为决策变量,是目标函数,为约束集或可行域。特别地,如果,则最优化问题成为无约束最优化问题。 …

牛顿法与拟牛顿法学习笔记(二)拟牛顿条件

机器学习算法中经常碰到非线性优化问题,如 Sparse Filtering 算法,其主要工作在于求解一个非线性极小化问题。在具体实现中,大多调用的是成熟的软件包做支撑,其中最常用的一个算法是 L-BFGS。为了解这个算法的数学机理&#xff0c…

牛顿法与拟牛顿法学习笔记(一)牛顿法

机器学习算法中经常碰到非线性优化问题,如 Sparse Filtering 算法,其主要工作在于求解一个非线性极小化问题。在具体实现中,大多调用的是成熟的软件包做支撑,其中最常用的一个算法是 L-BFGS。为了解这个算法的数学机理&#xff0c…

最优化学习 拟牛顿法(Quasi-Newton Method)

拟牛顿法(Quasi-Newton Method) 拟牛顿法(Quasi-Newton Method)得到矩阵 B k 1 B_{k1} Bk1​获取 B k 1 B_{k1} Bk1​和 H k 1 H_{k1} Hk1​DFP方法(Davidon-Fletche Powell)BFGS方法(Broyden-Fletcher-Goldfarb-Shannon)Broyd…

牛顿法与拟牛顿法(含代码实现)

1. 牛顿法 牛顿法(英语:Newton’s method)又称为牛顿-拉弗森方法(英语:Newton-Raphson method),它是一种在实数域和复数域上近似求解方程的方法。 牛顿法的基本思想是使用函数 f ( x ) {\dis…

拟牛顿法(DFP、BFGS、L-BFGS)

拟牛顿法 一、牛顿法 1.1 基本介绍 牛顿法属于利用一阶和二阶导数的无约束目标最优化方法。基本思想是,在每一次迭代中,以牛顿方向为搜索方向进行更新。牛顿法对目标的可导性更严格,要求二阶可导,有Hesse矩阵求逆的计算复杂的缺…