Multi_Layer Perceptron

"""深度学习特点:层数越深,概念越抽象,需要背诵的知识点(神经网络隐含节点)就越少。不过实际应用中,使用层数较深的神经网络会遇到许多困难,比如容易过拟合,参数难以调试,梯度弥散,等等。
过拟合:
指模型预测准确率在训练集上升高,但是在测试集上反而下降了,通常意味着泛化性不好。
为了解决这个问题,Hinton教授团队提出了一个思路简单但是非常有效的方法,Dropout.其实也算是一种bagging方法,我们可以理解成为每次丢弃节点数据是对特征的一种采样。
相当于我们训练了一个ensemble的神经网络模型,对每个样本都做特征采样,只不过没有训练多个神经网络模型,只有一个融合的神经网络。
参数难以调试:
尤其是SGD的参数,对SGD设置不同的学习速率,最后得到的结果可能差异巨大,神经网络通常不是一个凸优化的问题,它处处充满了局部最优。因此就有像Adagrad,Adam,Adadelta等自适应的方法可以减轻调试参数的负担。
对于这些优化算法,通常我们使用它默认的参数设置就可以取得一个比较好的效果。而SGD则需要对学习速率,Momentum,Nesterov等参数进行比较复杂的调试。
梯度弥散(Gradient Vanishment):
在Relu激活函数出现之前,神经网络的训练全部都是用Sigmoid作为激活函数,但是当神经网络层数较多时,Sigmoid函数在反向传播中,梯度值会逐渐减小(呈指数级急剧减小)。
直到Relu的出现,才比较完美的解决了梯度弥散的问题,Relu是一个简单的非线性函数y=max(0,x),它在坐标轴上是一条折线。
当然神经网络的输出层一般都还是Sigmoid函数,因为它最接近
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值