Newton法(牛顿法 Newton Method)

翻译 2017年01月03日 13:01:19

           1、牛顿法应用范围

                         牛顿法主要有两个应用方向:1、目标函数最优化求解。例:已知 f(x)的表达形式,g(x)=\min\left\|{f(x)}\right\|,求 ming(x),及g(x)取最小值时的 x ?,即

                                                          由于||f(x)||通常为误差的二范数,此时这个模型也称为最小二乘模型,即\min\{{f^2}(x)\}

                                                      2、方程的求解(根)。例:求方程的解:g(x) = 0,求 x ?

                    这两个应用方面都主要是针对g(x)为非线性函数的情况。2中,如果g(x)为线性情况下的求解通常使用最小二乘法求解。

                         牛顿法的核心思想是对函数进行泰勒展开。

           2、牛顿法用于方程求解

                    对f(x)进行一阶泰勒公式展开:

                                              g(x){\approx}g({x_k})+g'({x_k})(x-{x_k})   (1)

                    此时,将非线性方程 g(x) = 0 近似为线性方程:

                                              g({x_k})+g'({x_k})(x-{x_k})=0   (2)

                    若 f’(x) != 0,则下一次迭代解为:

                                              {x_{k+1}}={x_k}-\frac{1}{{g'({x_k})}}g({x_k})      (3)

                    牛顿迭代示意图(因此Newton迭代法也称为切线法):

                                          1

          3、牛顿法用于函数最优化求解

                     对f(x)进行二阶泰勒公式展开:

                                            g(x){\approx}g({x_k})+g'({x_k})(x-{x_k})+\frac{1}{2}g''({x_k}){(x-{x_k})^2}    (4)

                     此时,将非线性优化问题 min f(x) 近似为为二次函数的最优化求解问题:

                                            \min\{g({x_k})+g'({x_k})(x-{x_k})+\frac{1}{2}g''({x_k}){(x-{x_k})^2}\}    (5)

                     对于(5)式的求解,即二次函数(抛物线函数)求最小值,对(5)式中的函数求导:

                                            g'({x_k})+g''({x_k})(x-{x_k})=0    (6)

                                            \Rightarrow{x_{k+1}}={x_k}-\frac{1}{{g''({x_k})}}g'({x_k})   (7)

                     从本质上来讲,最优化求解问题的迭代形式都是: {x_{k+1}}={x_k}-kg'({x_k})

                     其中k为系数,g'({x_k})为函数的梯度(即函数值上升的方向),那么-g'({x_k})为下降的方向,

                     最优化问题的标准形式是:求目标函数最小值,只要每次迭代沿着下降的方向迭代那么将逐渐达到最优,

                     而牛顿将每次迭代的步长定为:1/g''({x_k})

            4、补充

                          a、严格来讲,在“3、牛顿法用于函数最优化求解”中对函数二阶泰勒公式展开求最优值的方法称为:Newton法

                         而在“2、牛顿法用于方程求解”中对函数一阶泰勒展开求零点的方法称为:Guass-Newton(高斯牛顿)法

                     b、在上面的陈述中,如果x是一个向量,那么公式中:

                         g'({x_k})(x-{x_k})应该写成:g'{({x_k})^T}(x-{x_k})g'({x_k})为Jacobi(雅克比)矩阵。

                         g''({x_k})(x-{x_k})应该写成:{(x-{x_k})^T}g''({x_k})(x-{x_k})g''(x-{x_k})为Hessian(海森)矩阵。

                     c、牛顿法的优点是收敛速度快,缺点是在用牛顿法进行最优化求解的时候需要求解Hessian矩阵。

                         因此,如果在目标函数的梯度和Hessian矩阵比较好求的时候应使用Newton法。

                         牛顿法在进行编程实现的时候有可能会失败,具体原因及解决方法见《最优化方法》-张薇 东北大学出版社 第155页。

           5、Newton法与Guass-Newton法之间的联系

                        对于优化问题 \min\left\|{f(x)}\right\|,即\min\{{f^2}(x)\},当理论最优值为0时候,这个优化问题就变为了函数求解问题:

                                                              \min\{{f^2}(x)\}{\Rightarrow}{f^2}(x)=0{\Rightarrow}f(x)=0

                          结论:当最优化问题的理论最小值为0时,Newton法求解就可变为Guass-Newton法求解。        

                     另外:对f(x)进行二阶泰勒展开:

                                                             f(x)=f({x_k})+J{x_k}+0.5{x_k^'}H{x_k}

                          f(x)乘以f(x)的转置并忽略二次以上的项:

                                   {f^T}(x)f(x)=\{{f^T}({x_k})+{(J{x_k})^T}+{(0.5{x_k^'}H{x_k})^T}\}

                                                      *\{f({x_k})+J{x_k}+0.5{x_k^'}H{x_k}\}

                                                    {\rm{=}}{f^T}({x_k})f({x_k})+2f({x_k})J{x_k}+x_k^T{J^T}J{x_k}+f({x_k})x_k^TH{x_k}

                                                    ={f^T}({x_k})f({x_k})+2f({x_k})J{x_k}+x_k^T({J^T}J+f({x_k})H){x_k}

                     因此,当{x_k}在最优解附近时,即满足f({x_k})=0,此时可认为:H={J^T}J

            6、扩展阅读

                        a、修正牛顿(Newton)法

                    b、共轭方向法与共轭梯度法

                    c、拟牛顿法(避免求解Hessian矩阵):DFP算法、BFGS算法



http://www.cnblogs.com/monoSLAM/p/5246665.html

牛顿法求方程根

牛顿法 维基百科,自由的百科全书 跳转至: 导航、 搜索 本条目没有列出任何参考或来源。(2013年11月23日) 维基百科所有的内容都应该可供查证...
  • BPSSY
  • BPSSY
  • 2013年12月06日 01:02
  • 1791

牛顿法及牛顿下山法求零点

function [x_star,k]=MyNewton(fun,difffun,a,ep) k=1 x_k=a f_xk=feval(fun,x_k) fdiff_xk=feval(difffu...
  • njl1023615376
  • njl1023615376
  • 2014年11月21日 18:43
  • 578

编程能力提高-----用牛顿迭代法求输入的数的平方根

迭代法  迭代法在网上有一个形象的比喻:军人在进攻时常采用交替掩护进攻的方式,若在数轴上的点表示A,BA,B两人的位置,规定在前面的数大于后面的数,则是A>B,B>AA>B,B>A交替出现。但现在假设...
  • so_geili
  • so_geili
  • 2016年11月15日 19:08
  • 705

Newton迭代法求函数极小值点 Matlab程序

牛顿迭代法 是最优化中的
  • gujinjin2008
  • gujinjin2008
  • 2014年04月21日 15:30
  • 4299

牛顿迭代法(牛顿-拉弗森方法(Newton-Raphson method))

起源[编辑] 牛顿法最初由艾萨克·牛顿在《流数法》(Method of Fluxions,1671年完成,在牛顿死后的1736年公开发表)。约瑟夫·拉弗森也曾于1690年在Analysis ...
  • szlcw1
  • szlcw1
  • 2014年04月22日 21:22
  • 6919

优化算法——牛顿法(Newton Method)

一、牛顿法概述
  • google19890102
  • google19890102
  • 2014年11月13日 22:00
  • 16395

优化算法——牛顿法(Newton Method)

一、牛顿法概述     除了前面说的梯度下降法,牛顿法也是机器学习中用的比较多的一种优化算法。牛顿法的基本思想是利用迭代点处的一阶导数(梯度)和二阶导数(Hessen矩阵)对目标函数进行二次函数近似...
  • wangh0802
  • wangh0802
  • 2017年05月20日 10:40
  • 348

牛顿法 Newton Method

上一次我们讨论了具有 Q-线性收敛性的普通的 gradient descent 方法,今天我们要介绍一种收敛速度更快的算法:Newton Method(或者叫 Newton’s Method)。 ...
  • GarfieldEr007
  • GarfieldEr007
  • 2016年01月08日 19:46
  • 888

拟牛顿法/Quasi-Newton,DFP算法/Davidon-Fletcher-Powell,及BFGS算法/Broyden-Fletcher-Goldfarb-Shanno

在最优化领域,有几个你绝对不能忽略的关键词:拟牛顿、DFP、BFGS。名字很怪,但是非常著名。下面会依次地说明它们分别“是什么”,“有什么用” 以及 “怎么来的”。 但是在进入正文之前,还是要先...
  • yeyang911
  • yeyang911
  • 2013年10月12日 10:21
  • 1134

最速下降法/steepest descent,牛顿法/newton,共轭方向法/conjugate direction,共轭梯度法/conjugate gradient 及其他

转载须注明出处:http://www.codelast.com/   在最优化的领域中,这“法”那“法”无穷多,而且还“长得像”——名字相似的多,有时让人觉得很迷惑。 在自变量为一维的情况下,也...
  • shadow67
  • shadow67
  • 2015年04月16日 14:05
  • 426
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Newton法(牛顿法 Newton Method)
举报原因:
原因补充:

(最多只允许输入30个字)