吴恩达 deep learning 浅层神经网络

神经网络概览

[]表示不同的层
x ( i ) x^{(i)} x(i)表示第i个数据

神经网络的表示

简单的神经网络
a [ i ] a^{[i]} a[i]表示第i层的激活值
w [ i ] , b [ i ] w^{[i]} ,b^{[i]} w[i]b[i]表示第i层的参数
w [ 1 ] w^{[1]} w[1]是4*3的矩阵,4表示4个隐藏单元,3表示3个输入

计算神经网络的输出

神经网络的计算过程

向量化之后的计算过程

多个例子中的向量化

向量化的实现,通过向量化可以更快的实现神经网络的计算

激活函数

几种不同的激活函数

tanh激活函数几乎在所有场合由于sigmoid,在做二分类的时候,输出层使用sigmoid函数
tanh和sigmoid有一个缺点就是如果z很大或者很小,那么导数的梯度可能就会很小,这就会导致梯度下降很慢
ReLU 修正性单元 缺点是当z为负的时候,导数等于零
Leaky ReLU 解决上述问题 这两者的优点是激活函数的斜率和0差得很远,在实践中使用ReLU激活函数,神经网络的训练会快很多,虽然ReLU有一半的斜率为0,当有足够多的隐藏单元,令z>0

为什么需要非线性激活函数


如果使用线性激活函数,那么神经网络只是把输入线性组合在输出

激活函数的导数

Sigmoid函数的导数

Tanh函数的导数

ReLU和Leaky ReLu导数

神经网络的梯度下降

神经网络梯度下降

正向传播和反向传播
keepdims=True 保证输出的是矩阵

随机初始化

当隐藏单元的参数设置为0时,通过多次迭代隐藏单元还是对称的,都在计算完全一样的函数,这样多个隐藏单元没有意义

将w*0.01是为了尽可能的是输出小,使得z的值位于sigmoid和tanh激活函数的0附近,0附近的梯度较大,可以提高神经网络的速度

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值