神经网络的前向后向及更新

前向目的:得到输出值 \small y_{}^{*}(即\small a^{L}

后向目的:得到dz,dw,db(此处都是指dL/d...,损失函数对对应项的微分),进而得到梯度更新。(其中由于链式法则,dz,dw,db中都有y项)

权重w(a,b): 维度a指本层的神经元个数,维度b指输入层X特征向量包含元素个数。

a=\small \varphi(z), a:active function.

程序实现时:每一个样本可以使用矩阵运算代替for循环,但是样本间的迭代还是需要for循环。

当|z|很大时,激活函数的梯度很小,因此在这个区域内,梯度下降算法运行得很慢。实际应用中应尽量避免z落在这个区域,应使|z|尽可能限定在零值附近,从而提高梯度下降算法运算速度。因此ReLU激活函数出现了(缺点:Z<0,梯度为0),以及改进的Leaky ReLU函数。(因此在应用sigmoid函数或tanh函数,权重初始化时乘上一个小数如0.01)

如果是分类问题:一般隐藏层采用ReLU激活函数或Leaky ReLU函数,输出层采用sigmoid函数。

如果激活函数采用线型激活函数:则最终输出值依然是变量X的线性组合,神经网络与直接使用线性模型就没什么不同了。因此隐藏层必须是非线性的。(回归预测y连续值问题:输出层可以使用线性激活函数)

权重必须随机初始化:如果全部初始化为0,则每个神经元的权重完全相同,隐藏层设置多个神经元失去意义。

但是参数b可以全部初始化为0.

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值