机器学习微积分--(5)泰勒公式
泰勒公式(Taylor’s Formula)是数学分析中最重要的工具之一。它的核心思想是:用一个多项式来近似描述一个复杂函数在某一点附近的行为。这个多项式被称为泰勒多项式,而公式则给出了这个近似与真实函数之间的误差(余项)。无论是工程计算、物理建模,还是纯数学的理论推导,泰勒公式都无处不在。
5.1 为什么需要泰勒公式?
在实际问题中,我们经常遇到一些“不好算”的函数,比如:
- 指数函数 e x e^x ex、对数函数 ln x \ln x lnx、三角函数 sin x \sin x sinx 等;
- 复杂的非线性函数,很难直接计算其在某点的值或进行积分。
如果能把它们转化成多项式,就好办多了——因为多项式只需要加减乘除,计算机和人都容易处理。泰勒公式告诉我们,只要函数足够光滑,就可以用一个多项式来逼近它,并且我们可以控制误差的大小。
5.2 基本思想:从一点的信息“预测”附近的值
想象你站在一座山上,知道当前位置的高度 f ( x 0 ) f(x_0) f(x0)、坡度 f ′ ( x 0 ) f'(x_0) f′(x0)、坡度的变化率 f ′ ′ ( x 0 ) f''(x_0) f′′(x0)……理论上,你可以根据这些局部信息,大致推断出附近位置的高度。泰勒公式就是这种思想的数学实现。
一次近似(线性逼近):
f ( x ) ≈ f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) f(x) \approx f(x_0) + f'(x_0)(x - x_0) f(x)≈f(x0)+f′(x0)(x−x0)
这就是我们在微分学中学过的切线近似。但线性近似往往不够精确,于是我们加入二次项、三次项……得到更高精度的逼近。
5.3 泰勒公式的完整形式
设函数 f ( x ) f(x) f(x) 在包含点 x 0 x_0 x0 的区间内具有直到 n n n 阶的导数,则对于该区间内的任意 $ x $,有
f ( x ) = ∑ k = 0 n f ( k ) ( x 0 ) k ! ( x − x 0 ) k + R n ( x ) f(x) = \sum_{k=0}^{n} \frac{f^{(k)}(x_0)}{k!} (x - x_0)^k + R_n(x) f(x)=k=0∑nk!f(k)(x0)(x−x0)k+Rn(x)
其中:
- ∑ k = 0 n f ( k ) ( x 0 ) k ! ( x − x 0 ) k \sum_{k=0}^{n} \frac{f^{(k)}(x_0)}{k!} (x - x_0)^k ∑k=0nk!f(k)(x0)(x−x0)k 称为泰勒多项式 T n ( x ) T_n(x) Tn(x);
- R n ( x ) R_n(x) Rn(x) 是余项,表示多项式与实际函数之间的误差。
当 x 0 = 0 x_0 = 0 x0=0 时,公式简化为麦克劳林公式:
f ( x ) = ∑ k = 0 n f ( k ) ( 0 ) k ! x k + R n ( x ) f(x) = \sum_{k=0}^{n} \frac{f^{(k)}(0)}{k!} x^k + R_n(x) f(x)=k=0∑nk!f(k)(0)xk+Rn(x)
5.4 余项的常见形式
余项给出了近似的精度,常见的有两种形式:
1. 佩亚诺余项
R n ( x ) = o ( ( x − x 0 ) n ) ( x → x 0 ) R_n(x) = o\left((x - x_0)^n\right) \quad (x \to x_0) Rn(x)=o((x−x0)n)(x→x0)
它只说明当 x x x 趋近于 x 0 x_0 x0 时,误差比 ( x − x 0 ) n (x-x_0)^n (x−x0)n 更快地趋于零,但无法给出具体数值估计。常用于求极限。
2. 拉格朗日余项
R n ( x ) = f ( n + 1 ) ( ξ ) ( n + 1 ) ! ( x − x 0 ) n + 1 R_n(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!} (x - x_0)^{n+1} Rn(x)=(n+1)!f(n+1)(ξ)(x−x0)n+1
其中 ξ \xi ξ 介于 x 0 x_0 x0 与 x x x 之间。这个形式可以具体估计误差大小,常用于近似计算和理论证明。
5.5 直观推导(以 x 0 = 0 x_0=0 x0=0 为例)
假设我们想用一个 n n n 次多项式
P n ( x ) = a 0 + a 1 x + a 2 x 2 + ⋯ + a n x n P_n(x) = a_0 + a_1 x + a_2 x^2 + \cdots + a_n x^n Pn(x)=a0+a1x+a2x2+⋯+anxn
来逼近 f ( x ) f(x) f(x),使得在 x = 0 x=0 x=0 附近,两者不仅函数值相等,而且各阶导数也相等:
P n ( 0 ) = f ( 0 ) , P n ′ ( 0 ) = f ′ ( 0 ) , P n ′ ′ ( 0 ) = f ′ ′ ( 0 ) , … , P n ( n ) ( 0 ) = f ( n ) ( 0 ) . P_n(0) = f(0), \quad P_n'(0) = f'(0), \quad P_n''(0) = f''(0), \quad \dots, \quad P_n^{(n)}(0) = f^{(n)}(0). Pn(0)=f(0),Pn′(0)=f′(0),Pn′′(0)=f′′(0),…,Pn(n)(0)=f(n)(0).
计算多项式的导数:
- P n ( 0 ) = a 0 P_n(0) = a_0 Pn(0)=a0,所以 a 0 = f ( 0 ) a_0 = f(0) a0=f(0);
- P n ′ ( x ) = a 1 + 2 a 2 x + ⋯ + n a n x n − 1 P_n'(x) = a_1 + 2a_2 x + \cdots + n a_n x^{n-1} Pn′(x)=a1+2a2x+⋯+nanxn−1,所以 P n ′ ( 0 ) = a 1 P_n'(0) = a_1 Pn′(0)=a1,得 a 1 = f ′ ( 0 ) a_1 = f'(0) a1=f′(0);
- P n ′ ′ ( x ) = 2 a 2 + 6 a 3 x + ⋯ P_n''(x) = 2a_2 + 6a_3 x + \cdots Pn′′(x)=2a2+6a3x+⋯,所以 P n ′ ′ ( 0 ) = 2 a 2 P_n''(0) = 2a_2 Pn′′(0)=2a2,得 a 2 = f ′ ′ ( 0 ) 2 a_2 = \frac{f''(0)}{2} a2=2f′′(0);
- 一般地, P n ( k ) ( 0 ) = k ! a k P_n^{(k)}(0) = k! a_k Pn(k)(0)=k!ak,所以 a k = f ( k ) ( 0 ) k ! a_k = \frac{f^{(k)}(0)}{k!} ak=k!f(k)(0)。
这就得到了麦克劳林多项式:
P n ( x ) = f ( 0 ) + f ′ ( 0 ) x + f ′ ′ ( 0 ) 2 ! x 2 + ⋯ + f ( n ) ( 0 ) n ! x n . P_n(x) = f(0) + f'(0)x + \frac{f''(0)}{2!}x^2 + \cdots + \frac{f^{(n)}(0)}{n!}x^n. Pn(x)=f(0)+f′(0)x+2!f′′(0)x2+⋯+n!f(n)(0)xn.
泰勒公式则是在 x 0 x_0 x0 处的推广,只需将 x x x 替换为 x − x 0 x-x_0 x−x0,导数取在 x 0 x_0 x0 处的值即可。
5.6 几个重要的麦克劳林展开
1. 指数函数 e x e^x ex
e x = 1 + x + x 2 2 ! + x 3 3 ! + ⋯ + x n n ! + e ξ ( n + 1 ) ! x n + 1 e^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots + \frac{x^n}{n!} + \frac{e^{\xi}}{(n+1)!} x^{n+1} ex=1+x+2!x2+3!x3+⋯+n!xn+(n+1)!eξxn+1
(拉格朗日余项, ξ \xi ξ 介于 0 与 $ x $ 之间)
2. 正弦函数 sin x \sin x sinx
sin x = x − x 3 3 ! + x 5 5 ! − x 7 7 ! + ⋯ + ( − 1 ) m x 2 m + 1 ( 2 m + 1 ) ! + R 2 m + 2 ( x ) \sin x = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} + \cdots + (-1)^m \frac{x^{2m+1}}{(2m+1)!} + R_{2m+2}(x) sinx=x−3!x3+5!x5−7!x7+⋯+(−1)m(2m+1)!x2m+1+R2m+2(x)
余项为 sin ( 2 m + 2 ) ( ξ ) ( 2 m + 2 ) ! x 2 m + 2 \frac{\sin^{(2m+2)}(\xi)}{(2m+2)!} x^{2m+2} (2m+2)!sin(2m+2)(ξ)x2m+2,但注意 sin ( n ) \sin^{(n)} sin(n) 有界,所以误差可控。
3. 余弦函数 cos x \cos x cosx
cos x = 1 − x 2 2 ! + x 4 4 ! − x 6 6 ! + ⋯ + ( − 1 ) m x 2 m ( 2 m ) ! + R 2 m + 1 ( x ) \cos x = 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \frac{x^6}{6!} + \cdots + (-1)^m \frac{x^{2m}}{(2m)!} + R_{2m+1}(x) cosx=1−2!x2+4!x4−6!x6+⋯+(−1)m(2m)!x2m+R2m+1(x)
4. 对数函数 ln ( 1 + x ) \ln(1+x) ln(1+x)
ln ( 1 + x ) = x − x 2 2 + x 3 3 − x 4 4 + ⋯ + ( − 1 ) n − 1 x n n + R n ( x ) \ln(1+x) = x - \frac{x^2}{2} + \frac{x^3}{3} - \frac{x^4}{4} + \cdots + (-1)^{n-1} \frac{x^n}{n} + R_n(x) ln(1+x)=x−2x2+3x3−4x4+⋯+(−1)n−1nxn+Rn(x)
收敛区间为 ∣ x ∣ < 1 |x| < 1 ∣x∣<1,端点需单独讨论。
5. 二项式定理 ( 1 + x ) α (1+x)^\alpha (1+x)α
( 1 + x ) α = 1 + α x + α ( α − 1 ) 2 ! x 2 + ⋯ + α ( α − 1 ) ⋯ ( α − n + 1 ) n ! x n + R n ( x ) (1+x)^\alpha = 1 + \alpha x + \frac{\alpha(\alpha-1)}{2!} x^2 + \cdots + \frac{\alpha(\alpha-1)\cdots(\alpha-n+1)}{n!} x^n + R_n(x) (1+x)α=1+αx+2!α(α−1)x2+⋯+n!α(α−1)⋯(α−n+1)xn+Rn(x)
当 α \alpha α 不是正整数时,无穷级数在 ∣ x ∣ < 1 |x| < 1 ∣x∣<1 内收敛。
5.7 泰勒公式的应用
1. 近似计算数值
例如,计算 e 0.1 e^{0.1} e0.1 的近似值:
e 0.1 ≈ 1 + 0.1 + 0.1 2 2 + 0.1 3 6 = 1 + 0.1 + 0.005 + 0.0001667 = 1.1051667 e^{0.1} \approx 1 + 0.1 + \frac{0.1^2}{2} + \frac{0.1^3}{6} = 1 + 0.1 + 0.005 + 0.0001667 = 1.1051667 e0.1≈1+0.1+20.12+60.13=1+0.1+0.005+0.0001667=1.1051667
实际值约为 1.1051709,误差非常小。如果想更精确,可增加项数并用余项估计误差。
2. 求极限
利用佩亚诺余项,可以方便地处理 0 0 \frac{0}{0} 00 型极限。例如:
lim x → 0 sin x − x x 3 = lim x → 0 ( x − x 3 6 + o ( x 3 ) ) − x x 3 = lim x → 0 − x 3 6 + o ( x 3 ) x 3 = − 1 6 \lim_{x \to 0} \frac{\sin x - x}{x^3} = \lim_{x \to 0} \frac{\left(x - \frac{x^3}{6} + o(x^3)\right) - x}{x^3} = \lim_{x \to 0} \frac{-\frac{x^3}{6} + o(x^3)}{x^3} = -\frac{1}{6} x→0limx3sinx−x=x→0limx3(x−6x3+o(x3))−x=x→0limx3−6x3+o(x3)=−61
3. 证明不等式
例如,证明当 x > 0 x > 0 x>0 时, e x > 1 + x + x 2 2 e^x > 1 + x + \frac{x^2}{2} ex>1+x+2x2。由带拉格朗日余项的展开:
e x = 1 + x + x 2 2 + e ξ 6 x 3 ( ξ ∈ ( 0 , x ) ) e^x = 1 + x + \frac{x^2}{2} + \frac{e^{\xi}}{6} x^3 \quad (\xi \in (0,x)) ex=1+x+2x2+6eξx3(ξ∈(0,x))
由于 e ξ 6 x 3 > 0 \frac{e^{\xi}}{6} x^3 > 0 6eξx3>0,所以 e x > 1 + x + x 2 2 e^x > 1 + x + \frac{x^2}{2} ex>1+x+2x2 成立。
4. 求解微分方程
在微分方程的级数解法中,常假设解为幂级数,代入方程后利用泰勒展开比较系数。
5.8 泰勒公式与数学分析
泰勒公式不仅是计算工具,更是理论分析的基石。它揭示了光滑函数的局部性质完全由其在一点的各阶导数决定。在复变函数中,泰勒级数(解析函数的幂级数展开)更是核心内容。
5.9 总结
- 泰勒公式用一个多项式逼近一个光滑函数,在某点附近精度很高。
- 系数由函数在该点的各阶导数决定: a k = f ( k ) ( x 0 ) k ! a_k = \frac{f^{(k)}(x_0)}{k!} ak=k!f(k)(x0)。
- 余项刻画误差,常见形式有佩亚诺余项(局部)和拉格朗日余项(整体估计)。
- 常见函数的麦克劳林展开需要熟记,它们是应用的基础。
- 应用广泛:近似计算、求极限、不等式证明、解微分方程等。
掌握了泰勒公式,你就拥有了一把处理复杂函数的利器。从工程中的近似到数学理论中的深刻结论,它都扮演着不可或缺的角色。
下一章 机器学习微积分–(6)阶乘与阶数
更多推荐
所有评论(0)