机器学习数学基础:8.泰勒公式

一、泰勒公式的由来:为啥我们需要它?

同学们,想象一下,你拿到了一块超级复杂、弯弯曲曲,就像一团乱麻似的拼图(假设这拼图代表一个复杂函数,比如一条有各种起伏的波浪线),而你手头只有一些简单的积木块(这里的积木块就是多项式啦),现在要你用这些简单积木拼出拼图的模样,是不是感觉无从下手?这时候,泰勒公式就像一位智慧的导师闪亮登场,它会告诉你:“别慌,孩子,我来教你怎么挑选积木块,怎么决定它们的形状和大小,保证在某个特定的点附近,你用积木拼出来的图形和原来那块复杂拼图几乎一模一样!”

它的核心任务就是:找到一个多项式,写成 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 - x_0) + a_2(x - x_0)^2 + \cdots + a_n(x - x_0)^n Pn(x)=a0+a1(xx0)+a2(xx0)2++an(xx0)n这样的形式,让它能够近似模拟那个让你头疼的复杂函数 f ( x ) f(x) f(x)。而且,这个近似可不是随随便便的,得满足一个超关键的条件:在某一个点 x 0 x_0 x0这儿,这个多项式和原函数的函数值必须相等,不仅如此,它们的一阶导数、二阶导数,一直到 n n n阶导数都得相等!这就好比两个人要模仿得足够像,不仅外表(函数值)得一样,走路姿势(一阶导数反映变化速度)、跑步时加速的能力(二阶导数体现变化快慢的变化),甚至更高级的运动细节(高阶导数)都得毫无二致。

二、泰勒公式的数学推导(手把手版)

咱们现在就开启一场寻找宝藏系数 a 0 , a 1 , ⋯   , a n a_0, a_1, \cdots, a_n a0,a1,,an的大冒险,目标是让多项式 P n ( x ) P_n(x) Pn(x) x 0 x_0 x0这个关键“据点”完美贴合 f ( x ) f(x) f(x)

步骤 1:匹配函数值,找到“初始宝藏” a 0 a_0 a0

  • 先看看多项式 P n ( x ) P_n(x) Pn(x),当 x = x 0 x = x_0 x=x0时, P n ( x 0 ) = a 0 P_n(x_0) = a_0 Pn(x0)=a0,这就像是找到了宝藏的入口,先确定了最基础的一部分。
  • 再瞅瞅原函数 f ( x ) f(x) f(x) x 0 x_0 x0处的值,人家叫 f ( x 0 ) f(x_0) f(x0)
  • 为了让多项式和原函数在这一点初步对上号,咱们得满足: a 0 = f ( x 0 ) a_0 = f(x_0) a0=f(x0),这就相当于找到了第一个关键系数,成功开启了宝藏之门。

步骤 2:匹配一阶导数,挖掘“速度宝藏” a 1 a_1 a1

  • 给多项式 P n ( x ) P_n(x) Pn(x)求个导,它就变成了 P n ′ ( x ) = a 1 + 2 a 2 ( x − x 0 ) + 3 a 3 ( x − x 0 ) 2 + ⋯ P_n'(x) = a_1 + 2a_2(x - x_0) + 3a_3(x - x_0)^2 + \cdots Pn(x)=a1+2a2(xx0)+3a3(xx0)2+,这导数可厉害啦,它能反映函数变化的快慢,就像跑步的速度。
  • x = x 0 x = x_0 x=x0时, P n ′ ( x 0 ) = a 1 P_n'(x_0) = a_1 Pn(x0)=a1,这是多项式在这点的“速度”。
  • 再看原函数 f ( x ) f(x) f(x)的一阶导数 f ′ ( x 0 ) f'(x_0) f(x0),这是原函数在该点的变化速度。
  • 要让它们俩在速度上也一致,就得满足: a 1 = f ′ ( x 0 ) a_1 = f'(x_0) a1=f(x0),嘿,又找到一个重要系数,离宝藏更近一步啦!

步骤 3:匹配二阶导数,解锁“加速度宝藏” a 2 a_2 a2

  • 继续对 P n ′ ( x ) P_n'(x) Pn(x)求导,得到 P n ′ ′ ( x ) = 2 a 2 + 6 a 3 ( x − x 0 ) + ⋯ P_n''(x) = 2a_2 + 6a_3(x - x_0) + \cdots Pn′′(x)=2a2+6a3(xx0)+,这二阶导数能展现函数变化快慢的变化,就好比跑步时的加速度。
  • x = x 0 x = x_0 x=x0时, P n ′ ′ ( x 0 ) = 2 a 2 P_n''(x_0) = 2a_2 Pn′′(x0)=2a2,这是多项式的“加速度”。
  • 原函数的二阶导数 f ′ ′ ( x 0 ) f''(x_0) f′′(x0)也在这儿等着呢。
  • 为了让两者加速度相同,条件就是: 2 a 2 = f ′ ′ ( x 0 ) 2a_2 = f''(x_0) 2a2=f′′(x0),稍微一算, a 2 = f ′ ′ ( x 0 ) 2 a_2 = \frac{f''(x_0)}{2} a2=2f′′(x0),又一个宝藏系数到手。

步骤 4:推广到第 k k k阶导数,集齐所有宝藏系数

  • 经过前面的探索,咱们有点经验了。多项式的第 k k k阶导数 P n ( k ) ( x 0 ) = k ! ⋅ a k P_n^{(k)}(x_0) = k! \cdot a_k Pn(k)(x0)=k!ak,这里的 k ! k! k! k k k的阶乘,就是从 1 1 1乘到 k k k,像 3 ! = 3 × 2 × 1 = 6 3! = 3×2×1 = 6 3!=3×2×1=6)就像是给宝藏系数 a k a_k ak加了个“权重”。
  • 原函数的第 k k k阶导数是 f ( k ) ( x 0 ) f^{(k)}(x_0) f(k)(x0)
  • 要让它们相等,那就是: k ! ⋅ a k = f ( k ) ( x 0 ) k! \cdot a_k = f^{(k)}(x_0) k!ak=f(k)(x0),轻松一算, a k = f ( k ) ( x 0 ) k ! a_k = \frac{f^{(k)}(x_0)}{k!} ak=k!f(k)(x0),这样一个一个找下去,所有的宝藏系数就都集齐啦。

最终公式闪亮登场
P n ( x ) = ∑ k = 0 n f ( k ) ( x 0 ) k ! ( x − x 0 ) k P_n(x) = \sum_{k = 0}^n \frac{f^{(k)}(x_0)}{k!} (x - x_0)^k Pn(x)=k=0nk!f(k)(x0)(xx0)k
这就是咱们千辛万苦推导出来的泰勒公式,它可是数学世界里的一个超级神器哦!

三、泰勒公式的几何意义

类比“显微镜”看函数
同学们,把泰勒公式想象成一台神奇的显微镜,咱们把镜头对准函数 f ( x ) f(x) f(x)在点 x 0 x_0 x0的地方。这时候,泰勒多项式就像是显微镜里用多项式做成的特殊镜头呈现出来的图像。

  • 其中,低阶项(像 a 0 , a 1 a_0, a_1 a0,a1)可重要啦,它们就像是决定图像位置( a 0 a_0 a0确定初始位置)和倾斜度( a 1 a_1 a1影响函数一开始的变化走向,就像图像往哪边歪)的关键因素。
  • 高阶项(比如 a 2 , a 3 a_2, a_3 a2,a3)呢,就像是一群精细的“修理工”,专门负责修正图像的弯曲程度,让它和原函数越来越像,把原函数那些细微的弯折都模仿出来。

动态演示更神奇
当咱们像升级装备一样,不断增加泰勒多项式的阶数 n n n,你会看到一个超酷炫的画面。近似曲线(也就是多项式画出来的线)就像一个有强迫症的画家,一笔一笔地修改,越来越贴合原函数,就好像用更高精度的拼图一块一块地把原函数的形状完美还原,是不是特别神奇?

四、误差分析:泰勒余项——了解近似的“小尾巴”

同学们,泰勒多项式虽然很厉害,能近似模拟原函数,但毕竟不是原函数本人,还是有那么一点小误差的。这个误差就由一个叫余项 R n ( x ) R_n(x) Rn(x) 的家伙来衡量:
f ( x ) = P n ( x ) + R n ( x ) f(x) = P_n(x) + R_n(x) f(x)=Pn(x)+Rn(x)
这就好比你用积木拼出了一个大概像拼图的形状,但是和真正的拼图之间,还差一些小碎片,这些小碎片就是余项。

拉格朗日余项公式来袭
R n ( x ) = f ( n + 1 ) ( c ) ( n + 1 ) ! ( x − x 0 ) n + 1 R_n(x) = \frac{f^{(n + 1)}(c)}{(n + 1)!} (x - x_0)^{n + 1} \quad Rn(x)=(n+1)!f(n+1)(c)(xx0)n+1(其中 c c c x 0 x_0 x0 x x x之间)
这个公式看起来有点复杂,其实它是在告诉我们:

  • 误差大小和 ( x − x 0 ) n + 1 (x - x_0)^{n + 1} (xx0)n+1有关,这意味着 x x x x 0 x_0 x0越远,这个误差项可能就变得越大,就像你在拼图时,离你对准的中心点越远,拼得可能就越不准。
  • 还和最高阶导数有关,函数的高阶导数要是变化很剧烈,那误差也可能跟着变大。

它的大用处
通过这个余项公式,咱们就像拥有了一个“误差探测器”。在实际应用中,能估算出到底需要用多少阶的多项式,才能达到咱们想要的精度。比如说,你要计算某个值,要求精确到小数点后几位,就可以利用余项公式来判断多项式得取到几阶,是不是超级实用?

五、常见函数的泰勒展开(附推导)

1. e x e^x ex x 0 = 0 x_0 = 0 x0=0处的展开(麦克劳林级数)——揭开指数函数的“多项式面纱”

  • 咱们知道 e x e^x ex这个函数很特别,它不管求多少阶导数,结果都是 e x e^x ex本身。
  • x 0 = 0 x_0 = 0 x0=0时, e 0 = 1 e^0 = 1 e0=1,所以它各阶导数在 x 0 = 0 x_0 = 0 x0=0处的值都是 1 1 1
  • 按照泰勒公式,把这些值代入进去,就得到:
    e x = 1 + x + x 2 2 ! + x 3 3 ! + ⋯ e^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots ex=1+x+2!x2+3!x3+
    这就像是把神秘的 e x e^x ex用多项式的形式一层一层地剥开给我们看,是不是很奇妙?

2. sin ⁡ x \sin x sinx x 0 = 0 x_0 = 0 x0=0处的展开——探寻正弦函数的“多项式密码”

  • 来看看 sin ⁡ x \sin x sinx的导数,它像个调皮的小精灵,在 sin ⁡ x → cos ⁡ x → − sin ⁡ x → − cos ⁡ x → sin ⁡ x ⋯ \sin x \to \cos x \to -\sin x \to -\cos x \to \sin x \cdots sinxcosxsinxcosxsinx之间周期性地变化。
  • x 0 = 0 x_0 = 0 x0=0时, sin ⁡ 0 = 0 \sin 0 = 0 sin0=0 cos ⁡ 0 = 1 \cos 0 = 1 cos0=1,再根据导数的周期性,咱们会发现它的展开式很有规律,只有奇次项,结果就是:
    sin ⁡ x = x − x 3 3 ! + x 5 5 ! − ⋯ \sin x = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \cdots sinx=x3!x3+5!x5
    这就像是找到了打开正弦函数多项式大门的密码,用简单的多项式展现了它的美妙。

3. ln ⁡ ( 1 + x ) \ln(1 + x) ln(1+x) x 0 = 0 x_0 = 0 x0=0处的展开——解读对数函数的“多项式故事”

  • 先求 ln ⁡ ( 1 + x ) \ln(1 + x) ln(1+x)的导数,依次是 1 1 + x , − 1 ( 1 + x ) 2 , 2 ( 1 + x ) 3 , ⋯ \frac{1}{1 + x}, -\frac{1}{(1 + x)^2}, \frac{2}{(1 + x)^3}, \cdots 1+x1,(1+x)21,(1+x)32,
  • x 0 = 0 x_0 = 0 x0=0时,把这些导数的值代入泰勒公式,再经过一番巧妙的推导,就得到:
    ln ⁡ ( 1 + x ) = x − x 2 2 + x 3 3 − x 4 4 + ⋯ ( − 1 < x ≤ 1 ) \ln(1 + x) = x - \frac{x^2}{2} + \frac{x^3}{3} - \frac{x^4}{4} + \cdots \quad (-1 < x \leq 1) ln(1+x)=x2x2+3x34x4+(1<x1)
    注意哦,这里有个范围 − 1 < x ≤ 1 -1 < x \leq 1 1<x1,这就是它的收敛域,就像这个多项式展开式只有在这个区间里才有效,超出这个范围,它可就不准啦。

六、泰勒公式的应用实例

场景 1:手算 1.1 \sqrt{1.1} 1.1 ——泰勒公式来帮忙

  • 咱们要计算 1.1 \sqrt{1.1} 1.1 ,那就先把 f ( x ) = 1 + x f(x) = \sqrt{1 + x} f(x)=1+x x 0 = 0 x_0 = 0 x0=0处用泰勒公式展开。
  • 经过一番推导(这里的推导过程就像咱们前面找系数一样,同学们可以自己试试哦),得到:
    1 + x ≈ 1 + 1 2 x − 1 8 x 2 + 1 16 x 3 \sqrt{1 + x} \approx 1 + \frac{1}{2}x - \frac{1}{8}x^2 + \frac{1}{16}x^3 1+x 1+21x81x2+161x3
  • 现在把 x = 0.1 x = 0.1 x=0.1代入进去算一算:
    1.1 ≈ 1 + 0.05 − 0.00125 + 0.0000625 = 1.0488125 \sqrt{1.1} \approx 1 + 0.05 - 0.00125 + 0.0000625 = 1.0488125 1.1 1+0.050.00125+0.0000625=1.0488125
  • 那它准不准呢?咱们看看实际值, 1.1 ≈ 1.0488088 \sqrt{1.1} \approx 1.0488088 1.1 1.0488088,误差只有大概 0.0000037 0.0000037 0.0000037,是不是超级小?这就显示出泰勒公式在手算近似值时的强大威力啦。

场景 2:物理中的单摆周期近似——泰勒公式的物理魔法

  • 在物理的单摆世界里,单摆周期公式是 T = 2 π L g ( 1 + 1 4 sin ⁡ 2 ( θ 2 ) + ⋯   ) T = 2\pi \sqrt{\frac{L}{g}} \left( 1 + \frac{1}{4}\sin^2\left(\frac{\theta}{2}\right) + \cdots \right) T=2πgL (1+41sin2(2θ)+)
  • 当摆角 θ \theta θ很小时,这时候泰勒公式又要大显身手啦,因为 sin ⁡ θ ≈ θ \sin \theta \approx \theta sinθθ(这其实也是泰勒公式的一个小应用哦,用低阶近似),高阶项相对来说就特别小,可以忽略不计,这样公式就简化成了 T ≈ 2 π L g T \approx 2\pi \sqrt{\frac{L}{g}} T2πgL 。这就大大简化了计算,让物理学家们能更轻松地研究单摆现象,泰勒公式简直就是物理世界里的魔法棒!

七、注意事项与常见误区

  1. 展开点的选择——找准“近似根据地”

    • 泰勒公式在选择的展开点 x 0 x_0 x0附近近似效果那是杠杠的,就像你在熟悉的家门口附近找路,怎么走都不会偏差太大。可是一旦远离这个点,就像走进了陌生的荒野,误差可能就像野草一样迅速疯长。
    • 比如说,你想用 e x e^x ex x 0 = 0 x_0 = 0 x0=0处的展开式去计算 e 10 e^{10} e10,那可就有点吃力了,因为 10 10 10 0 0 0太远,得用极高阶的项才能算得比较准确,计算量就会超级大。
  2. 收敛域问题——多项式的“有效范围”

    • 同学们要记住,泰勒级数可不是在任何地方都管用的,它只在收敛域内有效。就像 ln ⁡ ( 1 + x ) \ln(1 + x) ln(1+x)的展开式,只有在 − 1 < x ≤ 1 -1 < x \leq 1 1<x1这个区间里,它才能准确地近似原函数,超出这个范围,它就像没了信号的手机,完全不靠谱了。
  3. 高阶导数的重要性——函数的“深层特质”

    • 如果一个函数的高阶导数在某点不存在,那就像建房子少了关键的砖块,没办法搭建高阶的泰勒多项式。比如说 ∣ x ∣ |x| x x = 0 x = 0 x=0处二阶导数就不存在,这时候就不能盲目地用高阶泰勒展开来近似它,得小心避开这个“坑”。

八、终极总结

  • 泰勒公式 f ( x ) ≈ ∑ k = 0 n f ( k ) ( x 0 ) k ! ( x − x 0 ) k f(x) \approx \sum_{k = 0}^n \frac{f^{(k)}(x_0)}{k!}(x - x_0)^k f(x)k=0nk!f(k)(x0)(xx0)k,这可是咱们一路推导、学习的核心成果,一定要牢记哦。
  • 系数公式
    a k = f ( k ) ( x 0 ) k ! \boxed{a_k = \frac{f^{(k)}(x_0)}{k!}} ak=k!f(k)(x0)
    它就像一把万能钥匙,能帮我们确定多项式的每一个系数,从而构建出近似原函数的多项式。
  • 一句话理解:泰勒公式就是用多项式在一点处,把原函数的所有导数信息都“克隆”过来,让多项式模仿原函数的形状,实现对原函数的逼近,就像一个超级模仿秀,而且模仿得极其逼真!

动手练习时间到
尝试展开 f ( x ) = cos ⁡ x f(x) = \cos x f(x)=cosx x 0 = 0 x_0 = 0 x0=0处的 3 阶泰勒多项式,并计算 cos ⁡ ( 0.2 ) \cos(0.2) cos(0.2)的近似值。
(答案: 1 − x 2 2 1 - \frac{x^2}{2} 12x2,近似值为 0.980067 0.980067 0.980067
同学们,赶紧动手试试吧,巩固一下咱们学到的泰勒公式知识,开启数学探索的新旅程!

你可能感兴趣的:(机器学习数学基础,机器学习,人工智能)