本文是Deep Learning Specialization系列课程的第1课《Neural Networks and Deep Learning》中Deep Neural Network部分的学习笔记。
前面学习的内容是1层的逻辑回归和2层的简单神经网络,这节主要是来做一个归纳,以学习深度(L层)神经网络。
1. 深度神经网络
首先,下面这张图介绍的就是我们学习的几种神经网络的类型,本文主要讲述深度神经网络。
在深度神经网络中,各参数的定义如下:
- [ l ] ^{[l]} [l]是指神经网络的层数,比如下图中有3个隐藏层和1个输出层,所以 l = 4 l = 4 l=4
- n [ l ] n^{[l]} n[l]是指第 l l l层网络的节点个数,下图中 n [ 1 ] = 5 n^{[1]} = 5 n[1]=5, n [ 2 ] = 5 n^{[2]} = 5 n[2]=5, n [ 3 ] = 3 n^{[3]} = 3 n[3]=3, n [ 4 ] = 1 n^{[4]} = 1 n[4]=1。其中输入层为 n [ 0 ] = 3 n^{[0]} = 3 n[0]=3。
- w [ l ] w^{[l]} w[l]和 b [ l ] b^{[l]} b[l]是第 l l l层的 z [ l ] z^{[l]} z[l]函数的参数
- a [ l ] a^{[l]} a[l]是指第 l l l层网络的激活函数输出, a [ l ] = g [ l ] ( z [ l ] ) a^{[l]} = g^{[l]}(z^{[l]}) a[l]=g[l](z[l]),其中 g g g为第 l l l层应用的损失函数
2. 正向传播
下面先以一个数据集为例进行深度神经网络的正向传播计算。
第一层神经网络:
- z [ 1 ] = w [ 1 ] x + b [ 1 ] z^{[1]} = w^{[1]} x + b^{[1]} z[1]=w[1]x+b[1]
- a [ 1 ] = g [ 1 ] ( z [ 1 ] ) a^{[1]} = g^{[1]}(z^{[1]}) a[1]=g[1](z