吴恩达深度学习Course1-Week(3)

吴恩达深度学习Course1-Week(3)

文章目录

  • 吴恩达深度学习Course1-Week(3)
    • 一、什么是神经网络Neural Network?
    • (1)由逻辑回归到神经网络
    • (2)神经网络的符号规定
    • (3)向量化Vectorization
    • (4)向量化后伪编程Programing
    • 二、激活函数Active Function
    • (1)常用的四种激活函数
    • (2)四种激活函数的导数Derivatives
    • 三、梯度下降法Gradient Descent
    • (1)梯度下降法的推导
    • (2)梯度下降法小结
    • (3)前向传播Forward Propagate Formula和反向传播Backward Propagate Formula公式
    • 四、参数初始化
    • 五、构建神经网络的一般方法


一、什么是神经网络Neural Network?

(1)由逻辑回归到神经网络

由逻辑回归logistic regression 的结构可以类推多层神经网络,例如下图所示的两层神经网络,包含一层hidden layer,该图上半部分是逻辑回归结构图,下半部分是双层神经网络结构图。

吴恩达深度学习Course1-Week(3)_第1张图片

(2)神经网络的符号规定

例如下图所示的双层神经网络,包含三层输入层(input layer),隐藏层(hidden layer),输出层(output layer),输入层仅仅是a[0]=x,故在计算神经网络层数时输入层往往不记为一层。

  • 每一层的输出记为a[i],i=0、1、2…
  • 下一层的输入是上一层的输出a[i-1],i=0、1、2…

吴恩达深度学习Course1-Week(3)_第2张图片

每一个神经元节点的计算都包含两部分,第一部分是z=wTx + b ,第二部分是a=σ(z)

吴恩达深度学习Course1-Week(3)_第3张图片

(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

吴恩达深度学习Course1-Week(3)_第4张图片

(2)四种激活函数的导数Derivatives

1、sigmoid

g(z)’ = a(1-a)

吴恩达深度学习Course1-Week(3)_第5张图片
2、tanh

g(z)’ = 1-a^2

吴恩达深度学习Course1-Week(3)_第6张图片
3、ReLU and leakyReLU
吴恩达深度学习Course1-Week(3)_第7张图片


三、梯度下降法Gradient Descent

(1)梯度下降法的推导

假设:损失函数与logestic regression 一致,激活函数采用sigmoid

(2)梯度下降法小结

吴恩达深度学习Course1-Week(3)_第8张图片

(3)前向传播Forward Propagate Formula和反向传播Backward Propagate Formula公式

可以直接记忆


四、参数初始化

参数初始化不能全为0,这样多层的神经网络就全相当于一层。
参数初始化要尽可能小,这样激活函数的导数值较大,梯度下降法训练收敛较快。
参数初始化尽可能随机。

吴恩达深度学习Course1-Week(3)_第9张图片

五、构建神经网络的一般方法

构建神经网络的一般方法是:

  • 定义神经网络结构(输入单元的数量,隐藏单元的数量等)。
  • 初始化模型的参数
  • 循环
    实施前向传播
    计算损失
    实现向后传播
    更新参数(梯度下降)

你可能感兴趣的:(DeepLearning,神经网络,深度学习,机器学习)