0%

复杂函数求导规则

求导法则

复杂函数的求导, 可以看做是对几个简单函数(暂且称为子函数)的复合函数的求导。一般可以分以下几个情况。

常数项系数

函数的常数项系数的复合方式是最简单的, 它的形式一般如:

\[ f(x) = c \cdot h(x) \]

其中, \(c\) 是常数, \(h(x)\) 是任意关于 \(x\) 的函数, 则 \(f(x)\) 的求导规则为:

\[ f'(x) = c \cdot h'(x) \]

就是简单的对 \(h(x)\) 求导数, 然后乘以常数 \(c\)

子函数的和/差

若一个函数, 它可以被表述为多个子函数的和或者差的形式, 这里只以和的形式距离(差可以认为其中一个子函数乘以-1就好了), 形如:

\[ f(x) = h(x) + g(x) \]

此类函数的导数, 可以对其子函数分别求导, 然后再相加:

\[ f'(x) = h'(x) + g'(x) \]

多项乘积

两项的情况

若一个函数, 他可以被表述为两个子函数的乘积的形式, 形如:

\[ f(x) = h(x) \cdot g(x) \]

则, 它的导数为:

\[ f'(x) = h'(x) \cdot g(x) + h(x) \cdot g'(x) \]

记忆方式为 将两个子函数相乘, 加两次, 然后分别依次在各项的对应函数上加一个撇号

三项的情况

三项乘积的形式形如:

\[ f(x) = h(x) \cdot g(x) \cdot k(x) \]

其求导规则为

\[ f'(x) = h'(x) \cdot g(x) \cdot k(x) + h(x) \cdot g'(x) \cdot k(x) + h(x) \cdot g(x) \cdot k'(x) \]

记忆方式为 将三个子函数相乘, 加三次, 然后分别依次在各项的对应函数上加一个撇号

实际上, 多个函数的相乘, 都可以分解为两个项的相乘, 然后使用两项求导公式求导, 然后对每个子项递归下去。

推导一下:

\[ f(x) = h(x) \cdot g(x) \cdot k(x) \]

\[u(x) = h(x) \cdot g(x)\]

\[f(x) = u(x) \cdot k(x)\]

那么,根据两项相乘的求导公式:

\[ \begin{eqnarray} f'(x) = u'(x) \cdot k(x) + u(x) \cdot k'(x) \tag{1} \\ u'(x) = h'(x) \cdot g(x) + h(x) \cdot g'(x) \tag{2} \end{eqnarray} \]

将(2)带入(1)得:

\[ f'(x) = (h'(x) \cdot g(x) + h(x) \cdot g'(x)) \cdot k(x) + h(x) \cdot g(x) \cdot k'(x) \]

将上式乘开:

\[ f'(x) = h'(x) \cdot g(x) \cdot k(x) + h(x) \cdot g'(x) \cdot k(x) +h(x) \cdot g(x) \cdot k'(x) \]

即得到三项乘积的导数公式。

商式

若一个函数, 可以写作两个子函数商的形式, 形如:

\[ f(x) = \frac{g(x)}{h(x)} \]

它的导数公式为:

\[ f'(x) = \frac{g'(x)\cdot h(x) - g(x) \cdot h'(x)}{h(x)^2} \]

记忆方式: 按照两项乘积的公式, 对后项取负号, 然后除以商函数的平方

实际上, 商公式可以简单的由乘积公式推导而来。

推导:

\[ f(x) = \frac{g(x)}{h(x)} \]

我们假设有函数

\[ k(x) = h(x)^{-1} \tag{2.1} \]

则:

\[ \begin{eqnarray} f(x) &= g(x) \cdot k(x) \tag{2.2} \\ f'(x) &= g'(x) \cdot k(x) + g(x) \cdot k'(x) \tag{2.3} \end{eqnarray} \]

这里要提前引入一下链式函数的求导法则:

\[ k'(x) = -1 \cdot h(x)^{-2} \dot h'(x) \tag{2.4} \]

然后, 将 \((2.1) (2.4)\) 代入 \((2.3)\) 得到

\[ f'(x) = g'(x)\cdot h(x)^{-1} - g(x) \cdot h(x)^{-2} \cdot h'(x) \]

对上式提公因式

\[ \begin{eqnarray} f'(x) &= (g'(x) \cdot h(x) - g(x)\cdot h'(x)) \cdot h(x)^{-2} \notag \\ f'(x) &= \frac{g'(x) \cdot h(x) - g(x) \cdot h'(x)}{h(x)^{2}} \notag \end{eqnarray} \]

至此, 由乘法求导公式推导得到商式的求导公式。

链式函数

若一个函数由几层函数复合而成, 形如:

\[ f(x) = g(h(x)) \]

这里需要注意一下, 所谓的 "链式" 隐含一层自变量替换的概念, 它是指, 其中一个子函数作为另一个函数的 "自变量", 而非原生的自变量 \(x\)

那么, 链式求导法则为:

\[ f'(x) = g'(h(x)) \cdot h'(x) \]

上式正确, 但是稍显凌乱, 我重新表达一下

\[ 设变量 z = h(x) \]

\[ f'(x) = g'(z) \cdot h'(x) \]

用偏自然语言描述就是: 把作为自变量的函数看做一个整体, 对外层函数求导, 然后将结果乘以内层函数关于原生自变量$x$的导数。

更深层一点的是多层链式函数, 即可能一层复合函数无法精简的表达整个函数, 需要将关于$x$的函数复合多次, 这种情况下可以一层层套用两层链式法则。(每层展开乘以下层关于自己的自变量的导数即可)