一阶导数可以捕获重要信息,如变化率,但它们本身无法区分局部极小值或最大值,在这两种情况下,变化率都为零。几种优化算法通过利用高阶导数来解决这一限制,例如在牛顿方法中,利用二阶导数达到优化函数的局部极小值。
在本教程中,您将了解如何计算高阶单变量和多元导数.
完成本教程后,您将了解:
如何计算单变量函数的高阶导数。
如何计算多元函数的高阶导数。
二阶优化算法在机器学习中如何利用二阶导数.
我们开始吧。
高阶导数
照照杰尔夫保留了一些权利。
教程概述
本教程分为三个部分:
单变量函数的高阶导数
多元函数的高阶导数
机器学习中的应用
单变量函数的高阶导数
除了……之外一阶导数,它可以为我们提供关于一个函数的重要信息,比如它的瞬时信息。变化率,高阶导数也同样有用。例如,二阶导数可以度量加速或者它可以帮助优化算法区分局部最大值和局部最小值。
计算单变量函数的高阶(二阶、三阶或更高)导数并不困难.
依此类推。">函数的二阶导数就是其一阶导数的导数。三阶导数是二阶导数,四阶导数是三阶导数,以此类推。
因此,计算高阶导数只需重复微分函数.为了做到这一点,我们可以简单地应用我们对幂规则。让我们考虑一下这个函数,f(x)=x3+2x2-4x+1,举个例子。然后:
一阶导数:f’(x) = 3x2 + 4x – 4
二阶导数:f’’(x) = 6x + 4
三阶导数:f’’’(x) = 6
四阶导数:f(4)(x) = 0
五阶导数:f(5)(x) = 0 等。
我们在这里所做的是,我们首先将权力规则应用于f(x)获得其一阶导数,f’(x),然后将幂规则应用于一阶导数,以获得第二次幂律,以此类推。随着微分的反复应用,导数最终将变为零。
的应用积商规则在获得高阶导数方面也是有效的,但随着阶数的增加,它们的计算会变得越来越混乱。一般化的Leibniz规则简化了这方面的任务,将产品规则概括为:
在这里,这个词,n! / k!(n – k)!,是二项式定理中的二项式系数,而f(k)和g(k)表示kTH函数的导数,f和g分别。
因此,找到第一和第二导数(因此,替代n=1和n(分别为2),根据莱布尼茨的一般规则,给出:
(FG)(1) = (FG)’ = f(1)g + fg(1)
(FG)(2) = (FG)’’ = f(2)g + 2f(1)g(1) + fg(2)
注意产品规则定义的熟悉的一阶导数。也可以用Leibniz法则找到有理函数的高阶导数,因为商可以有效地表示为形式的乘积,fg-1.
多元函数的高阶导数
高阶的定义偏导数的多元函数类似于单变量情况:nTH阶偏导数n >1,则计算为n – 1)TH阶偏导数例如,取带有两个变量的函数的第二偏导数,得到四个,第二个偏导数:两个。自己偏导数,fXX和fYY和两个交叉偏导数,fXY和fYX.
要取一个“导数”,我们必须取一个关于x或y的偏导数,它有四种方法:x然后x,x然后y,y然后y,y然后y。
让我们考虑多元函数,f(x, y) = x2 + 3XY+ 4y2,我们想找出第二偏导数。这个过程从找到它的一阶偏导数开始,首先:
然后,通过重复寻找偏导数的过程,找到四个二阶偏导数。这个自己偏导数是最容易找到的,因为我们只是重复偏导数的过程,其中之一。x或y,第二次:
以前发现的交叉偏导数fx(即相对于x)的结果的偏导数。y给我们fXY。类似地,取fy关于x,给我们fYX:
交叉偏导数给出同样的结果不是偶然的。这是由Clairaut定理定义的,它指出,只要交叉偏导数是连续的,那么它们是相等的。
机器学习中的应用
在机器学习中,最常用的是二阶导数.我们有前文二阶导数可以为我们提供一阶导数本身无法捕捉的信息。具体来说,它可以告诉我们临界点是局部最小还是最大值(分别基于二阶导数是大于还是小于零),否则一阶导数在这两种情况下都是零。
有几个二阶利用这些信息的优化算法,牛顿法就是其中之一。
另一方面,二阶信息使我们可以对目标函数进行二次逼近,并近似于正确的步长,从而达到局部最小…。
在单变量情况下,牛顿方法利用二阶泰勒级数展开对目标函数的某一点进行二次逼近。牛顿法的更新规则是通过将导数设为零并求根而得到的,它涉及到二阶导数的除法运算。如果将牛顿法推广到多元优化问题,则用梯度代替导数,用Hessian矩阵的逆代替二阶导数的倒数。
我们将在单独的教程中讨论Hessian和Taylor级数逼近,它们利用高阶导数。