泰勒展开是希望基于某区间一点x0x_0x0​展开,用一组简单的幂函数xax^axa来近似一个复杂的函数f(x)f(x)f(x)在该区间的局部。公式如下:
f(x)=a0+a1(x−x0)+a2(x−x0)2+a3(x−x0)3+...f(x) = a_0 + a_1(x - x_0) + a_2(x - x_0)^2 + a_3(x - x_0)^3 + ... f(x)=a0​+a1​(x−x0​)+a2​(x−x0​)2+a3​(x−x0​)3+...

实际效果如下图所示。蓝色的线条是sinsinsin函数,黄色线条是sinsinsin函数不同阶(即上式右侧保留的项数)在x=0x=0x=0处的泰勒展开,随着阶数升高(保留其泰勒展开的更多项),其泰勒级数在更广的区间上近似sinsinsin函数。

泰勒展开的应用场景例如:我们很难直接求得sin(1)sin(1)sin(1)的值,但我们可以通过sinsinsin的泰勒级数求得sin(1)sin(1)sin(1)的近似值,且展开项越多,精度越高。
sin(1)=0.8414709848078965taylor_expansion_of_sin_with_order_3(1)=0.8333333333333334taylor_expansion_of_sin_with_order_5(1)=0.8416666666666667taylor_expansion_of_sin_with_order_7(1)=0.841468253968254sin(1) = 0.8414709848078965 \\ taylor\_expansion\_of\_sin\_with\_order\_3(1) = 0.8333333333333334 \\ taylor\_expansion\_of\_sin\_with\_order\_5(1) = 0.8416666666666667 \\ taylor\_expansion\_of\_sin\_with\_order\_7(1) = 0.841468253968254 sin(1)=0.8414709848078965taylor_expansion_of_sin_with_order_3(1)=0.8333333333333334taylor_expansion_of_sin_with_order_5(1)=0.8416666666666667taylor_expansion_of_sin_with_order_7(1)=0.841468253968254

现在我们来求得上式中各项的系数。为求a0a_0a0​,令x=x0x=x_0x=x0​:
f(x0)=a0+a1(x0−x0)+a2(x0−x0)2+a3(x0−x0)3+...f(x_0) = a_0 + a_1(x_0 - x_0) + a_2(x_0 - x_0)^2 + a_3(x_0 - x_0)^3 + ... f(x0​)=a0​+a1​(x0​−x0​)+a2​(x0​−x0​)2+a3​(x0​−x0​)3+...
因此,a0=f(x0)a_0=f(x_0)a0​=f(x0​)。为求a1a_1a1​,我们先对原始左右求导:
ddxf(x)=a1+2a2(x−x0)+3a3(x−x0)2+...\frac{d}{dx}f(x) = a_1 + 2a_2(x - x_0) + 3a_3(x - x_0)^2 + ... dxd​f(x)=a1​+2a2​(x−x0​)+3a3​(x−x0​)2+...
再令x=x0x=x_0x=x0​:
ddxf(x0)=a1+2a2(x0−x0)+3a3(x0−x0)2+...\frac{d}{dx}f(x_0) = a_1 + 2a_2(x_0 - x_0) + 3a_3(x_0 - x_0)^2 + ... dxd​f(x0​)=a1​+2a2​(x0​−x0​)+3a3​(x0​−x0​)2+...
因此,a1=dfdx∣x=x0a_1 = \frac{df}{dx}\Big|_{x=x_0}a1​=dxdf​∣∣∣​x=x0​​。为求a2a_2a2​,我们先对原始左右求二阶导:
d2dx2f(x)=2a2+3a3(x−x0)+4∗3a4(x−x0)2+...\frac{d^2}{dx^2}f(x) = 2a_2 + 3a_3(x - x_0) + 4*3a_4(x - x_0)^2 + ... dx2d2​f(x)=2a2​+3a3​(x−x0​)+4∗3a4​(x−x0​)2+...
再令x=x0x=x_0x=x0​:
d2dx2f(x0)=2a2+3a3(x0−x0)+4∗3a4(x0−x0)2+...\frac{d^2}{dx^2}f(x_0) = 2a_2 + 3a_3(x_0 - x_0) + 4*3a_4(x_0 - x_0)^2 + ... dx2d2​f(x0​)=2a2​+3a3​(x0​−x0​)+4∗3a4​(x0​−x0​)2+...
因此,a2=12d2fdx2∣x=x0a_2 = \frac{1}{2}\frac{d^2f}{dx^2}\Big|_{x=x_0}a2​=21​dx2d2f​∣∣∣​x=x0​​。如此往复,我们得到aka_kak​的计算通式:
ak=1k!dkfdxk∣x=x0a_k = \frac{1}{k!}\frac{d^kf}{dx^k}\Big|_{x=x_0} ak​=k!1​dxkdkf​∣∣∣​x=x0​​
最后,我们得到函数f(x)f(x)f(x)在x=x0x=x_0x=x0​处展开的泰勒级数:
f(x)=f(x0)+f′(x0)Δx+12!f′′(x0)(Δx)2+13!f′′′(x0)(Δx)3+...f(x) = f(x_0) + f^{\prime}(x_0)\Delta{x} + \frac{1}{2!}f^{\prime \prime}(x_0)(\Delta{x})^2 + \frac{1}{3!}f^{\prime \prime \prime}(x_0)(\Delta{x})^3 + ... f(x)=f(x0​)+f′(x0​)Δx+2!1​f′′(x0​)(Δx)2+3!1​f′′′(x0​)(Δx)3+...
其中,Δx=x−x0\Delta{x} = x-x_0Δx=x−x0​。

对于f(x±h)f(x\pm h)f(x±h)的泰勒展开,我们只需要将上式中的xxx替换为x±hx \pm hx±h,x0x_0x0​替换为xxx:
f(x±h)=f(x)+f′(x)(±h)+12!f′′(x)(±h)2+13!f′′′(x)(±h)3+...f(x \pm h) = f(x) + f^{\prime}(x)(\pm h) + \frac{1}{2!}f^{\prime \prime}(x)(\pm h)^2 + \frac{1}{3!}f^{\prime \prime \prime}(x)(\pm h)^3 + ... f(x±h)=f(x)+f′(x)(±h)+2!1​f′′(x)(±h)2+3!1​f′′′(x)(±h)3+...

二元函数f(x,y)f(x, y)f(x,y)的泰勒展开

对于f(x,y)f(x, y)f(x,y)在(x0,y0)(x_0, y_0)(x0​,y0​)处的泰勒展开为:
f(x,y)=f(x0,y0)+fx′(x0,y0)(x−x0)+fy′(x0,y0)(y−y0)+12!fx′′(x0,y0)(x−x0)2+12!fy′′(x0,y0)(y−y0)2+12!fxy′′(x0,y0)(x−x0)(y−y0)+12!fyx′′(x0,y0)(x−x0)(y−y0)+...\begin{aligned} f(x, y) = & f(x_0, y_0) + f^{\prime}_x(x_0,y_0)(x-x_0) + f^{\prime}_y(x_0,y_0)(y-y_0) \\ & + \frac{1}{2!}f^{\prime \prime}_x(x_0,y_0)(x-x_0)^2 + \frac{1}{2!}f^{\prime \prime}_y(x_0,y_0)(y-y_0)^2 \\ & + \frac{1}{2!}f^{\prime \prime}_{xy}(x_0,y_0)(x-x_0)(y-y_0) + \frac{1}{2!}f^{\prime \prime}_{yx}(x_0,y_0)(x-x_0)(y-y_0) \\ & + ... \end{aligned} f(x,y)=​f(x0​,y0​)+fx′​(x0​,y0​)(x−x0​)+fy′​(x0​,y0​)(y−y0​)+2!1​fx′′​(x0​,y0​)(x−x0​)2+2!1​fy′′​(x0​,y0​)(y−y0​)2+2!1​fxy′′​(x0​,y0​)(x−x0​)(y−y0​)+2!1​fyx′′​(x0​,y0​)(x−x0​)(y−y0​)+...​

多元函数f(x1,x2,...,xn)f(x_1, x_2, ..., x_n)f(x1​,x2​,...,xn​)的泰勒展开

对于f(x1,x2,...,xn)f(x_1, x_2, ..., x_n)f(x1​,x2​,...,xn​)在(x1,0,x2,0,...,xn,0)(x_{1,0}, x_{2,0}, ..., x_{n,0})(x1,0​,x2,0​,...,xn,0​)处的泰勒展开为:
f(x1,x2,...,xn)=a0+∑m=1∞[∑jkj=m∑ax1,...,xn;m(x1−x1,0)k1…(xn−xn,0)kn]f(x_1, x_2, ..., x_n) = a_0 + \sum^{\infty}_{m=1}\Big[_{\sum_{j}k_j = m} \sum a_{x_1,...,x_n;m} (x_1-x_{1,0})^{k_1}\dots(x_n-x_{n,0})^{k_n}\Big] f(x1​,x2​,...,xn​)=a0​+m=1∑∞​[∑j​kj​=m​∑ax1​,...,xn​;m​(x1​−x1,0​)k1​…(xn​−xn,0​)kn​]
系数aaa的计算通式为:
a0=f(x1,0,x2,0,...,xn,0)ax1,...,xn;m=1m∂mf∂k1x1…∂knxn∣x1,0,x2,0,...,xn,0\begin{aligned} & a_0 = f(x_{1,0}, x_{2,0}, ..., x_{n,0}) \\ & a_{x_1,...,x_n;m} = \frac{1}{m}\frac{\partial^mf}{\partial^{k_1}x_1\dots\partial^{k_n}x_n} \Big|_{x_{1,0}, x_{2,0}, ..., x_{n,0}} \end{aligned} ​a0​=f(x1,0​,x2,0​,...,xn,0​)ax1​,...,xn​;m​=m1​∂k1​x1​…∂kn​xn​∂mf​∣∣∣​x1,0​,x2,0​,...,xn,0​​​
其中,x1,...,xn;mx_1,...,x_n;mx1​,...,xn​;m表示对{x1,...,xn}\{x_1,...,x_n\}{x1​,...,xn​}进行mmm次有放回的排列组合。

泰勒展开 — Taylor Expansion相关推荐

  1. 【转载】Taylor expansion

    转载自:https://blog.csdn.net/xm961217/article/details/101021153 (注 :需理解 有限增量定理 即拉格朗日中值定理 :https://www.z ...

  2. 今天开始学Convex Optimization:第2章 背景数学知识简述

    文章目录 第2章 背景数学知识简述 2.1 数学分析和微积分基础 函数性质 集合Sets Norms 线性函数.仿射函数 函数的微分(导数) 2.2 线性代数基础 Matrix Subspaces 正 ...

  3. Alink漫谈(十) :线性回归实现 之 数据预处理

    Alink漫谈(十) :线性回归实现 之 数据预处理 文章目录 Alink漫谈(十) :线性回归实现 之 数据预处理 0x00 摘要 0x01 概念 1.1 线性回归 1.2 优化模型 1.3 损失函 ...

  4. 高斯滤波知识点总结——KF、EKF、UKF以及IF、EIF等

    高斯滤波知识点总结--KF.EKF.UKF以及IF.EIF等 1 引言 本文是我在学习<Probabilistic Robotics >这本书中第三章--高斯滤波过程中的一些知识总结.本文 ...

  5. python 泰勒展开式_python函数的Taylor级数sympy表达式

    下面的代码与您要查找的代码非常接近.这是为了解析函数的代码,你想把它展开成泰勒级数,用Sympy把它转换成符号表示,然后计算泰勒展开.在 一个限制是需要有一个显式函数定义,这样就不能使用lambda表 ...

  6. 牛顿法求解方程(python和C++)

    牛顿法 GitHub: https://github.com/Sean16SYSU/Algorithms4N 目标函数为: f(x)=0f(x) = 0f(x)=0 算法很简单如下: xn+1=xn− ...

  7. Paper:《First Order Motion Model for Image Animation》翻译与解读

    Paper:<First Order Motion Model for Image Animation>翻译与解读 目录 <First Order Motion Model for ...

  8. 梯度下降(Gradient Descent)的收敛性分析

    ©作者 | 黄秋实 单位 | 香港中文大学(深圳) 研究方向 | 智能电网 梯度下降是一种简单且常用的优化方法,它可以被用来求解很多可导的凸优化问题(如逻辑回归,线性回归等).同时,梯度下降在非凸优化 ...

  9. AAAI 2021最佳论文亚军:Attention+积分梯度=归因解释新方法

    ©PaperWeekly 原创 · 作者|李泺秋 学校|浙江大学硕士生 研究方向|自然语言处理.知识图谱 本文是对 AAAI 2021 最佳论文亚军得主<Self-Attention Attri ...

最新文章

  1. 【Android 性能优化】应用启动优化 ( 阶段总结 | Trace 文件分析及解决方案 | 源码分析梳理 | 设置主题的方案总结 ) ★
  2. tableau实战系列(二十八)-以可视化的方式打开关联分析算法购物篮分析(Market Basket Analysis)
  3. 语义分析的一些方法(上篇)
  4. 九大技巧教你快速提升移动应用登陆转化率
  5. python中object是什么数据类型_自学Python2.1-基本数据类型-字符串str(object) 上
  6. 混凝土墙开洞_新乐专业混凝土切割报价适中
  7. (连续子序列)唯一的雪花
  8. cuda笔记-GPU多线程的奇偶排序
  9. python爬虫爬取多个页面_Python爬虫笔记:爬取单个页面
  10. 关于虚函数重载遇到的怪问题 -- 为什么经常调用了基类的函数
  11. python安装plotly教程_python plotly 使用教程
  12. java中 uri的格式_URI与URL详解
  13. 仿微信读书APP原型设计
  14. 传统蓝牙协议栈 串口协议SPP(Serial Port Profile)概念介绍
  15. 程序员申请加班调休被HR拒绝:996是行规,不想加班就滚?
  16. 矩阵代数(四)- 分块矩阵
  17. 常用设计模式系列(四)—建造者模式
  18. 剑指offe系列之6:旋转数组的最小值
  19. 惠普暗夜精灵2怎么打开后盖_做工散热都非常优秀 惠普暗影精灵II笔记本拆机图解全过程...
  20. 计算机英语pork,[语音]各种肉的英文

热门文章

  1. python-pygame作品之“人间”大炮和海浪
  2. Python实现逻辑取反
  3. 前端异步请求中后发先到的解决方案
  4. maya怎么贴膜_maya如何渲染成白膜
  5. 密码忘了?不要紧,Python轻松给你找回来!
  6. 在linux下C语言实现对键盘事件的监听【转】
  7. yml避坑,yml配置使用map,如果key中包含某些符号会消失不见
  8. 《视频直播技术详解》之二:编码和封装、推流和传输
  9. FLYGON.NET(以及本人所有博客)赞助名单 2016~2018
  10. PMP证书含金量高吗,在国内有什么用?