1、牛顿法应用范围

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

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

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

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

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

           2、牛顿法用于方程求解

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

                                                

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

                                                

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

                                                   

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

                                         

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

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

                                               

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

                                               

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

                                               

                                              

                     从本质上来讲,最优化求解问题的迭代形式都是:

                     其中k为系数,为函数的梯度(即函数值上升的方向),那么为下降的方向,

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

                     而牛顿将每次迭代的步长定为:

            4、补充

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

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

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

                         应该写成:为Jacobi(雅克比)矩阵。

                         应该写成:为Hessian(海森)矩阵。

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

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

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

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

                        对于优化问题 ,即,当理论最优值为0时候,这个优化问题就变为了函数求解问题:

                                                             

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

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

                                                            

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

                                  

                                                     

                                                   

                                                   

                     因此,当在最优解附近时,即满足,此时可认为:

            6、扩展阅读

                        a、修正牛顿(Newton)法

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

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

            自己所有博客汇总

最新文章

  1. SignalR入门之Hub
  2. easyui自定义标签 datagrid edit combobox 手动输入保存不上问题解决办法
  3. FireMonkey 导出目前 Style 另存文件
  4. vtk读取文件中点坐标[转]
  5. OpenGL中投影矩阵的推导
  6. Mysql性能优化那些事
  7. uC/OS-II内核架构解析(2)---uC/OS-II基本介绍(转)
  8. Servlet的请求HttpServletRequest
  9. MyBatis快速入门(一)
  10. [Redis源码阅读]dict字典的实现
  11. msgpack库的神奇用法
  12. 小甲鱼OD学习第12讲
  13. Rails多路径调用相同方法原路返回的方法
  14. 6-3 Articles(a, an, some, the)
  15. 【Eclipse】-NO.163.Eclipse.1 -【Eclipse springboot 1.x 创建maven工程初始化报错】
  16. 从零开始一起学习SLAM | 掌握g2o顶点编程套路
  17. 博客编辑器Open Live Writer的安装以及配置
  18. Spring Cloud分布式微服务云架构集成项目
  19. hadoop安装要领
  20. python之类与类之间的关系

热门文章

  1. [NgRx] Setting up NgRx Router Store and the Time-Travelling Debugger
  2. 学到了林海峰,武沛齐讲的Day17完-6 文件操作
  3. SQL Server查询性能
  4. 5、创建RDD(集合、本地文件、HDFS文件)
  5. 【原创】导出aws ec2为csv
  6. 二分算法题目训练(二)——Exams详解
  7. hadoop笔记-hdfs文件读写
  8. TCP数据报结构以及三次握手
  9. js的模块化之路
  10. matplot 绘制折线图