吴恩达深度学习-神经网络基础(浅层神经网络)

第三周 浅层神经网络:

3.1 神经网络概览
3.2 神经网络表示

loss function L(a,y)
神经网络通过输入层,隐藏层和输出层。
视频中激活函数指的就是sigmoid函数

神经网络的表示.png

3.3 计算神经网络的输出

其中,x表示输入特征,a表示每个神经元的输出,w表示特征的权重,上标表示神经网络的层数(隐藏层为1),下标表示该层的第几个神经元。


神经网络的输出.png

3.4 多样本向量化
3.5 向量化实现的解释

其中多样本是从单样本进行推广矩阵来的,另外再计算的过程中不要使用For循环的形式,因为这太低效了。

3.6 激活函数

这里除了sigmoid函数外,另外介绍了tanh函数作为激活函数
吴恩达在视频中说,在讨论优化算法时,有一点要说明:我基本已经不用sigmoid激活函数了,tanh函数在所有场合都优于sigmoid函数。不过再二分类问题中因为输出的结果还是0或者1,所以需要使用sigmoid激活函数

这有一些选择激活函数的经验法则:
如果输出是0、1值(二分类问题),则输出层选择sigmoid函数,然后其它的所有单元都选择Relu函数。

快速概括一下不同激活函数的过程和结论:
sigmoid激活函数:除了输出层是一个二分类问题基本不会用它。
tanh激活函数:tanh是非常优秀的,几乎适合所有场合。
ReLu激活函数:最常用的默认函数,,如果不确定用哪个激活函数,就使用ReLu或者Leaky ReLu。

3.7 为什么需要非线性激活函数?

实际上,在我理解,就是如果使用了非线性激活函数,那么中间的很多隐藏层将起不到作用。

因为如果你是用线性激活函数或者叫恒等激励函数,那么神经网络只是把输入线性组合再输出。总而言之,不能在隐藏层用线性激活函数,可以用ReLU或者tanh或者leaky ReLU或者其他的非线性激活函数,唯一可以用线性激活函数的通常就是输出层;

3.8 激活函数的导数
主要是求三个激活函数,sigmoid、tanh和Relu函数的导数。


激活函数sigmoid导数.png

激活函数tanh导数.png

激活函数Relu导数.png

3.9 神经网络的梯度下降法
3.10 (选修)直观理解反向传播
3.11 随机初始化

参考链接:
深度学习
Andrew-NG
deeplearning-assignment
stanford cs20课程

你可能感兴趣的:(吴恩达深度学习-神经网络基础(浅层神经网络))