精华内容
下载资源
问答
  • 文章目录前言正文复杂函数求导神经网络中的复合函数单变量复合函数链式法则多变量函数链式法则函数的近似公式单变量函数的近似公式多变量函数的近似公式总结 排版可能更好一点的永久原文链接:深度学习的数学原理-...


    排版可能更好一点的永久原文链接: 深度学习的数学原理-复杂函数求导的链式传递及多变量近似公式

    前言

    前文中对导数、偏导数已经有了概念并能进行简单计算,本篇主要介绍单变量和多变量的复合函数如何求导,以及近似公式的计算

    正文

    复杂函数求导

    如果一个函数比较复杂,无论是用公式也好,还是用导数的定义强算也好,都比较麻烦,于是书中又介绍了关于复合函数的快速求导方法(高中数学知识),以及扩展了多变量复合函数的链式法则。

    神经网络中的复合函数

    这里又祭出那个十分熟悉的公式

    w1, w2, …, wn为各输入对应的权重,b为神经单元的偏置。输出函数是如下的x1, x2, …, xn的一次函数f和激活函数a的复合函数。

    可以把这个函数看为两个函数的复合函数

    单变量复合函数链式法则

    当已知 y = f(u) u = g(x),其导数可以依照下方所示的公式进行计算

    仅看公式可能看不太明白,可以看一下书中的例题,例题中的符号有点难打,就直接贴图了。

    多变量函数链式法则

    多变量函数的偏导数求导,也有一个链式法则。
    比如变量z为u、v的函数,如果u、v分别为x、y的函数,则z为x、y的函数,z关于x求导时,先对u、v求导,然后与z的相应导数相乘,最后将乘积加起来。

    函数的近似公式

    个人看下来,觉着作用是减少计算机计算量,书中强调这是梯度下降法的基础;

    单变量函数的近似公式

    根据导数公式,Δx->0 的时候,解出来的式子就是其一阶导数,如果Δ的值很小,那么下面的式子是成立的

    此时,将 f(x+Δx) 转换出来,就成了下面这个样子,这个式子就叫做单变量函数的近似公式

    那么这个式子有什么用处呢?通过一个栗子来看一下

    当f(x)=ex时,求x=0附近的近似公式。

    根据公式可以得到如下的结果:

    取 x = 0,再将Δx换成X,可得到 e^x = 1+x
    在图形中有这样的含义,意思是 x=0 的时候 e^x 与 1+x 的结果相似:

    多变量函数的近似公式

    这个公式可能比较好理解,但是不大好推导,x和y分别变化一个较小的数,其结果与 f(x, y) + x的偏导数Δx + y的偏导数Δy 近似相同

    可以通过书中的一个例子来理解这个公式

    举个例子:当z=e^(x+y)时,求x=y=0附近的近似公式

    按照公式,不难得出 f(x+Δx, y+Δy) = e^(x+y) + e^(x+y)*Δx + e^(x+y)*Δy = e^(x+y)*(1+Δx+Δy)
    带入 x+y = 0,并将 Δx 换为 x ,Δy 换成 y 即可
    1 + x + y

    书中还提到了简化多变量函数近似公式的方法,首先有个 Δz 定义为x和y同时进行一个很小的变化与原函数值的差值

    那么根据公式以及上述定义进行一下变换,可以得到

    再对变量数量进行推广

    有没有很眼熟,是不是很像向量的内积,所以书中又提到了这个公式可以用向量内积的形式体现

    总结

    主要介绍了单变量和多变量复合函数求导,还有单变量和多变量的近似公式及其向量内积表示,为日后梯度下降的学习打下基础。

    展开全文
  • 复杂函数求导/对数指数幂公式

    千次阅读 2018-11-05 11:22:03
    指数、对数公式https://wenku.baidu.com/view/69653d53f01dc281e53af0ba.html 求导公式... 复合函数求导法则https://baike.baidu.com/item/复合函数求导法则/15792114 复...

    指数、对数公式
    https://wenku.baidu.com/view/69653d53f01dc281e53af0ba.html

    求导公式
    https://wenku.baidu.com/view/65d5968b3c1ec5da51e270b8.html?from=search

    复合函数求导法则
    https://baike.baidu.com/item/复合函数求导法则/15792114

    复杂函数的求导,全部都是转换为复合函数的求导,并充分运用导数的四则运算:
    ( u(x) + v(x) )' = u'(x)v(x) + u(x)v'(x)
    (v(x)/u(x))' = (u(x)v'(x) - u'(x)v(x)) / u(x)^2

    例如
    1.  f(x) = (x^-1)' ?
         f(x) = (x^-1)' = (1/x)' = (x*1' - x'*1)/x^2 = -1/x^2
         利用了导数的四则运算
         可做作公式记住!
         
    2. f(x) = (e^-x)' ?
        f(x) = (e^-x)' = e^-x * (-x)' = -e^-x
        利用了复合函数求导法则,将(-x)作为函数自变量,则得到 (e^u)'=e^u, 其中u=-x, 再对u求导,u' = (-x)' = -1
        可做作公式记住!

    3. 逻辑斯谛颁函数求导=逻辑斯谛密度函数

     

     

     

    展开全文
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼我在做课设,现在时间很紧了……关于一个函数的反函数求导问题,用matlab弄出来的超复杂函数……函数的大概形式是:L_bc=f(k);我想求的是:k=F(L_bc),然后再求:F'(L_bc...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    我在做课设,现在时间很紧了……

    关于一个函数的反函数求导问题,用matlab弄出来的超复杂函数……

    函数的大概形式是:L_bc=f(k);

    我想求的是:k=F(L_bc),然后再求:F'(L_bc)的形式…………

    哦!这函数真的很复杂!

    函数形式如下:

    L_bc =

    ((2429/100*sin(37/60*pi - k) + 63/2*sin(k) - (2429/100*sin(37/60*pi - k) - 534/25)/(2*(2429/100*cos(37/60*pi - k) - 704/5)^2 + 2*(2429/100*sin(37/60*pi - k) - 534/25)^2)*((2429/100*cos(37/60*pi - k) - 704/5)^2 + (2429/100*sin(37/60*pi - k) - 534/25)^2 + 2757293742461079/137438953472) - 1/(2429/100*sin(37/60*pi - k) - 534/25)*(-1/(1/(2429/100*sin(37/60*pi - k) - 534/25)^2*(2429/100*cos(37/60*pi - k) - 704/5)^2 + 1)*((2429/100*sin(37/60*pi - k) - 534/25)^2/(2*(2429/100*cos(37/60*pi - k) - 704/5)^2 + 2*(2429/100*sin(37/60*pi - k) - 534/25)^2)^2*((2429/100*cos(37/60*pi - k) - 704/5)^2 + (2429/100*sin(37/60*pi - k) - 534/25)^2 + 2757293742461079/137438953472)^2 + 1/(2*(2429/100*cos(37/60*pi - k) - 704/5)^2 + 2*(2429/100*sin(37/60*pi - k) - 534/25)^2)^2*(2429/100*cos(37/60*pi - k) - 704/5)^2*((2429/100*cos(37/60*pi - k) - 704/5)^2 + (2429/100*sin(37/60*pi - k) - 534/25)^2 + 2757293742461079/137438953472)^2 - 2977196068016279/137438953472))^(1/2)*(2429/100*cos(37/60*pi - k) - 704/5))^2 + (2429/100*cos(37/60*pi - k) - 63/2*cos(k) + (-1/(1/(2429/100*sin(37/60*pi - k) - 534/25)^2*(2429/100*cos(37/60*pi - k) - 704/5)^2 + 1)*((2429/100*sin(37/60*pi - k) - 534/25)^2/(2*(2429/100*cos(37/60*pi - k) - 704/5)^2 + 2*(2429/100*sin(37/60*pi - k) - 534/25)^2)^2*((2429/100*cos(37/60*pi - k) - 704/5)^2 + (2429/100*sin(37/60*pi - k) - 534/25)^2 + 2757293742461079/137438953472)^2 + 1/(2*(2429/100*cos(37/60*pi - k) - 704/5)^2 + 2*(2429/100*sin(37/60*pi - k) - 534/25)^2)^2*(2429/100*cos(37/60*pi - k) - 704/5)^2*((2429/100*cos(37/60*pi - k) - 704/5)^2 + (2429/100*sin(37/60*pi - k) - 534/25)^2 + 2757293742461079/137438953472)^2 - 2977196068016279/137438953472))^(1/2) - 1/(2*(2429/100*cos(37/60*pi - k) - 704/5)^2 + 2*(2429/100*sin(37/60*pi - k) - 534/25)^2)*(2429/100*cos(37/60*pi - k) - 704/5)*((2429/100*cos(37/60*pi - k) - 704/5)^2 + (2429/100*sin(37/60*pi - k) - 534/25)^2 + 2757293742461079/137438953472))^2)^(1/2)

    万分感谢!万分感谢!

    展开全文
  • 高等数学——复杂函数求导方法

    千次阅读 2020-02-14 08:25:26
    上一篇文章我们复习了函数求导的定义和一些常见函数的导数,今天这篇文章我们回顾一下复杂函数的求导方法。先强调一下,今天的文章很重要,想要看懂机器学习各种公式推导,想要能够自己推一推各种公式,函数求导是...

    本文始发于个人公众号: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 ) v 2 ( 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 → 0 u ( x + Δ x ) Δ x ± lim ⁡ Δ x → 0 v ( 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)]=Δx0limΔx[u(x+Δx)±v(x+Δx)][u(x)±v(x)]=Δx0limΔxu(x+Δx)±Δx0limΔxv(x+Δx)=u(x)±v(x)

    第二个式子同样套用公式:

    [ u ( x ) v ( x ) ] ′ = lim ⁡ Δ x → 0 u ( x + Δ x ) v ( x + Δ x ) − u ( x ) v ( x ) Δ x = lim ⁡ Δ x → 0 u ( 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 → 0 v ( x + Δ x ) u ( x + Δ x ) − u ( x ) Δ x + lim ⁡ Δ x → 0 u ( 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)]=Δx0limΔxu(x+Δx)v(x+Δx)u(x)v(x)=Δx0limΔxu(x+Δx)v(x+Δx)u(x)v(x+Δx)+u(x)v(x+Δx)u(x)v(x)=Δx0limΔx(u(x+Δx)u(x))v(x+Δx)+u(x)(v(x+Δx)v(x))=Δx0limv(x+Δx)Δxu(x+Δx)u(x)+Δx0limu(x)Δxv(x+Δx)v(x)=v(x+Δx)u(x)+u(x)v(x)=u(x)v(x)+u(x)v(x)

    最后是第三个式子的推导,也并不复杂:

    [ u ( x ) v ( x ) ] = lim ⁡ Δ x → 0 u ( x + Δ x ) v ( x + Δ x ) − u ( x ) v ( x ) Δ x = lim ⁡ Δ x → 0 v ( x ) u ( x + Δ x ) − v ( x + Δ x ) u ( x ) v ( x + Δ x ) v ( x ) Δ x = lim ⁡ Δ x → 0 = lim ⁡ Δ x → 0 v ( x ) u ( x + Δ x ) − v ( x ) u ( x ) + v ( x ) u ( x ) − v ( x + Δ x ) u ( x ) v ( x + Δ x ) v ( x ) Δ x = lim ⁡ Δ x → 0 u ( x + Δ x ) − u ( x ) Δ x v ( x ) − v ( x + Δ x ) − v ( x ) Δ x u ( x ) v ( x + Δ x ) v ( x ) = u ′ ( x ) v ( x ) − u ( x ) v ′ ( x ) v 2 ( x ) \displaystyle \begin{aligned} \left[\frac{u(x)}{v(x)}\right] &= \lim_{\Delta x \to 0}\frac{\frac{u(x+\Delta x)}{v(x+\Delta x)} - \frac{u(x)}{v(x)}}{\Delta x} \\ &= \lim_{\Delta x \to 0}\frac{v(x)u(x+\Delta x)-v(x+\Delta x)u(x)}{v(x+\Delta x)v(x)\Delta x} \\ &=\lim_{\Delta x \to 0} \\ &= \lim_{\Delta x \to 0}\frac{v(x)u(x+\Delta x)-v(x)u(x)+v(x)u(x)-v(x+\Delta x)u(x)}{v(x+\Delta x)v(x)\Delta x} \\ &=\lim_{\Delta x \to 0} \frac{\frac{u(x+\Delta x)-u(x)}{\Delta x}v(x)-\frac{v(x+\Delta x)-v(x)}{\Delta x}u(x)}{v(x+\Delta x)v(x)}\\ &=\frac{u'(x)v(x)-u(x)v'(x)}{v^2(x)} \end{aligned} [v(x)u(x)]=Δx0limΔxv(x+Δx)u(x+Δx)v(x)u(x)=Δx0limv(x+Δx)v(x)Δxv(x)u(x+Δx)v(x+Δx)u(x)=Δx0lim=Δx0limv(x+Δx)v(x)Δxv(x)u(x+Δx)v(x)u(x)+v(x)u(x)v(x+Δx)u(x)=Δx0limv(x+Δx)v(x)Δxu(x+Δx)u(x)v(x)Δxv(x+Δx)v(x)u(x)=v2(x)u(x)v(x)u(x)v(x)


    反函数求导法则


    推导完了四则运算的求导法则,我们再来看一下反函数的求导法则。

    我们陷在了看结论,如果函数 x = f ( y ) x=f(y) x=f(y)在区间 I y I_y Iy内单调、可导并且 f ′ ( x ) ! = 0 f'(x)!=0 f(x)!=0,那么它的反函数 y = f − 1 ( x ) y=f^{-1}(x) y=f1(x)在区间 I x = { x ∣ x = f ( y ) , y ∈ I y } I_x=\{x|x=f(y), y\in I_y\} Ix={xx=f(y),yIy}内也可导,那么:

    [ f − 1 ( x ) ] ′ = 1 f ′ ( y ) \left[f^{-1}(x)\right]'=\frac{1}{f'(y)} [f1(x)]=f(y)1

    关于这个结论的证明很简单,因为 x = f ( y ) x=f(y) x=f(y)在区间内单调、可导,所以它的反函数 y = f − 1 ( x ) y=f^{-1}(x) y=f1(x)存在,并且也单调且连续。

    所以:

    Δ y = f − 1 ( x + Δ x ) − f − 1 x ≠ 0 Δ y Δ x = 1 Δ x Δ y = 1 f ′ ( y ) \begin{aligned} \Delta y=f^{-1}(x+\Delta x)-f^{-1}x \neq 0 \\ \frac{\Delta y}{\Delta x} = \frac{1}{\frac{\Delta x}{\Delta y}}=\frac{1}{f'(y)} \end{aligned} Δy=f1(x+Δx)f1x=0ΔxΔy=ΔyΔx1=f(y)1

    由于 y = f − 1 ( x ) y=f^{-1}(x) y=f1(x)连续, lim ⁡ Δ x → 0 Δ y = 0 \displaystyle\lim_{\Delta x \to 0}\Delta y=0 Δx0limΔy=0,所以上式成立。

    我们来看一个例子: x = sin ⁡ y , y ∈ [ − π 2 , π 2 ] x=\sin y, y\in \left[-\frac{\pi}{2}, \frac{\pi}{2} \right] x=siny,y[2π,2π],则 y = arcsin ⁡ x y=\arcsin x y=arcsinx是它的反函数,根据上面的公式,我们可以得到:

    ( arcsin ⁡ x ) ′ = 1 ( sin ⁡ y ) ′ = 1 cos ⁡ y (\arcsin x)'=\frac{1}{(\sin y)'}=\frac{1}{\cos y} (arcsinx)=(siny)1=cosy1

    由于 cos ⁡ y = 1 − sin ⁡ 2 y = 1 − x 2 \cos y= \sqrt{1-\sin^2 y} = \sqrt{1-x^2} cosy=1sin2y =1x2 ,代入上式可以得到:

    ( arcsin ⁡ x ) ′ = 1 1 − x 2 (\arcsin x)'=\frac{1}{\sqrt{1-x^2}} (arcsinx)=1x2 1

    利用同样的方法,我们还可以求出其他反三角函数的导数,由于这些并不太常用,所以我们就不多介绍了,感兴趣的同学可以自己利用导数的定义推导一下,我想应该也不难。


    复合函数求导


    这是最后一个法则,也是本篇文章的重点,因为经常用到。我们现在已经搞定了一些常见的函数,还搞定了常见函数加减乘除之后求导的结果,但是对于一些看起来比较复杂的函数,我们并不能一下写出它们的导数。

    比如说: sin ⁡ ( x 2 + 3 x ) \sin (x^2+3x) sin(x2+3x),比如 ln ⁡ ( 3 x − 1 ) \ln (3x -1) ln(3x1)等等,这些函数基本上都可以确定是连续并且可导的,但是我们一下子并不能写出它们的导数,而且要通过导数的定义推导也非常麻烦,对于这些导数就需要用到今天的重头戏,也就是复合函数的求导法则了。

    对于复合函数而言,拥有如下法则:如果函数 u = g ( x ) u=g(x) u=g(x)在点x处可导,并且 y = f ( u ) y=f(u) y=f(u)在点 u = g ( x ) u=g(x) u=g(x)处也可导,那么复合函数 y = f [ g ( x ) ] y=f[g(x)] y=f[g(x)]在x处可导,它的导数为:

    d y d x = f ′ ( u ) ⋅ g ′ ( x ) = d y d u ⋅ d u d x \frac{dy}{dx}=f'(u)\cdot g'(x)=\frac{dy}{du}\cdot \frac{du}{dx} dxdy=f(u)g(x)=dudydxdu

    如果复合函数的数量更多也是一样的,我们按照顺序依次相乘即可。由于公式的形式像是一根链条一样依次所以,复合函数求导法则也叫链式求导法则。在举例之前,我们先来证明一下。

    由于 y = f ( u ) y=f(u) y=f(u)在点u处可导,因此

    lim ⁡ Δ u → 0 Δ y Δ u = f ′ ( u ) \displaystyle\lim_{\Delta u \to 0}\frac{\Delta y}{\Delta u} = f'(u) Δu0limΔuΔy=f(u)

    因为 f ′ ( u ) f'(u) f(u)存在,所以我们将它变形为:

    Δ y Δ u = f ′ ( u ) + a \frac{\Delta y}{\Delta u} = f'(u) + a ΔuΔy=f(u)+a

    其中a是 Δ u → 0 \Delta u \to 0 Δu0时的无穷小,我们对两边同时乘上 Δ u \Delta u Δu,可以得到:

    Δ y = f ′ ( u ) Δ u + a ⋅ Δ u \Delta y = f'(u)\Delta u + a\cdot \Delta u Δy=f(u)Δu+aΔu

    上式当中 Δ u \Delta u Δu和a都是无穷小,所以当 Δ u → 0 \Delta u \to 0 Δu0时, Δ y = 0 \Delta y=0 Δy=0,我们对上式两边同时除以 Δ x \Delta x Δx,得:

    Δ y Δ x = f ′ ( u ) Δ u Δ x + a ⋅ Δ u Δ x \displaystyle\frac{\Delta y}{\Delta x}=f'(u)\frac{\Delta u}{\Delta x} + a\cdot\frac{\Delta u}{\Delta x} ΔxΔy=f(u)ΔxΔu+aΔxΔu

    于是:

    lim ⁡ Δ x → 0 Δ y Δ x = lim ⁡ Δ x → 0 [ f ′ ( u ) Δ u Δ x + a Δ u Δ x ] \displaystyle \lim_{\Delta x \to 0}\frac{\Delta y}{\Delta x}=\lim_{\Delta x \to 0}[f'(u)\frac{\Delta u}{\Delta x}+a\frac{\Delta u}{\Delta x}] Δx0limΔxΔy=Δx0lim[f(u)ΔxΔu+aΔxΔu]

    又根据 u = g ( x ) u=g(x) u=g(x)在点x处可导,所以有:

    lim ⁡ Δ x → 0 Δ u Δ x = g ′ ( x ) \displaystyle \lim_{\Delta x \to 0}\frac{\Delta u}{\Delta x}=g'(x) Δx0limΔxΔu=g(x)

    我们代入,就可以得到:

    lim ⁡ Δ x → 0 Δ y Δ x = f ′ ( u ) ⋅ Δ u Δ x = f ′ ( u ) ⋅ g ′ ( x ) \displaystyle \lim_{\Delta x \to 0}\frac{\Delta y}{\Delta x}=f'(u)\cdot \frac{\Delta u}{\Delta x}=f'(u)\cdot g'(x) Δx0limΔxΔy=f(u)ΔxΔu=f(u)g(x)

    其实我们都知道相比于公式的证明,公式的运用更加重要,下面我们就来看两个例子,来巩固一下这个链式求导法则:

    y = ln ⁡ sin ⁡ 3 x y=\ln \sin 3x y=lnsin3x,求 d y d x \frac{dy}{dx} dxdy

    我们令 u = 3 x , g = sin ⁡ u u=3x, g=\sin u u=3x,g=sinu

    所以:

    d y d x = d y d g ⋅ d g d u ⋅ d u d x = 1 g ⋅ cos ⁡ u ⋅ 3 = 3 cos ⁡ 3 x sin ⁡ 3 x = 3 cot ⁡ 3 x \begin{aligned} \frac{dy}{dx}&=\frac{dy}{dg}\cdot \frac{dg}{du}\cdot\frac{du}{dx}\\ &=\frac{1}{g}\cdot \cos u\cdot 3\\ &=3\frac{\cos 3x}{\sin 3x} \\ &=3 \cot 3x \end{aligned} dxdy=dgdydudgdxdu=g1cosu3=3sin3xcos3x=3cot3x

    还记得我们之前推导线性回归时候用到的均方差的公式吗:

    f ( θ ) = 1 m ( θ X − Y ) 2 f(\theta) = \frac{1}{m}(\theta X-Y)^2 f(θ)=m1(θXY)2

    我们来试着学以致用,求一下 f ( θ ) f(\theta) f(θ)的导数,在机器学习当中,X和Y都是样本都是已知的参数,要求的是 θ \theta θ,所以我们对 θ \theta θ求导:

    f ′ ( θ ) = 1 m ⋅ 2 ⋅ ( θ X − Y ) ⋅ X = 2 m X T ( θ X − Y ) \begin{aligned} f'(\theta) &= \frac{1}{m}\cdot 2 \cdot (\theta X - Y)\cdot X \\ &=\frac{2}{m}X^T(\theta X - Y) \end{aligned} f(θ)=m12(θXY)X=m2XT(θXY)

    这个结果其实就是之前我们说的梯度,梯度本来就是由导数计算得到的,所以理解了链式求导的公式,可以再回过头看看之前线性回归和梯度推导的公式,相信会有更深刻的体会。

    今天的文章篇幅有些长,但是除去证明之后,剩下的内容并不多,重要的是它的应用范围很广,所以希望大家都能学会。

    如果觉得有所收获,请顺手扫码点个关注吧,你们的举手之劳对我来说很重要。

    展开全文
  • 求导法则: 三角函数运算 指数和对数函数相关运算 隐函数求导 参数方程求导 幂指函数求导 复杂表达式函数求导
  • 深度学习:Sigmoid函数与损失函数求导

    万次阅读 多人点赞 2017-07-18 14:22:22
    2sigmoid函数求导 3神经网络损失函数求导 1、sigmoid函数​ sigmoid函数,也就是s型曲线函数,如下: 函数:f(z)=11+e−z 函数:f(z)=\frac{1}{1+e^{-z}} 导数:f′(z)=f(z)(1−f(z)) 导数:f'(z)=f(z)(1-f(z)) ​ ...
  • 2sigmoid函数求导3神经网络损失函数求导 1、sigmoid函数 ​ sigmoid函数,也就是s型曲线函数,如下:  函数:f(z)=11+e−z 导数:f′(z)=f(z)(1−f(z)) ​ 上面是我们常见的...
  • 函数y=f(x)在点x0的某个邻域内有定义,当自变量x在x0处有增量Δx,(x0+Δx)也在该邻域内时,相应地函数取得增量Δy=f(x0+Δx)-f(x0);如果Δy与Δx之比当Δx→0时极限存在,则称函数y=f(x)在点x0处可导...
  • 简单易懂的softmax交叉熵损失函数求导

    万次阅读 多人点赞 2017-09-20 22:23:33
    来写一个softmax求导的推导过程,不仅可以给自己理清思路,还可以造福大众,岂不美哉~ softmax经常被添加在分类任务的神经网络中的输出层,神经网络的反向传播中关键的步骤就是求导,从这个过程也可以更深刻地理解...
  • softmax 函数求导

    千次阅读 2018-07-13 09:23:38
    softmax 函数softmax(柔性最大值)函数,一般在神经网络中, softmax可以作为分类任务的输出层。其实可以认为softmax输出的是几个类别选择的概率,比如我有一个分类任务,要分为三个类,softmax函数可以根据它们相对...
  • 函数:1.1 从指数函数到sigmoid​ 首先我们来画出指数函数的基本图形:​ 从上图,我们得到了这样的几个信息,指数函数过(0,1)点,单调递增/递减,定义域为(−∞,+∞),值域为(0,+∞),再来我们看一下sigmoid函数的...
  • L_UD_LOS_L_t0 = @(r)exp(Coef_U*Int_UD_LOS_L_t0(r)) 然后后面想将这个匿名函数对r求导,上网查到只能先将匿名函数转化为符号函数,对符号函数求导后,再转化回匿名函数,所以想首先将第三行得到的表达式先转化为...
  • 函数求导的链式规则,我记得f(g(x))' = f'(g)*g'(x)。我甚至还记得更便于理解记忆的形式:df/dx = df/dg * dg/dx. 没错,看上去我记得很清楚。可是实际工作中碰到的函数是这样的: 已知: f(g1, g2,...., gm) //...
  • 动机作者 Yangtf最近一直在求各种导数,于是就想写一个自动求导的算法。 其实python中的theano就有这个功能,但想了想,思路不难,于是就动手实现了一个。本来想用c++实现了,但发现c++写各种问题,内存管理、操作符...
  • Matlab使用杂谈1-微分方程求解及函数求导计时代码tic toc 计时器微分方程求解dsolve函数ODE解微分方程ode45的具体使用Function实例编写ode45求偏微分方程函数求导参考文献 计时代码 tic toc 计时器 tic 代码 toc ...
  • 匿名函数是MATLAB7.0以后引入的新概念,可以用其来替代以往各种的函数,尤其是复杂函数的表达形式。例如,对于一个复杂函数 y=f(x),倘若f(x)的表达式非常复杂,在后续代码中,调用这个函数的时候,只需要用y(1)即可...
  • 学习神经网络的反向传播过程中,涉及到对sigmoid函数进行求导、出来混总要还的。。丢掉的高数还是得捡起来,记录一下sigmoid函数的推导过程吧。 前置准备 求导的导数法则:若有g(x)=1f(x)g(x)=\frac{1}{f(x)}g(x)=f...
  • 对标量自动求导首先,如果out.backward()中的out是一个标量的话(相当于一个神经网络有一个样本,这个样本有两个属性,神经网络有一个输出)那么此时我的backward函数是不需要输入任何参数的。import torchfrom ...
  • 机器学习和深度学习中比较重要的内容便是计算图,主流的框架如tensorflow,pytorch都是以计算图为主要框架。...我们先定义表达式(由初等函数构造而成),在表达式构造完成之前不进行计算。完成后,传入自变...
  • 转自:简单易懂的softmax交叉熵损失函数求导 softmax经常被添加在分类任务的神经网络中的输出层,神经网络的反向传播中关键的步骤就是求导,从这个过程也可以更深刻地理解反向传播的过程,还可以对梯度传播的问题有...
  • 本文给出两种证明方式,第一种高等数学(复杂),第二种维基百科(简单) 一:同济大学高等数学教材给的证明: 二:维基百科给的证明 以下给出一个简单的证明: 设函数和, 其中 x 为自变量,f(g(x))在个...
  • 主要是来自UFLDL上的介绍,之前以为这个没啥用处,没管过,并且大部分涉及到矩阵求导的时候也能求出来,不过我遇到带点乘的时候,就犯晕了,用这个方法就可以完全解决,通过举例子来吧,前提是你对前馈神经网络的...
  • 【AI数学原理】函数求导(精髓篇)

    千次阅读 2018-05-24 16:35:09
    用梯度下降算法训练神经网络的时候,求导过程是其中的关键计算之一。使用Tensorflow的用户会发现,神经网络的反向传播计算时用户不用考虑的,在给足便捷性的同时也抑制了用户对反向传播的探索心态(博主深受其害)。...
  • 求导网站 可以展示具体步骤,和每一个步骤使用的原理,简直不能再完美,这还是我再做LeetCode算法题的时候无意间遇到的
  • matlab-高数 compose 复合函数求导

    千次阅读 2019-02-17 15:23:00
    h=compose(g,f) % 函数组合,将f作为g的自变量 i=diff(h)   result f = sin(x) g = x^2 h = sin(x)^2 i = 2*cos(x)*sin(x) >>   resource [文档] ww2.mathworks....
  • 1.变限积分函数求导变限积分函数求导简单的分为三类: 第一类(或者形如 这种)可以直接得到 ,第二、第三类被积函数里有x,由于需要对x求导,因此不能直接像第一类一样简单,需要转化一下,其中,第三类需要换元,换元三...
  • 这里的求导是对激活函数求导。而softmax函数是一个多输入多输出的函数,这里提到的求导是对经过softmax函数后进行交叉熵计算得到的损失函数求导。 sigmoid函数及求导 sigmoid激活函数形式为: σ(x)=sigmoid(x)=11+e...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,619
精华内容 7,847
关键字:

复杂函数如何求导