泰勒公式专题 拉格朗日余项与佩亚诺余项,麦克劳林公式
泰勒公式,也即泰勒展开式。在进行数学计算时,给定一个函数 f ( x ) f(x) f(x),如果该函数满足一定的条件(如n阶可导等),则们可以将其写成多项式的形式,以达到化繁为简,解决问题的目的。
n次多项式的通式如下所示:
P n = a 0 + a 1 x + a 2 x 2 + a 3 x 3 + . . . + a n x n P_n=a_0 + a_1x + a_2 x^2 + a_3x^3 + ... +a_nx^n Pn=a0+a1x+a2x2+a3x3+...+anxn
仿照该通式,给定函数 f ( x ) f(x) f(x),并指定点 x 0 x_{0} x0, 关于 x 0 x_0 x0可以将已知函数 f ( x ) f(x) f(x)写成多项式 P n P_n Pn的形式如下式所示:
P n ( x ) = f ( x 0 ) + f ′ ( x 0 ) 1 ! ( x − x 0 ) + f ′ ′ ( x 0 ) 2 ! ( x − x 0 ) 2 + P_n(x)=f(x_0) + \frac{f'(x_0)}{1!}(x-x_0) + \frac{f''(x_0)}{2!} (x-x_0)^2 + Pn(x)=f(x0)+1!f′(x0)(x−x0)+2!f′′(x0)(x−x0)2+
f ′ ′ ′ ( x 0 ) 3 ! ( x − x 0 ) 3 + . . . + f ( n ) ( x 0 ) n ! ( x − x 0 ) n \frac{f'''(x_0)}{3!}(x-x_0)^3 + ... +\frac{f^{(n)}(x_0)}{n!}(x-x_0)^n 3!f′′′(x0)(x−x0)3+...+n!f(n)(x0)(x−x0)n
= ∑ i = 0 n f ( i ) ( x 0 ) i ! ( x − x 0 ) i =\sum_{i=0}^{n}\frac{f^{(i)}(x_0)}{i!}(x-x_0)^i =∑i=0ni!f(i)(x0)(x−x0)i
则
f ( x ) = p n ( x ) + R n ( x ) f(x)=p_n(x)+R_n(x) f(x)=pn(x)+Rn(x)
其中,参照点 x 0 x_0 x0为0的泰勒公式称为麦克劳林公式。
此外,式子中的 R n ( x ) R_n(x) Rn(x) 是使用 P n ( x ) P_n(x) Pn(x) 近似 f ( x ) f(x) f(x) 的误差,该误差被称为余项。
该余项有两种表示方式,一种是拉格朗日余项,一种是佩亚诺余项。
拉格朗日余项可以写作
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
此时泰勒定理可以叙述为:
设 f ( x ) f(x) f(x)在闭区间[a,b]有n阶连续的导数,在开区间(a,b)内有直到n+1阶导数,
x 0 ∈ [ a , b ] x_0∈[a,b] x0∈[a,b], x ∈ [ a , b ] x∈[a,b] x∈[a,b]是任意两点,则至少存在一点 ξ \xi ξ介于 x x x和 x 0 x_0 x0之间,使得
f ( x ) = ∑ i = 0 n f ( i ) ( x 0 ) i ! ( x − x 0 ) i + f ( n + 1 ) ( ξ ) ( n + 1 ) ! ( x − x 0 ) n + 1 f(x)=\sum_{i=0}^{n}\frac{f^{(i)}(x_0)}{i!}(x-x_0)^i +\frac{f^{(n+1)}(\xi)}{(n+1)!}(x-x_0)^{n+1} f(x)=∑i=0ni!f(i)(x0)(x−x0)i+(n+1)!f(n+1)(ξ)(x−x0)n+1
成立。
由公式可见,拉格朗日余项对误差的存在持肯定态度。在含有拉格朗日余项的泰勒公式中,误差的大小与指定的公式阶数有关,该误差是不可避免的,只能尽可能地减小它。公式的阶数越高(n越大),误差就越小。反之,阶数越低,则误差越大。
这个思想,与机器学习中的梯度下降法有些相似(但不相同),当然泰勒公式在机器学习中的主要应用也是梯度迭代。在很多技术应用时,很多情况下计算达到一定的精度,即可满足我们的需求了,而不追求百分百准确。
具有拉格朗日余项的0阶泰勒公式,即拉格朗日中值公式:
f ( x ) = f ( x 0 ) + f ′ ( ξ ) ( x − x 0 ) f(x)=f(x_0)+f'(\xi)(x-x_0) f(x)=f(x0)+f′(ξ)(x−x0)
虽然函数经过具有拉格朗日余项的泰勒公式变化后的误差项(余项),无法消除。
但是,在佩亚诺余项将该误差写成了极限的形式。这使得我们在研究极限问题 x → x 0 x→x_0 x→x0时,
佩亚诺余项会以一个高阶无穷小的形式参与运算,进而得到精准的结果。
因此在运用泰勒公式求极限的时候,一定要写佩亚诺余项。
佩亚诺余项可写作:
R n = o ( ( x − x 0 ) n ) R_n=o((x-x_0)^n) Rn=o((x−x0)n)
其中,佩诺亚余项 R n ( x ) 是 ( x − x 0 ) n R_n(x)是(x-x_0)^n Rn(x)是(x−x0)n的高阶无穷小,即 lim x → x 0 o ( ( x − x 0 ) n ) ( x − x 0 ) n = 0 \lim\limits_{x \to x_0}\frac{o((x-x_0)^n)}{(x-x_0)^n}=0 x→x0lim(x−x0)no((x−x0)n)=0。
则此时泰勒定理可以叙述为:
设 f ( x ) f(x) f(x)在闭区间 [ a , b ] [a,b] [a,b]具有n阶导数(这就意味着f(x)在 x = x 0 x=x_0 x=x0的某邻域内应具有 n − 1 n-1 n−1阶导数,且 f n − 1 ( x ) f^{n-1}(x) fn−1(x)在 x = x 0 x=x_0 x=x0处连续),x为 x 0 x_0 x0的充分小的邻域内的一点,则有
f ( x ) = ∑ i = 0 n f ( i ) ( x 0 ) i ! ( x − x 0 ) i + o ( ( x − x 0 ) n ) f(x)=\sum_{i=0}^{n}\frac{f^{(i)}(x_0)}{i!}(x-x_0)^i + o((x-x_0)^n) f(x)=∑i=0ni!f(i)(x0)(x−x0)i+o((x−x0)n)
具有佩诺亚余项的1阶泰勒公式,也即微分与增量之间的关系式:
f ( x ) = f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) + o ( ( x − x 0 ) ) f(x) = f(x_0) + f'(x_0)(x-x_0) +o((x-x_0)) f(x)=f(x0)+f′(x0)(x−x0)+o((x−x0))
麦克劳林公式是泰勒公式的一种特殊情况。 x 0 = 0 x_0=0 x0=0时的泰勒公式被称为麦克劳林公式。
常用的 含佩亚诺余项 的 麦克劳林公式如下:
e x = ∑ i = 0 n 1 i ! x i + o ( x n ) = 1 + x + 1 2 ! x 2 + 1 3 ! x 3 + . . . + 1 n ! x n + o ( x n ) e^x=\sum_{i=0}^n\frac{1}{i!}x^i+o(x^n)=1 + x + \frac{1}{2!}x^2 + \frac{1}{3!}x^3 + ... + \frac{1}{n!}x^n +o(x^n) ex=∑i=0ni!1xi+o(xn)=1+x+2!1x2+3!1x3+...+n!1xn+o(xn)
对 f ( x ) = sin x f(x)=\sin x f(x)=sinx, x 0 = 0 x_0=0 x0=0
其麦克劳林公式第一项为0阶导数项,即未求导项, s i n ( 0 ) = 0 sin(0)=0 sin(0)=0
第二项,第三项,第四项,第五项,依次为:
一阶导数项: sin ′ x 0 = cos x 0 \sin 'x_0 = \cos x_0 sin′x0=cosx0, 符号为正
二阶导数项: cos ′ x 0 = − s i n x 0 \cos 'x_0=-sin x_0 cos′x0=−sinx0, 值为0
三阶导数项: ( − sin x 0 ) ′ = − cos x 0 (-\sin x_0)'=- \cos x_0 (−sinx0)′=−cosx0, 符号为负
四阶导数项: ( − cos x 0 ) ′ = sin x 0 (- \cos x_0)'= \sin x_0 (−cosx0)′=sinx0, 值为0
即对 sin x \sin x sinx 每求四阶导数就会循环一次,
故第一项 s i n 0 sin 0 sin0(未求导项),第三项(二阶导数项),第五项(四阶导数项),第七项(六阶导数项)…都为零,因此可以忽略掉。
第2,6,10,14…项符号位正,
第4,8,12,16…项符号为负。
所以 s i n x sinx sinx的麦克劳林公式可以表示为:
sin x = x − 1 3 ! x 3 + 1 5 ! x 5 − 1 7 x 7 + 1 9 ! x 9 − . . . + ( − 1 ) n ( 2 n + 1 ) ! x 2 n + 1 + o ( x 2 n + 2 ) \sin x = x -\frac{1}{3!}x^3 +\frac{1}{5!}x^5 -\frac{1}{7}x^7 + \frac{1}{9!}x^9 - ... +\frac{(-1)^{n}}{(2n+1)!}x^{2n+1}+o(x^{2n+2}) sinx=x−3!1x3+5!1x5−71x7+9!1x9−...+(2n+1)!(−1)nx2n+1+o(x2n+2)
其中,佩亚诺余项这里表示为 o ( x 2 n + 2 ) o(x^{2n+2}) o(x2n+2),因为第 x 2 n + 2 x^{2n+2} x2n+2项为0。所以这里如果将佩诺亚余项写为 o ( x 2 n + 1 ) o(x^{2n+1}) o(x2n+1)也是可以的,不会影响计算的结果。至于具体写成哪一种形式,要根据计算的具体过程而定,选择更有利的写法。
下边给出四组极限计算示例,以供理解选择 o ( x 2 n + 1 ) o(x^{2n+1}) o(x2n+1)还是 o ( x 2 n + 2 ) o(x^{2n+2}) o(x2n+2):
lim x → 0 x 2 + o ( x 2 ) x 2 l n 2 = 1 ln 2 + 0 = 1 ln 2 \lim\limits_{x \to 0}\frac{x^2 + o(x^2)}{x^2ln2}=\frac{1}{\ln 2}+0=\frac{1}{\ln 2} x→0limx2ln2x2+o(x2)=ln21+0=ln21
lim x → 0 x 2 + o ( x 3 ) x 2 l n 2 = 1 ln 2 + o ( x 3 ) x x 3 ln 2 = 1 ln 2 + 0 ⋅ 0 = 1 ln 2 \lim\limits_{x \to 0}\frac{x^2 + o(x^3)}{x^2ln2}=\frac{1}{\ln 2}+\frac{o(x^3)x}{x^3\ln 2}=\frac{1}{\ln 2}+0·0=\frac{1}{\ln 2} x→0limx2ln2x2+o(x3)=ln21+x3ln2o(x3)x=ln21+0⋅0=ln21
lim x → 0 x 2 + o ( x 2 ) x 3 l n 2 = 0 + 0 ⋅ ∞ \lim\limits_{x \to 0}\frac{x^2 + o(x^2)}{x^3ln2}=0+0·\infty x→0limx3ln2x2+o(x2)=0+0⋅∞
此时出现了 0 ⋅ ∞ 0·\infty 0⋅∞,表明选择 o ( x 2 ) o(x^2) o(x2)不合适,计算无法继续进行。
lim x → 0 x 2 + o ( x 3 ) x 3 l n 2 = 0 + 0 = 0 \lim\limits_{x \to 0}\frac{x^2 + o(x^3)}{x^3ln2}=0+0=0 x→0limx3ln2x2+o(x3)=0+0=0 选择 o ( x 3 ) o(x^3) o(x3)后,问题随之解决。
常用的含有佩亚诺余项的麦克劳林公式可以汇总为:
e x = ∑ i = 0 n 1 i ! x i + o ( x n ) = 1 + x + 1 2 ! x 2 + 1 3 ! x 3 + . . . + 1 n ! x n + o ( x n ) e^x=\sum_{i=0}^n\frac{1}{i!}x^i+o(x^n)=1 + x + \frac{1}{2!}x^2 + \frac{1}{3!}x^3 + ... + \frac{1}{n!}x^n +o(x^n) ex=∑i=0ni!1xi+o(xn)=1+x+2!1x2+3!1x3+...+n!1xn+o(xn)
sin x = x − 1 3 ! x 3 + 1 5 ! x 5 − 1 7 x 7 + 1 9 ! x 9 − . . . + ( − 1 ) n ( 2 n + 1 ) ! x 2 n + 1 + o ( x 2 n + 2 ) \sin x = x -\frac{1}{3!}x^3 +\frac{1}{5!}x^5 -\frac{1}{7}x^7 + \frac{1}{9!}x^9 - ... +\frac{(-1)^{n}}{(2n+1)!}x^{2n+1}+o(x^{2n+2}) sinx=x−3!1x3+5!1x5−71x7+9!1x9−...+(2n+1)!(−1)nx2n+1+o(x2n+2)
(佩亚诺余项也可以根据需求,写成 o ( x 2 n + 1 ) o(x^{2n+1}) o(x2n+1))
cos x = x − 1 2 ! x 2 + 1 4 ! x 4 − 1 6 x 6 + 1 8 ! x 8 − . . . + ( − 1 ) n − 1 ( 2 n ) ! x 2 n + o ( x 2 n + 1 ) \cos x = x -\frac{1}{2!}x^2 +\frac{1}{4!}x^4 -\frac{1}{6}x^6 + \frac{1}{8!}x^8 - ... +\frac{(-1)^{n-1}}{(2n)!}x^{2n}+o(x^{2n+1}) cosx=x−2!1x2+4!1x4−61x6+8!1x8−...+(2n)!(−1)n−1x2n+o(x2n+1)
(同理,佩亚诺余项也可以根据需求,写成 o ( x 2 n ) o(x^{2n}) o(x2n))
ln ( 1 + x ) = x − x 2 2 + x 3 3 − . . . + ( − 1 ) n − 1 x n n + o ( x n ) \ln(1+x) = x - \frac{x^2}{2} + \frac{x^3}{3}-...+(-1)^{n-1}\frac{x^n}{n}+o(x^n) ln(1+x)=x−2x2+3x3−...+(−1)n−1nxn+o(xn)
( 1 + x ) m = 1 + m x + m ( m − 1 ) 2 ! x 2 + . . . + m ( m − 1 ) . . . ( m − n + 1 ) n ! x n + o ( x n ) (1+x)^m=1+mx + \frac{m(m-1)}{2!}x^2+...+\frac{m(m-1)...(m-n+1)}{n!}x^n+o(x^n) (1+x)m=1+mx+2!m(m−1)x2+...+n!m(m−1)...(m−n+1)xn+o(xn)
1 ( 1 − x ) = 1 + x + x 2 + x 3 + . . . + x n + o ( x n ) \frac{1}{(1-x)}=1+x+x^2+x^3+...+x^n+o(x^n) (1−x)1=1+x+x2+x3+...+xn+o(xn)
本次分享就到这里,小啾感谢您的关注与支持!
꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ꧔ꦿ