牛顿法和牛顿迭代法一样吗_牛顿迭代法流程图

牛顿法和牛顿迭代法一样吗_牛顿迭代法流程图牛顿法,大致的思想是用泰勒公式的前几项来代替原来的函数,然后对函数进行求解和优化。"牛顿法"和"应用于最优化的牛顿法"稍微有些差别。牛顿法牛顿法用来

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

牛顿法,大致的思想是用泰勒公式的前几项来代替原来的函数,然后对函数进行求解和优化。牛顿法和应用于最优化的牛顿法稍微有些差别。

牛顿法

牛顿法用来迭代的求解一个方程的解,原理如下:
对于一个函数f(x),它的泰勒级数展开式是这样的

\[f(x) = f(x_0) + f'(x_0)(x-x_0) + \frac{1}{2} f”(x_0)(x-x_0)^2 + …+\frac{1}{n!}f^{n}(x_0)(x-x_0)^n \]

当使用牛顿法来求一个方程解的时候,它使用泰勒级数前两项来代替这个函数,即用\(\phi(x)代替f(x)\),其中:

\[\phi(x) = f(x_0) + f'(x_0)(x-x_0) \]

令\(\phi(x) = 0\),则 \(x = x_0 – \frac{f(x_0)}{ f'(x_0)}\)。
所以,牛顿法的迭代公式是\(x_{n+1} = x_n – \frac{f(x_n)}{ f'(x_n)}\)

牛顿法求解n的平方根

求解n的平方根,其实是求方程\(x^2 -n = 0\)的解
利用上面的公式可以得到:\(x_{i+1} = x_i – \frac{x_i^2 – n}{2 x_i} = (x_i + \frac{n}{x_i} ) /2\)
编程的时候核心的代码是:x = (x + n/x)/2

应用于最优化的牛顿法

应用于最优化的牛顿法是以迭代的方式来求解一个函数的最优解,常用的优化方法还有梯度下降法。
取泰勒展开式的二次项,即用\(\phi(x)\)来代替\(f(x)\):

\[\phi(x) = f(x_0) + f'(x_0)(x-x_0) + \frac{1}{2} f”(x_0)(x-x_0)^2 \]

最优点的选择是\(\phi'(x)=0\)的点,对上式求导

\[\phi'(x) =f'(x_0) + f”(x_0)(x-x_0) \]

令\(\phi'(x) = 0\),则\(x = x_0 – \frac{f'(x_0)}{f”(x_0)}\)
所以,最优化的牛顿迭代公式是

\[x_{n+1} = x_n – \frac{f'(x_n)}{f”(x_n)} \]

高维下的牛顿优化方法

在高维下

\[\phi(x) = f(x_0) + \nabla f(x_0)^T (x-x_0) + \frac{1}{2} (x-x_0)^T \nabla^2 f(x_0)(x-x_0) \]

求\(\nabla \phi(x)\),并令它等于0,则公式变为了

\[\nabla f(x_0) + \nabla^2 f(x_0)(x-x_0) =0 \]

即

\[x = x_0 – {\nabla ^2 f(x_0) }^{-1} \nabla f(x_0) \]

所以,迭代公式变为

\[x_{n+1} = x_{n} – {\nabla ^2 f(x_n) }^{-1} \nabla f(x_n) \]

其中:
\(x_{n+1} ,x_n\)都是N*1维的矢量。
\(\nabla^2 f(x_n)\)是Hessien矩阵,\({\nabla ^2 f(x_n) }^{-1}\)是Hessien矩阵的逆矩阵,它们都是是N*N维的。
\(\nabla f(x_n)\)是 \(f(x)\)的导数,是N*1维的。

和梯度下降法相比,在使用牛顿迭代法进行优化的时候,需要求Hessien矩阵的逆矩阵,这个开销是很大的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168015.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 正规矩阵(酉矩阵)[通俗易懂]

    正规矩阵(酉矩阵)[通俗易懂]英文名:Unitarymatrix

    2022年11月1日
  • 大数据计算框架有哪些_高中物理知识框架图

    大数据计算框架有哪些_高中物理知识框架图前言大家好,我是土哥写文章整整五个月了,在这期间写了很多篇高质量文章,每一篇都在1000+阅读以上,为了让各位小伙伴更好的学习和面试,我将自己发表的文章以及未发表的文章全部汇总成一个文档,里面包含了全部的无水印高清图片,具体内容如下:关注公众号:【3分钟秒懂大数据】,回复关键字:【大数据】,进群领取下文全部PDF文件。1、大数据学习路线文章硬不硬核,你说了算,土哥怒肝大数据学习路线一条龙!(万字长文+资源分享)上述文章将所有组件的安装包全部都收集好,版本

    2022年10月25日
  • 风控模型评价指标总结

    风控模型评价指标总结    下表为我在日常建模过程中,评价模型经常用到的一些指标。现在整理出来分享给大家,如果大家想知道每种指标的具体意义,还请大家查阅相关大佬的博文。小弟就不在这里班门弄斧了。…

    2022年5月27日
  • h3c s2000交换机配置命令_华三两台交换机做dhcp

    h3c s2000交换机配置命令_华三两台交换机做dhcp
    一、 组网需求:
    Switch的端口Ethernet1/0/5与DHCP服务器端相连,端口Ethernet1/0/1,Ethernet1/0/2,Ethernet1/0/3分别与DHCPClientA、DHCPClientB、DHCPClientC相连。
    (1)在Switch上开启DHCPSnooping功能。
    (2)设置Switch上端口Ethernet1/0/5为DHCPSnooping信任端口。
    (3)在Switch

    2022年10月15日
  • C++ map用法总结(整理)

    C++ map用法总结(整理)1,map简介map是STL的一个关联容器,它提供一对一的hash。第一个可以称为关键字(key),每个关键字只能在map中出现一次; 第二个可能称为该关键字的值(value);map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。Map主要用于资料一对一映射(one-to-one)的情況,map內部的实现自建一颗红黑树,这颗树具有对数据自动排序的功能。在…

    2022年7月17日
  • 应用程序正常初始化(0xc015002)失败解决方法

    应用程序正常初始化(0xc015002)失败解决方法

    2021年12月15日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号