吴恩达深度学习课程学习笔记第四周

前向传播-单样本神经网络的输出

第一层的传播过程如下:

 第二层的传播过程如下:

对其向量化:

x(3,1):3个特征,一个样本,为一个列向量 

W^{\left [ 1 \right ]}\left ( 4,3 \right ):根据输入的行维度确定W的列维度,本层神经元的个数确定行维度

b^{\left [ 1 \right ]}(4,1):根据本层神经元个数的个数确定行维度,列维度始终为1

z^{\left [ 1 \right ]},a^{\left [ 1 \right ]}的维度都为(4,1)

a^{\left [ 2 \right ]}是一个标量,也可理解为(1,1)

输入层
我们把输入矩阵X记为a[0]。通常我们只计算隐藏层输出和输出层的输出,输入层是不用计算的。故把输入层层数上标记为0,即a[0],也因此把这种单隐藏层神经网络成为两层神经网络

隐藏层
把隐藏层输出记为 a[1]。用下标表示第几个神经元(下标从1开始)。例如 a_{1}^{\left [ 1 \right ]} 表示隐藏层第1个神经元,a_{2}^{\left [ 1 \right ]} 表示隐藏层第2个神经元……这样,隐藏层的4个神经元就可以将其输出 a[1] 写成矩阵的形式

前向传播-多样本神经网络的输出:

假设输入样本有m个,多样本的向量化过程如下图所示 ,其过程是对单样本中的输入向量做了“列扩展”,即把每个样本作为一列放入输入矩阵中,由此我们很容易得到W^{1}W^{2}b^{\left [ 1 \right ]}b^{\left [ 2 \right ]}的维度都不变(这一点在上面关于维度的说明已有解释),第一层的输出(这里用A^{\left [ 1 \right ]}]表示)的维度变成了(4,m),每一列即为每个样本产生的输出;第二层的输出(这里用A^{\left [ 2 \right ]}表示)的维度变成了(1,m),每一列即为每个样本产生的输出。

下面是关于m个样本前向传播的for循环形式和向量化形式。 

反向传播-神经网络的梯度下降 :

这里写图片描述

激活函数

sigmoid函数:除了输出层是个二分类问题,几乎不使用 

tnah函数:此函数适用非常优秀,几乎所有的场合

 函数选择

对于分类问题,输出层的激活函数一般会选择sigmoid函数。但是对于隐藏层的激活函数,tanh函数的表现会比sigmoid函数好一些。实际应用中,通常会会选择使用ReLU或者Leaky ReLU函数,保证梯度下降速度不会太小。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值