码迷,mamicode.com
首页 > 其他好文 > 详细

深度学习——神经网络

时间:2018-03-29 00:02:42      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:深度   公式   网络层   意义   不能   rand   oid   .com   height   

1. 神经网络层数

= 隐层数+输出层(1)

输入不算是一层,可以说是第0层

W[1]可以用来表示是第1层的参数

隐层:在网络中是看不到它的

激活值:当前层会传递给下一层的值如a[0]表示输入层会传给第一层的值

2. 一层中有多个神经元,然后它们可以做相同的事

3.几种激活函数:

sigmoid: a = 1/(1+e^-z)  只用于二元分类输出层

tanh: a = (e^z - e^-z)/(e^z + e^-z)  缺点:和simoid一样当z很大/小时斜率趋于0,使得梯度下降效果弱

ReLU:a = max(0,z)  一般会采用这个

4.为什么要用非线性激活函数

线性函数得出的关系比较简单,不足以描述现实中复杂的关系

5. 不能把所有变量都初始化为0

如果把w初始化为0,那么多个神经元的计算就会是一样的(对称性),归纳可得不管多少次后也是一样的结果。则多个神经元也变得没有意义

随机初始化W=np.randm.radn((2,2))*0.01 这里0.01是因为希望得到的W不要太大,因为激活函数在变量绝对值较大的位置变化比较平缓

6. 反向计算求导

计算dz[1]时把a[1]=g[1](z[1])代入z[2]的公式中

技术分享图片

深度学习——神经网络

标签:深度   公式   网络层   意义   不能   rand   oid   .com   height   

原文地址:https://www.cnblogs.com/coolqiyu/p/8519761.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!