本文始发于个人公众号:TechFlow,原创不易,求个关注
上一篇文章我们复习了函数求导的定义和一些常见函数的导数,今天这篇文章我们回顾一下复杂函数的求导方法。先强调一下,今天的文章很重要,想要看懂机器学习各种公式推导,想要能够自己推一推各种公式,函数求导是基础中的基础,在算法这个领域,它比积分要重要得多。
我们先来看第一种情况:多个函数进行四则运算的导数。
函数四则运算求导法则
我们假设u=u(x)u=u(x)u=u(x)和v=v(x)v=v(x)v=v(x)都在x点有导数,那么它们进行加减乘除四则运算之后的结果的导数有如下性质:
[u(x)±v(x)]′=u′(x)±v′(x)[u(x)v(x)]′=u′(x)v(x)+u(x)v′(x)[u(x)v(x)]=u′(x)v(x)−u(x)v′(x)v2(x)(v(x)≠0) \begin{aligned} \left[u(x) \pm v(x)\right]'&= u'(x) \pm v'(x) \\ \left[u(x)v(x)\right]' &= u'(x)v(x) + u(x)v'(x) \\ \left[\frac{u(x)}{v(x)}\right] &= \frac{u'(x)v(x)-u(x)v'(x)}{v^2(x)} (v(x) \neq 0) \end{aligned} [u(x)±v(x)]′[u(x)v(x)]′[v(x)u(x)]=u′(x)±v′(x)=u′(x)v(x)+u(x)v′(x)=v2(x)u′(x)v(x)−u(x)v′(x)(v(x)=0)
我们来看一下证明过程,熟悉证明过程并不是炫技,除了能加深对公式的理解之外,更重要的是防止遗忘。即使以后真的不记得公式的细节了,也可以临时推导一下,这是学算法和数学很重要的技巧。
我们先来看第一个,第一个很容易证明,我们直接套一下导数的公式即可:
[u(x)±v(x)]′=limΔx→0[u(x+Δx)±v(x+Δx)]−[u(x)±v(x)]Δx=limΔx→0u(x+Δx)Δx±limΔx→0v(x+Δx)Δx=u′(x)±v′(x) \begin{aligned} \left[u(x) \pm v(x) \right]' &= \lim_{\Delta x \to 0} \frac{\left[u(x+\Delta x) \pm v(x + \Delta x) \right] - \left[u(x) \pm v(x) \right] }{\Delta x} \\ &= \lim_{\Delta x \to 0}\frac{u(x+\Delta x)}{\Delta x} \pm \lim_{\Delta x \to 0} \frac{v(x+\Delta x)}{\Delta x} \\ &= u'(x) \pm v'(x) \end{aligned} [u(x)±v(x)]′=Δx→0limΔx[u(x+Δx)±v(x+Δx)]−[u(x)±v(x)]=Δx→0limΔxu(x+Δx)±Δx→0limΔxv(x+Δx)=u′(x)±v′(x)
第二个式子同样套用公式:
[u(x)v(x)]′=limΔx→0u(x+Δx)v(x+Δx)−u(x)v(x)Δx=limΔx→0u(x+Δx)v(x+Δx)−u(x)v(x+Δx)+u(x)v(x+Δx)−u(x)v(x)Δx=limΔx→0(u(x+Δx)−u(x))v(x+Δx)+u(x)(v(x+Δx)−v(x))Δx=limΔx→0v(x+Δx)u(x+Δx)−u(x)Δx+limΔx→0u(x)v(x+Δx)−v(x)Δx=v(x+Δx)u′(x)+u(x)v′(x)=u(x)v′(x)+u′(x)v(x) \begin{aligned} \left[u(x)v(x)\right]' &= \lim_{\Delta x \to 0} \frac{u(x+\Delta x) v(x + \Delta x) - u(x) v(x)}{\Delta x} \\ &= \lim_{\Delta x \to 0} \frac{u(x+\Delta x) v(x + \Delta x) - u(x)v(x+ \Delta x) + u(x)v(x+\Delta x) - u(x) v(x)}{\Delta x} \\ &= \lim_{\Delta x \to 0} \frac{(u(x+\Delta x) - u(x))v(x+\Delta x) + u(x)(v(x+\Delta x) - v(x))}{\Delta x} \\ &= \lim_{\Delta x \to 0}v(x+\Delta x) \frac{u(x+\Delta x) - u(x)}{\Delta x} + \lim_{\Delta x \to 0}u(x)\frac{v(x+\Delta x) - v(x)}{\Delta x}\\ &=v(x+\Delta x)u'(x) + u(x)v'(x) \\ &=u(x)v'(x) + u'(x)v(x) \end{aligned} [u(x)v(x)]′=Δx→0limΔxu(x+Δx)v(x+Δx)−u(x)v(x)=Δx→0limΔxu(x+Δx)v(x+Δx)−u(x)v(x+Δx)+u(x)v(x+