浅层神经网络 Shallow neural network【第二周】

1.1神经网络概述(Neural Network Overview) 

^{[m]}表示第m层网络中节点相关的数,节点的集合被称为第m层网络。

1.2神经网络的表示 (Neural Network Representation)

隐藏层:在一个神经网络中,当你使用监督学习训练它时,训练集包含了输入x和目标输出y,所以术语隐藏层的含义是在训练集中,这些中间结点的准确值我们是不知道的,即我们看不到它们在训练集中应具有的值。

1.3计算一个神经网络的输出(Computing a Neural Network's output)

1.4多样本向量化(Vectorizing across multiple examples)

1.5向量化实现的解释(Justification for vectorized implementation)

1.6激活函数(Activation functions)

a=\sigma (z)=\frac{1}{1+e^{-z}}   (除了输出层是一个二分类问题基本不会用到)

a=tanh(z)=\frac{e^{z}-e^{-z}}{e^{z}+e^{-z}}    (几乎适用于所有场合, 值域位于-1和1之间)

        sigmoid函数和tanh函数两者共同的缺点是,在z特别大或者特别小的情况下,导数的梯度或者函数的斜率会变得特别小,最后就会接近于0,导致降低梯度下降的速度。

修正线性单元的函数(ReLu)a=max(0,z)(如果不确定用哪个激活函数就用它或者Leaky ReLu)

(Leaky ReLu)a=max(0.01z,z)

        选择激活函数的经验法则:如果输出是0、1值(二分类问题),则输出层选择sigmoid函数,然后其他的所有单元都选择Relu函数。这是很多激活函数的默认选择,如果在隐藏层上不确定使用哪个激活函数,那么通常会使用Relu激活函数。有时,也会使用tanh激活函数,但是Relu的一个优点是:当z是负值的时候,导数等于0。

1.7为什么需要非线性激活函数?(why need a nonlinear activation function)

        不能在隐藏层用线性激活函数,可以用ReLU或者tanh或者leaky ReLU 或者其他的非线性激活函数,唯一可以用线性激活函数的通常就是输出层。

1.8激活函数的导数(Derivatives of activation functions)

1.9神经网络的梯度下载(Gradient descent for neural networks)

forward propagation:

z^{[1]}=W^{[1]}x+b^{[1]}

a^{[1]}=g^{[1]}(z^{[1]})

z^{[2]}=W^{[2]}a^{[1]}+b^{[2]}

a^{[2]}=g^{[2]}(z^{[2]})=\sigma (z^{[2]})

back propagation

dz^{[2]}=A^{[2]}-Y,Y=[y^{[1]} y^{[2]}...y^{[m]}]

dw^{[2]}=\frac{1}{m}dz^{[2]}A^{[1]T}

db^{[2]}=\frac{1}{m}np.sum(dz^{[2]},axis=1,keepdims=True)

dz^{[1]}=W^{[2]T}dz^{[2]}*g^{[1]'}*(z^{[1]})

dW^{[1]}=\frac{1}{m}dz^{[1]}x^{T}

db^{[1]}=\frac{1}{m}np.sum(dz^{[1]},axis=1,keepdims=True)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值