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

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【7】进大厂必须掌握的面试题-Java面试-Jsp

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 1. jsp的生命周期方法是什么? 方法 描述 公共无效的jspInit() 与servlet的init方法相同,仅…

    2021年6月23日
    101
  • 遍历hashmap的三种方式_java map 遍历删除

    遍历hashmap的三种方式_java map 遍历删除在Java中有多种遍历HashMap的方法,注意Java中所有的Map类型都实现了共有的Map接口,所以接下来方法适用于所有Map(如:HaspMap,TreeMap,LinkedMap,HashTable,etc)方法1使用For-Each迭代entries这是最常见的方法,并在大多数情况下更可取的。当你在循环中需要使用Map的键和值时,就可以使用这个方法Mapmap=newHashM…

    2022年9月8日
    3
  • phpstorm激活码[最新免费获取]

    (phpstorm激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月26日
    44
  • 罗技键盘+android风格,罗技这款好看轻便的蓝牙键盘,让你在电脑手机间无缝切换…

    罗技键盘+android风格,罗技这款好看轻便的蓝牙键盘,让你在电脑手机间无缝切换…来源:极客之选摘要对便携性和颜值有要求的用户,这款键盘很适合。罗技K380蓝牙键盘是罗技比较经典的一款外设产品,最近,罗技新推出了k380芍药白和茱萸粉两种新配色,让我们来一起看一下。其中粉色介于粉色和裸色之间,相比粉色增加了一丝灰色。极客之选本次拿到的是白色版本,颜色也非亮白,而是与粉色类似较柔和,两种颜色整体都非常素雅,因此也适合在各种场合使用。外观上,罗技K380延续了一贯的设计…

    2022年10月15日
    4
  • 【云原生】第十二篇–docker容器镜像仓库Harbor部署[通俗易懂]

    【云原生】第十二篇–docker容器镜像仓库Harbor部署[通俗易懂]由于国内访问国外的容器镜像仓库速度比较慢,因此国内企业创建了容器镜像加速器,以方便国内用户使用容器镜像。Harbor是VMware公司开源的企业级DockerRegistry项目,其目标是帮助用户迅速搭建一个企业级的Dockerregistry服务。它以Docker公司开源的registry为基础,提供了管理UI,基于角色的访问控制(RoleBasedAccessControl),AD/LDAP集成、以及审计日志(Auditlogging)等企业用户需求的功能,同时还原生支持中文。…

    2025年7月29日
    4
  • 基于 Echarts 实现可视化数据大屏展示[通俗易懂]

    基于 Echarts 实现可视化数据大屏展示[通俗易懂]前言收集了一套基于Echarts实现可视化数据大屏响应式展示效果的源码,共计30个页面,可以在此基础上重新开发。实现方式:html+Echarts贴图有需要的可以联系我暂时不开源,之后会考虑写教程和开源项目。…

    2022年5月1日
    838

发表回复

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

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