吴恩达深度学习Course1-Week(3)
文章目录
一、什么是神经网络Neural Network?
(1)由逻辑回归到神经网络
由逻辑回归logistic regression 的结构可以类推多层神经网络,例如下图所示的两层神经网络,包含一层hidden layer,该图上半部分是逻辑回归结构图,下半部分是双层神经网络结构图。
(2)神经网络的符号规定
例如下图所示的双层神经网络,包含三层输入层(input layer),隐藏层(hidden layer),输出层(output layer),输入层仅仅是a[0]=x,故在计算神经网络层数时输入层往往不记为一层。
- 每一层的输出记为a[i],i=0、1、2…
- 下一层的输入是上一层的输出a[i-1],i=0、1、2…
每一个神经元节点的计算都包含两部分,第一部分是z=wTx + b ,第二部分是a=σ(z)
(3)向量化Vectorization
中间层的四个神经元均与输入连接,则X是x1,x2,x3构成的列向量。因此W是w1T,w2T,w3T,w4T构成的矩阵。如图所示。
将两层合起来看时,隐藏层相当于没有,这里需要注意每个矩阵的维数。
(4)向量化后伪编程Programing
用(3)中的向量化结果代替for循环,一次计算一个样本对应的一层神经元的前向传播
简要调整,将所有样本xi都写成列向量的形式堆叠起来,这样向量化的结果可以一次计算m个样本对应的一层神经元的前向传播。
小结上述向量化伪编程结果。
二、激活函数Active Function
(1)常用的四种激活函数
分别是:
- sigmoid
- tanh
- ReLU
- leaky ReLU
(2)四种激活函数的导数Derivatives
1、sigmoid
g(z)’ = a(1-a)
2、tanh
g(z)’ = 1-a^2
3、ReLU and leakyReLU
三、梯度下降法Gradient Descent
(1)梯度下降法的推导
假设:损失函数与logestic regression 一致,激活函数采用sigmoid
(2)梯度下降法小结
(3)前向传播Forward Propagate Formula和反向传播Backward Propagate Formula公式
可以直接记忆
<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">
四、参数初始化
参数初始化不能全为0,这样多层的神经网络就全相当于一层。
参数初始化要尽可能小,这样激活函数的导数值较大,梯度下降法训练收敛较快。
参数初始化尽可能随机。
五、构建神经网络的一般方法
构建神经网络的一般方法是:
- 定义神经网络结构(输入单元的数量,隐藏单元的数量等)。
- 初始化模型的参数
- 循环:
实施前向传播
计算损失
实现向后传播
更新参数(梯度下降)