吴恩达深度学习课程笔记-神经网络编程基础-导数

吴恩达深度学习课程笔记-神经网络编程基础-导数

吴恩达深度学习课程笔记

第二周:神经网络编程基础(Basics of Neural Network programming)

2.5 导数(Derivatives)

本节主要是帮助大家获得对微积分和导数直观的理解。或许你认为自从大学毕以后你再也没有接触微积分,如果你顾虑这点,请不要担心。为了高效应用神经网络和深度学习,你并不需要非常深入理解微积分,你只需要直观地认识微积分,用来构建和应用这些算法。

enter image description here

以函数 f(a) = 3a 为例,它是一条直线。假定 a=2,那么 f(a)=6,我们稍微改变一点点 a 的值,假设变为 2.001,这时 a 将向右做微小的移动,此时 f(a)=6.003。也就是说如果 a 向右移动 0.001,则 f(a) 增加 0.003,即 f(a) 的增量是 a 的 3 倍,因此我们说函数 f(a)a=2 时的导数或者斜率为 3。更正式的斜率的定义为上图中绿色小三角形的高除以宽,即斜率等于 0.003 除以 0.001,等于3。

如果我们给 a 换一个值,用同样的方法,仍可以得到在该点的导数或者斜率为 3。

此处我们讲解导数时是将 a 偏移了 0.001,实际上导数的定义是将 a 右移一个无限小的值,同样可以证明 f(a) 会增加 3 倍于这个无限小的值。一种证明方式是无论将小三角形画在哪里,它的高除以宽总是 3。

f(a) 的导数用符号表示即为:

    \[\frac {df(a)}{da} = 3\]

上一篇:吴恩达深度学习课程笔记-神经网络编程基础-梯度下降法

下一篇:吴恩达深度学习课程笔记-神经网络编程基础-更多导数的例子

发表评论

电子邮件地址不会被公开。 必填项已用*标注