Newton法(牛顿法 Newton Method)
来源:互联网 发布:双百大赛官网通知 编辑:程序博客网 时间:2024/05/02 15:20
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算法
http://www.cnblogs.com/monoSLAM/p/5246665.html
- Newton法(牛顿法 Newton Method)
- Newton法(牛顿法 Newton Method)
- 牛顿法 Newton Method
- 牛顿法(Newton’s method)
- 牛顿法(Newton's method)
- 牛顿法(Newton's Method)
- 牛顿法求平分根(newton's method)
- Newton法(牛顿法)
- 优化算法——牛顿法(Newton Method)
- 再谈 牛顿法/Newton's Method In Optimization
- 优化算法——牛顿法(Newton Method)
- 牛顿法(newton's method)求解函数极值
- 优化算法——牛顿法(Newton Method)
- 优化算法——牛顿法(Newton Method)
- 牛顿-拉夫逊方法(Newton-Raphson method)
- 牛顿方法(Newton's Method)
- 基础牛顿法及其变形(basic Newton's method & its variants)
- 牛顿迭代法(Newton's Method)
- Excel的COUNTIF函数使用方法
- Java虚拟机5:Java垃圾回收(GC)机制详解
- 【数据库SQL】查找特殊字符语句的使用案例
- CQL(Cassandra Query Language)函数
- 【数据库SQL】常见SQL语句-创建表_添加主键_添加列
- Newton法(牛顿法 Newton Method)
- Java虚拟机6:内存溢出和内存泄露、并行和并发、Minor GC和Full GC、Client模式和Server模式的区别
- 8个hybrid app开发工具
- Java虚拟机7:内存分配原则
- 【数据库SQL】自动生成编号功能
- 收藏夹中,收藏的那些Android干货(必须收藏)
- Java虚拟机8:虚拟机性能监控与故障处理工具
- Java中的字节序问题
- ugui学习——可动态改变Content大小的ScrollView