复合函数求导法则

高等数学——复杂函数的求导方法

瘦欲@ 提交于 2020-02-14 08:57:08
本文始发于个人公众号: TechFlow,原创不易,求个关注 上一篇文章我们复习了函数求导的定义和一些常见函数的导数,今天这篇文章我们回顾一下复杂函数的求导方法。先强调一下,今天的文章很重要,想要看懂机器学习各种公式推导,想要能够自己推一推各种公式,函数求导是基础中的基础,在算法这个领域,它比积分要重要得多。 我们先来看第一种情况:多个函数进行四则运算的导数。 函数四则运算求导法则 我们假设 \(u=u(x)\) 和 \(v=v(x)\) 都在x点有导数,那么它们进行加减乘除四则运算之后的结果的导数有如下性质: \[ \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} \] 我们来看一下证明过程,熟悉证明过程并不是炫技,除了能加深对公式的理解之外,更重要的是防止遗忘。即使以后真的不记得公式的细节了,也可以临时推导一下,这是学算法和数学很重要的技巧。 我们先来看第一个,第一个很容易证明,我们直接套一下导数的公式即可:

[C1W3] Neural Networks and Deep Learning - Shallow neural networks

匿名 (未验证) 提交于 2019-12-02 23:47:01
神经网络中,我们将使用上标方括号的形式表示这些值来自于哪一层,有趣的是在约定俗成的符号传统中,在这里你所看到的这个例子,只能叫做一个两层的神经网络。原因是输入层是不算入总层数内,所以隐藏层是第一层,输出层是第二层。第二个惯例是我们将输入层称为第零层,所以在技术上,这仍然是一个三层的神经网络,因为这里有输入层、隐藏层,还有输出层。但是在传统的符号使用中,如果你阅读研究论文或者在这门课中,你会看到人们将这个神经网络称为一个两层的神经网络,因为我们不将输入层看作一个标准的层。 单个样本时,向量化图示 单个样本时,运用四行代码计算出一个简单神经网络的输出(预测)。 上一节使用的是单个样本,如果把单个样本的向量横向堆叠成矩阵,就可以计算全部样本的神经网络输出(预测)。 Pros and cons of activation functions 结果表明,如果在隐藏层上使用 tanh (双曲正切)函数效果总是优于 sigmoid 函数。因为函数值域在 -1 和 +1 的激活函数,其均值是更接近 0 均值的,而不是0.5,这会使下一层学习简单一点。 在讨论优化算法时,有一点要说明:我基本已经不用 sigmoid 激活函数了,tanh 函数在所有场合都优于 sigmoid 函数。 但有一个例外:在二分类的问题中,对于输出层,想让的数值介于 0 和 1 之间,而不是在 -1 和 +1 之间