5、多层感知机(MLP)

有理论研究表明,神经网络隐含层,层数越多,所需要的隐含节点可以越少。

实际使用中,使用层数较深的神经网络会遇到许多困难,比如容易过拟合、参数难以调试,梯度弥散等等。

过拟合:有一种方法叫Dropout,在使用复杂的卷积神经网络训练图像数据时尤其有效,简单说,就是将神经网络某一层的输出节点数据随机丢弃一部分。实质上等于创造出了很多新的随机样本,通过增大样本量、减少特征数量来防止过拟合。

参数难调:拿SGD来举例,不同的学习速率可能会有不同的局部最优解。Adagrad等自适应的方法可以减轻调试参数的负担。

梯度弥散:在ReLu激活函数出现之前,大多用Sigmoid激活函数,但是Sigmoid函数在反向传播中梯度值会逐渐减小,经过多层的传递后会呈指数级急剧减小,这种情况下,根据训练数据的反馈来更新神经网络的参数会非常缓慢。


那么多层神经网络(MLP)有什么用呢?为什么要有隐含层呢?

早期的神经网络没有隐含层,无法解决XOR问题。因为没有隐含层的神经网络是线性的。


TensorFlow实现MLP:

#-*-coding:utf-8-*-
"""
Created on 17/3/17 下午7:24

base Info
"""
__author__ = 'sun'
__version__ = '1.0'

# load data and initial a session
from tensorflow.examples.tutorials.mnist impor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值