二阶泰勒展开式是一种用多项式近似函数的方法,通过在某一点展开该函数,将其用多项式的形式表示。泰勒展开可以用来近似连续函数,特别是在优化问题中,经常使用泰勒展开来近似目标函数,以便找到最优解。
一般形式
假设函数 f ( x ) f(x) f(x) 在点 x = a x = a x=a 附近具有连续的导数,那么泰勒展开式在 x = a x = a x=a 附近展开时,可以用以下形式来近似表示:
f ( x ) ≈ f ( a ) + f ′ ( a ) ( x − a ) + f ′ ′ ( a ) 2 ( x − a ) 2 + ⋯ + f ( n ) ( a ) n ! ( x − a ) n f(x) \approx f(a) + f'(a) (x - a) + \frac{f''(a)}{2} (x - a)^2 + \cdots + \frac{f^{(n)}(a)}{n!} (x - a)^n f(x)≈f(a)+f′(a)(x−a)+2f′′(a)(x−a)2+⋯+n!f(n)(a)(x−a)n
其中:
- f ( a ) f(a) f(a) 是函数在点 a a a 处的值。
- f ′ ( a ) f'(a) f′(a) 是函数在 a a a 点的导数。
- f ′ ′ ( a ) f''(a) f′′(a) 是函数在 a a a 点的二阶导数。
- n ! n! n! 是 n n n 的阶乘,用于归一化每项。
二阶泰勒展开式
如果仅取泰勒展开式的前两项,即截断到二阶导数部分,得到的就是二阶泰勒展开式,如下所示:
f ( x ) ≈ f ( a ) + f ′ ( a ) ( x − a ) + f ′ ′ ( a ) 2 ( x − a ) 2 f(x) \approx f(a) + f'(a) (x - a) + \frac{f''(a)}{2} (x - a)^2 f(x)≈f(a)+f′(a)(x−a)+2f′′(a)(x−a)2
其中:
- 第一项 f ( a ) f(a) f(a) 是在 a a a 点处的函数值。
- 第二项 f ′ ( a ) ( x − a ) f'(a)(x - a) f′(a)(x−a) 是一阶导数项,表示该点处的切线斜率。
- 第三项 f ′ ′ ( a ) 2 ( x − a ) 2 \frac{f''(a)}{2} (x - a)^2 2f′′(a)(x−a)2 是二阶导数项,反映了该点附近的曲率。
二阶泰勒展开的应用
在机器学习和优化中,二阶泰勒展开常用于:
- 目标函数近似:在优化问题中,目标函数可以通过二阶泰勒展开进行近似,从而使用二次优化方法。
- XGBoost 损失函数近似:XGBoost 中的目标函数会通过二阶泰勒展开进行近似,将损失函数表达成包含一阶和二阶导数的形式,从而可以更方便地构建决策树。
示例
假设我们要在点 x = a x = a x=a 附近展开 f ( x ) = e x f(x) = e^x f(x)=ex:
- 函数在 a a a 处的值为 f ( a ) = e a f(a) = e^a f(a)=ea。
- 一阶导数为 f ′ ( x ) = e x f'(x) = e^x f′(x)=ex,所以 f ′ ( a ) = e a f'(a) = e^a f′(a)=ea。
- 二阶导数为 f ′ ′ ( x ) = e x f''(x) = e^x f′′(x)=ex,所以 f ′ ′ ( a ) = e a f''(a) = e^a f′′(a)=ea。
因此,二阶泰勒展开式为:
f ( x ) ≈ e a + e a ( x − a ) + e a 2 ( x − a ) 2 f(x) \approx e^a + e^a (x - a) + \frac{e^a}{2} (x - a)^2 f(x)≈ea+ea(x−a)+2ea(x−a)2
总结
二阶泰勒展开式是用函数在某点的值、一阶导数和二阶导数来近似该函数的一种方法。它能够反映函数在这一点的局部特性,并且常用于优化和机器学习中的函数近似。