Newton法(牛顿法)
来源:互联网 发布:java 12306验证码识别 编辑:程序博客网 时间:2024/04/19 08:29
- 基本思想
- 算法
- 修正Newton法
- G_k为奇异矩阵
- G_k为非奇异矩阵
- 总结
上一篇博客我们讲了最速下降法(梯度下降法),梯度下降法简单,但是收敛的速度较慢。这一篇博客将会讲述牛顿法,牛顿法对于正定二次函数具有二次终止性,有较好的收敛速度。
注:(二次终止性)对于
基本思想
如果目标函数
算法
Newton法算法描述
已知:目标函数
f(x) ,梯度g(x) ,Hesse矩阵G(x) ,H终止准则所需要的终止限ϵ1,ϵ2,ϵ3 (1) 选定初始点
x0 ,并且计算f0=f(x0),g0=g(x0) ;置k=0
(2) 计算Gk=G(xk)
(3) 由方程组Gkpk=−gk 求解pk
(4) 计算xk+1=xk+pk,fk+1=f(xk+1),gk+1=g(xk+1)
(5) 判别H终止准则是否满足:弱满足,输出xk+1,fk+1 ;否则,置k=k+1 转(2)
程序流程图如下。
修正Newton法
其实在实际应用中,Newton法的限制还是比较大的,首先在使用Newton法的时候我们需要知道目标函数
Gk 为奇异矩阵
当迭代到点
Gk 为非奇异矩阵
当
(1)若
f(xk+1)<f(xk) ,则迭代有效,不作处理;
(2)若f(xk+1≥f(xl)) ,又分以下两种情况做处理。
α: 当|gTkpk|≤ϵ||gk|| ||pk|| (ϵ 是某一很小的整数)时,说明pk 与−gk 几乎垂直,所以此时求得pk 是不利方向,这时候取pk=−gk ,然后做直线搜索。
β: 当gTkpk<ϵ||gk|| ||pk|| 时,说明pk 是下降方向,此时进行直线搜索;否则,当gTkpk>ϵ||gk|| ||pk|| ,说明pk 是上升方向,此时,改为反方向(即pk=G−1kgk )为搜索方向,之后在做直线搜索。
总结
无论是Newton方法还是Newton方法都需要对目标函数求Hesse矩阵,这会相对复杂一点,但是Newton方法要比最速下降法的收敛速度快。对于无法求得Hesse矩阵的目标函数
- Newton法(牛顿法)
- 牛顿法 Newton Method
- Newton法(牛顿法 Newton Method)
- Newton法(牛顿法 Newton Method)
- 牛顿法(Newton's Method)
- 牛顿法(Newton’s method)
- 牛顿法(Newton's method)
- 高斯牛顿法 Guass-Newton
- 优化算法——牛顿法(Newton Method)
- 牛顿法求平分根(newton's method)
- 再谈 牛顿法/Newton's Method In Optimization
- 优化算法——牛顿法(Newton Method)
- 牛顿法(newton's method)求解函数极值
- 优化算法——牛顿法(Newton Method)
- 优化算法——牛顿法(Newton Method)
- 逻辑回归和牛顿法 Logistic Regression and Newton's Method
- 基础牛顿法及其变形(basic Newton's method & its variants)
- 牛顿(Newton)方法
- 自动化部署openstack
- How to Lazy Load Components in Angular 4 in Three Steps
- JAVA的基本数据类型
- JavaScript 窗口事件 onload
- leetcode 5—— Longest Palindromic Substring
- Newton法(牛顿法)
- YARN FairScheduler任务调度
- css中的七个单位
- css选择器
- tar.gz包解压失败
- 【AI_数学知识】数学分析
- JVM虚拟机参数总结分享
- Linux下mysql简单配置
- python面向对象的补充(一个对象调用另一个对象)