【数学】通俗理解泰勒公式(牛顿迭代法有用到)

news2024/11/24 6:39:43

【数学】通俗理解泰勒公式(牛顿迭代法有用到)

文章目录

  • 【数学】通俗理解泰勒公式(牛顿迭代法有用到)
    • 1. 介绍
    • 2. 通俗理解
      • 2.1 近似计算
    • 3. 泰勒公式的推导
    • 4. 泰勒公式的定义
    • 5. 扩展 — 麦克劳林公式
    • 参考

1. 介绍

最近在看一些机器学习优化相关的方法(梯度下降、牛顿迭代等),里面又涉及到泰勒公式展开等,大学学的奈何都忘的差不多了,于是就看了一些博客,整理一下。

泰勒公式,也称泰勒展开式。是用一个函数在某点的信息,描述其附近取值的公式。如果函数足够平滑,在已知函数在某一点的各阶导数值的情况下,泰勒公式可以利用这些导数值来做系数,构建一个多项式近似函数,求得在这一点的邻域中的值。

  • 所以泰勒公式是做什么用的?
    • 简单来讲就是用一个多项式函数去逼近一个给定的函数(即尽量使多项式函数图像拟合给定的函数图像),注意,逼近的时候一定是从函数图像上的某个点展开。
    • 如果一个非常复杂函数,想求其某个值,直接求无法实现,这时候可以使用泰勒公式去近似的求该值,这是泰勒公式的应用之一。
    • 泰勒公式在机器学习中主要应用于梯度迭代(牛顿迭代法)。

2. 通俗理解

下式是最简单的一类初等函数,也就是多项式。
在这里插入图片描述

  • 多项式本身的运算仅是有限项加减法和乘法,所以在数值计算方面,多项式是人们乐于使用的工具。因此我们经常用多项式来近似表达函数。这也是为什么泰勒公式选择多项式函数去近似表达给定的函数。

2.1 近似计算

初等数学已经了解到一些函数如:
在这里插入图片描述
但是初等数学不曾回答怎样来计算它们,以 f ( x ) = cos ⁡ x f(x) = \small \cos x f(x)=cosx 的近似计算为例,这里进行计算:

1)一次(线性)逼近

利用微分近似计算公式 f ( x ) ≈ f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) f(x) \small \approx f(\small x_{0}) + {f}'(\small x_{0})(x - \small x_{0}) f(x)f(x0)+f(x0)(xx0) (该式由导数/微分的极限表达公式转换得到),对 x 0 = 0 \small x_{0} = 0 x0=0 附近的 f ( x ) f(x) f(x) 的线性逼近为: f ( x ) ≈ f ( 0 ) + f ′ ( 0 ) x f(x) \small \approx f(0) + {f}'(0) x f(x)f(0)+f(0)x , 所以 f ( x ) = cos ⁡ x ≈ 1 f(x) = \small \cos x \small \approx 1 f(x)=cosx1,所以 f ( x ) f(x) f(x) x 0 = 0 \small x_{0} = 0 x0=0 附近的线性逼近函数 P 1 ( x ) = 1 P_{1}(x) = 1 P1(x)=1,如下图:
在这里插入图片描述

  • 线性逼近-优点:形式简单,计算方便;
  • 线性逼近-缺点:离原点O越远,近似度越差。

2)二次逼近

使用二次多项式 p 2 ( x ) = a 0 + a 1 x + a 2 x 2 p_2(x) = a_0 + a_1x + a_2 x^2 p2(x)=a0+a1x+a2x2 来逼近 f ( x ) = cos ⁡ x f(x) = \small \cos x f(x)=cosx,我们期望:

在这里插入图片描述
所以 cos ⁡ x ≈ P 2 ( x ) = 1 − x 2 2 \small \cos x \small \approx \small P_{2}\left ( x \right ) = 1 - \small \frac{x^{2}}{2} cosxP2(x)=12x2,如下图:

在这里插入图片描述

  • 二次逼近要比线性逼近好得多,但局限于 [ − π 2 , π 2 ] [ \small -\frac{\pi }{2},\small \frac{\pi }{2} ] [2π2π] 内,在这个范围之外,图像明显差异很大。
  • 为什么我们期望两个函数在某一点的函数值 、一阶导数值、二阶导数值相等?
    • 因为这些值表达了函数(图像)最基本和最主要的性质,这些性质逼近即可以使得两个函数逼近(由上面函数图像可以直观地看出来)。这也是泰勒公式的基本思想。

3)八次逼近

使用八次多项式 p 8 ( x ) = a 0 + a 1 x + a 2 x 2 + . . . + a 8 x 8 p_8(x) = a_0 + a_1x + a_2 x^2 + ... + a_8 x^8 p8(x)=a0+a1x+a2x2+...+a8x8 来逼近 f ( x ) = cos ⁡ x f(x) = \small \cos x f(x)=cosx,我们期望:
在这里插入图片描述
因此,可以得到:
在这里插入图片描述

  • 图像如下图:
    在这里插入图片描述

  • P 8 ( x ) \small P_{8}\left ( x \right ) P8(x) (绿色图像) 比 P 2 ( x ) \small P_{2}\left ( x \right ) P2(x) (蓝色图像) 更大范围内更接近余弦函数 (红色图像)

综上,由上述3次不同程度的函数逼近可以看出:对于精确度要求较高且需要估计误差的时候,必须用高次多项式来近似表达函数,同时给出误差公式 。以上就是利用多项式函数去逼近给定函数的一个过程。

3. 泰勒公式的推导

由此引出一个问题:给定一个函数 f ( x ) \small f\left ( x \right ) f(x),要找一个在指定点 x 0 \small x_{0} x0 附近与 f ( x ) \small f\left ( x \right ) f(x) 很近似的多项式函数 P ( x ) \small P\left ( x \right ) P(x),记为:
在这里插入图片描述
使得 f ( x ) ≈ P n ( x ) \small f\left ( x \right ) \small \approx \small P_{n}\left ( x \right ) f(x)Pn(x) 并且使得两者误差 R n ( x ) = f ( x ) − P n ( x ) \small R_{n}\left ( x \right ) = f\left ( x \right ) - P_{n}\left ( x \right ) Rn(x)=f(x)Pn(x) 可估计。所以要找的多项式应该满足什么条件,误差是什么?

  • 从几何上看, y = f ( x ) \small y = f\left ( x \right ) y=f(x) y = P n ( x ) \small y = P_{n}\left ( x \right ) y=Pn(x) 代表两条曲线,如下图:

在这里插入图片描述
使它们在 x 0 \small x_{0} x0 的附近很靠近,很明显:

  1. 首先要求两曲线在 ( x 0 , f ( x 0 ) ) \small \left ( x_{0},f\left ( x_{0} \right ) \right ) (x0,f(x0)) 点相交,即 P n ( x 0 ) = f ( x 0 ) \small P_{n}\left ( x_{0} \right ) = f\left ( x_{0} \right ) Pn(x0)=f(x0)

  2. 如果要靠得更近,还要求两曲线在 ( x 0 , f ( x 0 ) ) \small \left ( x_{0},f\left ( x_{0} \right ) \right ) (x0,f(x0)) 点相切,(由图像可以直观看出,相交 [ 棕色和红色图像 ] 和 相切 [ 绿色和红色图像 ],两曲线在 x 0 \small x_{0} x0 附近的靠近情况明显差异很大,相切更接近),即 P n ′ ( x 0 ) = f ′ ( x 0 ) \small {P_{n}}'\left ( x_{0} \right ) = {f}'\left ( x_{0} \right ) Pn(x0)=f(x0)

  3. 如果还要靠得更近,还要求曲线在 ( x 0 , f ( x 0 ) ) \small \left ( x_{0},f\left ( x_{0} \right ) \right ) (x0,f(x0)) 点弯曲方向相同,(如上图,弯曲方向相反 [ 绿色和红色图像 ];弯曲方向相同[ 蓝色和红色图像 ],明显在离 x 0 \small x_{0} x0 很远的地方,弯曲方向相同两函数的差异更小一点),即 P n ′ ′ ( x 0 ) = f ′ ′ ( x 0 ) \small {P_{n}}''\left ( x_{0} \right ) = {f}''\left ( x_{0} \right ) Pn′′(x0)=f′′(x0) ,进而可推想:若在 ( x 0 , f ( x 0 ) ) \small \left ( x_{0},f\left ( x_{0} \right ) \right ) (x0,f(x0)) 附近有 P n ′ ( x 0 ) = f ′ ( x 0 ) \small {P_{n}}'\left ( x_{0} \right ) = {f}'\left ( x_{0} \right ) Pn(x0)=f(x0) P n ′ ′ ( x 0 ) = f ′ ′ ( x 0 ) ⋯ ⋯ ⋯ P n ( n ) ( x 0 ) = f n ( x 0 ) \small {P_{n}}''\left ( x_{0} \right ) = {f}''\left ( x_{0} \right ) \small \cdots \cdots \cdots \small P_{n}^{\left ( n \right )}\left ( x_{0} \right ) = f^{n}\left ( x_{0} \right ) Pn′′(x0)=f′′(x0)⋯⋯⋯Pn(n)(x0)=fn(x0),近似程度越来越好。

综上所述,所要找的多项式应满足下列条件:
在这里插入图片描述

  • 解释一下上面的转换时如何做的,以上面第三行的二阶导数为例:
    • 第一个箭头的转换:将 P n ( x ) \small P_{n}\left ( x \right ) Pn(x) 求二阶导函数后将 x 0 \small x_{0} x0 带入,求得 P n ′ ′ ( x 0 ) = 2 ! a 2 \small {P_{n}}''\left ( x_{0} \right ) = 2!a_{2} Pn′′(x0)=2!a2
    • 第二个箭头的转换:所以 f ′ ′ ( x 0 ) = 2 ! a 2 \small {f}''\left ( x_{0} \right ) = 2!a_{2} f′′(x0)=2!a2,所以 a 2 = 1 2 ! f ′ ′ ( x 0 ) \small a_{2} = \frac{1}{2!}{f}''\left ( x_{0} \right ) a2=2!1f′′(x0)

多项式函数 p n ( x ) = a 0 + a 1 ( x − x 0 ) + a 2 ( x − x 0 ) 2 + . . . + a n ( x − x 0 ) n p_n(x) = a_0 + a_1(x - x0) + a_2 (x - x0)^2 + ... + a_n (x - x0)^n pn(x)=a0+a1(xx0)+a2(xx0)2+...+an(xx0)n 中的系数 a \small a a 可以全部由 f ( x ) \small f\left ( x \right ) f(x) 表示,则得到:
在这里插入图片描述
其中误差为 R n ( x ) = f ( x ) − P n ( x ) \small R_{n} \left ( x \right ) = f\left (x \right ) - P_{n}\left ( x \right ) Rn(x)=f(x)Pn(x)。 因为是用多项式函数去无限逼近给定的函数,所以两者之间肯定存在一丢丢的误差。

4. 泰勒公式的定义

所以我们就得到了泰勒公式的定义:

如果函数 f ( x ) \small f\left ( x \right ) f(x) 在含 x 0 \small x_{0} x0 的某个开区间 ( a , b ) \small \left ( a,b \right ) (a,b) 内具有直到 ( n + 1 ) \small \left ( n+1 \right ) (n+1) 阶导数,则对 ∀ x ∈ ( a , b ) \small \forall x \in \left ( a,b \right ) x(a,b),有:
在这里插入图片描述
其中余项 (即误差) R n ( x ) = f ( n + 1 ) ( ξ ) ( n + 1 ) ! ( x − x 0 ) n + 1 \small R_{n}\left ( x \right ) = \frac{f^{\left ( n+1 \right )}(\xi )}{\left ( n+1 \right )!}(x-x_{0})^{n+1} Rn(x)=(n+1)!f(n+1)(ξ)(xx0)n+1 ξ \xi ξ x 0 \small x_{0} x0 x x x 之间。 泰勒公式的余项表达方式有好几种,前面这表示方法称为 n 阶泰勒展开式的拉格朗日余项。

  • 拉格朗日余项即是n阶泰勒公式又多展开了一阶,n 变为 n+1。
  • 注意,这里的余项即为误差,因为使用多项式函数在某点展开,逼近给定函数,最后肯定会有一丢丢的误差,我们称之为余项。

5. 扩展 — 麦克劳林公式

麦克劳林公式是泰勒公式的一种特殊情况:即当 x 0 = 0 \small x_{0} = 0 x0=0 时的泰勒公式。所以将 x 0 = 0 \small x_{0} = 0 x0=0 代入公式,即得:
在这里插入图片描述
几个常见的初等函数的带有佩亚诺余项的麦克劳林公式:
在这里插入图片描述
佩亚诺余项为 ( x − x 0 ) n \small \left ( x-x_{0} \right )^{n} (xx0)n 的高阶无穷小:
在这里插入图片描述

参考

【1】https://blog.csdn.net/xiaojinger_123/article/details/127442655

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/518871.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java异常的分类(常见的异常类型)

异常的分类 1. 编译时异常 在程序编译期间发生的异常,称为编译时异常,也称为受检查异常(Checked Exception) public class Person {int age;private String name;private String gender;// 想要让该类支持深拷贝,覆写Object类的clone方法即…

C语言—字符函数和字符串函数

字符函数和字符串函数 strlenstrcpystrcatstrcmpstrncpystrncatstrncmpstrstrstrtokstrerrorperror字符分类函数字符转换函数memcpymemmovememmcmpmemset C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常放在 常量字符…

ChatGPT最强对手Claude如何无门槛使用?

Claude,一个冉冉升起的新星,由 chatgpt 团队出来的员工开发的,由于他们对模型的一些发展理念不同,单独融资创建了 Claude,总体来说表现可圈可点,但整体看可能还不如 chatgpt4.0。 ChatGPT 眼中的 Claude C…

【产品应用】一体化电机在卡盘设备中的应用

在现代工业生产中,自动化程度的提高和生产效率的提升对于生产设备的要求也越来越高。卡盘设备作为自动化生产线中的重要组成部分,其设计和制造也必须适应现代工业的需求。一体化电机在卡盘设备中的应用,不仅可以提高生产效率和精度&#xff0…

线程状态是五种还是六种

从操作系统层面上描述线程状态 初始状态:仅仅是语言层面创建了线程对象,还没有与操作系统相关联.比如new 了一个Thread对象还没有调用start方法可运行状态:仅仅是语言层面创建了线程对象,还没有与操作系统相关联.比如new 了一个Thread对象还没有调用s…

微服架构基础设施环境平台搭建 -(二)Docker私有仓库Harbor服务搭建

微服架构基础设施环境平台搭建 -(二)Docker私有仓库Harbor服务搭建 通过采用微服相关架构构建一套以KubernetesDocker为自动化运维基础平台,以微服务为服务中心,在此基础之上构建业务中台,并通过Jekins自动构建、编译、…

【数学杂记】表达式中的 s.t. 是什么意思

今天写题的时候遇见了这个记号:s.t.,查了一下百度。 s.t.,全称 subject to,意思是“使得……满足”。 比如这个: 意思是存在 i i i,使得 i i i 满足 A i ≠ B i A_i\neq B_i Ai​Bi​. 运用这个记号…

MySQL面试题1(索引)

目录 1.MySQL如何实现索引机制 1.1InnoDb与MyISAM索引实现区别是是什么? 1.2一个表中如果没有创建索引,还会创建B树么? 2.说一下B树索引实现原理(数据结构) 2.1聚簇索引和非聚簇索引在B树实现区别是什么&#xff1…

【Python每日一练】总目录(更新至2023.5.12)

Python 2023.05 2023.05.11-2023.05.12 20230512 1. 跳跃游戏 V 2. 跳跃游戏 VI 3. 跳跃游戏 VII 20230511 1. 跳跃游戏 Jump Game I 2. 跳跃游戏 Jump Game II 3. 跳跃游戏 Jump Game III 4. 跳跃游戏 Jump Game IV 2023.05.01-2023.05.10 20230510 1. 石子游戏 Ston…

[googletest] --- 简易使用教程

1 googletest下载/官方sample分析 1.1 googletest源码下载编译 源码下载编译 // 下载 git clone https://github.com/google/googletest // 现在官方已经把 gtest 和 gmock 一起维护,所以这个 git 仓库还包含了 gmock。// 编译、安装 cd googletest-main mkdir b…

【申请教程】ChatGPT访问互联网插件

https://openai.com/blog/chatgpt-plugins 大家好,我是章北海mlpy 申请ChatGPT插件很久了,一直没下文 最近看到两种套路,我早上试了一下,看能否快速成功吧。 方法一:用ChatGPT帮忙写申请文案 [外链图片转存失败,源…

大数据如何助力营销(2)用户画像

用户画像是指根据用户的数据,构建出用户的特征和兴趣,从而对用户进行分类和个性化的过程。用户画像可以帮助营销人员更有效地触达目标客户,提高营销效果和转化率。 用户画像的价值 用户画像的价值主要体现在以下几个方面: 提升用…

IP协议介绍

文章目录 一、IP协议的基本认识二、IP的协议头格式三、网段划分四、特殊的IP地址五、IP地址的数量限制六、私有IP地址和公网IP地址 一、IP协议的基本认识 IP在网络分层中属于网络层协议,传输层协议里的TCP协议解决的是可靠性问题,网络层协议里的IP协议能…

VScode自动滚屏cin、input输入问题解决方法

文章目录 前言一、输出自动滚屏二、解决cin或input之类的输入问题总结 前言 VScode 是一个轻量的文本编辑器,微软出品。很多人把它作为主要开发工具写代码,因为它几乎是万能的,想要什么功能就装什么插件,可以适用于几乎任何编程语…

如何和AI聊天

AI产品工具目录:AI产品目录 Prompt 在和AI聊天时,你得表明你需要啥,并且描述的越精确,AI回答的就越贴近你的预期,简单的对话,可以自己尝试,但是如果想做应用级别的就得学习这种聊天技术&#…

Flask celery异步发送邮件

首先安装celery pip install celery安装redis 一、Redis for Windows下载 之前微软维护了一份Windows版本的Redis,但是版本停留在3.2,并且也关闭了项目更新渠道。这里我们使用另外一位大神提供的Windows Redis,更新及时,用户量也…

[VAE] Auto-Encoding Variational Bayes

直接看paper看得云里雾里,李沐视频一语道破天机(建议从30min左右开始看GAN到Diffusion的串讲)。VAE的核心思路就是下面: 做生成,其实就是从随机向量(z)到目标图像(x)的过…

研报精选230512

目录 【行业230512山西证券】有色金属行业周报:基本金属普跌,锂价持续回弹 【行业230512湘财证券】新材料行业周报:五一前后各板块震荡下行,节后稀土价格跌后企稳,锂源现止跌迹象 【行业230512山西证券】基础化工2022年…

obj导入unity顶点数量改变

obj文件,是个cube,里面有8个顶点12个面。 # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware # 创建的文件:11.04.2023 13:05:22# # object Box001 #v -15.0000 -15.0000 15.0000 v -15.0000 -15.0000 -15.0000 v 15.0000 -15.0000 -15.0…

C高级-day(5)-(分支语句、循环结构、函数....)

题目一、 有m1.txt m2.txt m3.txt m4.txt,分别创建出对应的目录,m1 m2 m3 m4 并把文件移动到对应的目录下 #! /bin/bashtouch m1.txt m2.txt m3.txt m4.txt for i in seq 1 1 4 domkdir m$imv m$i.txt m$i done 题目二、 使用break关键字打印九九乘法…