牛顿法和拟牛顿法的简单介绍以及python实现

本文简要介绍牛顿法及其在求解函数零点和优化问题中的应用,提供了牛顿法的Python实现。同时探讨了拟牛顿法,特别是针对高维函数时,由于求解Hessian矩阵及其逆矩阵的复杂性,引入了伪牛顿法,如DFP、BFGS、L-BFGS等。并推荐了一篇深入讲解拟牛顿法的博客链接。
摘要由CSDN通过智能技术生成

这篇文章对牛顿法的讨论比较浅,主要就是说一下用途,定义,然后自己手撸个简单的代码实现一下看看效果。若有错误,欢迎指正。

牛顿法的用途

牛顿法最初是被设计出来,通过迭代不断地逼近目标函数的零点的,也就是用来求解函数零点的一种方法。但是,我们都知道当函数存在极值点时,函数的极值点处的导数为0。所以,我们可以转变一下思路,将函数的微分函数设为我们的目标函数,然后用牛顿法去逼近它的零点,这样我们就可以用牛顿法求解优化问题啦。

牛顿法的定义

这里就不再具体的总结牛顿法的定义了,百度百科,维基百科什么的都写得非常清楚而且比较通俗易懂,花点时间仔细看一下就能明白它的大概思路。简单来讲,牛顿法就是迭代地,从初始点开始对当前变量在函数上的点做切线,并将切线与变量轴的交点(该切线的零点)设为新的测试点,如果新的测试点的函数值为0,停止迭代,否则继续以以上方法继续逼近零点。因此,根据我们初中的时候所学的点斜式定义直线的方法,新旧点之间的迭代公式为:
x k + 1 = x k − f ( x k + 1 ) f ′ ( x k + 1 ) x_{k+1} = x_k-\frac{f(x_{k+1})}{f'(x_{k+1})} xk+1=xk

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值