网络结构的选择

网络结构的选择

在设计连接网络的结构时,需要确定有几层神经网络,每层神经网络有几个神经元,神经元的激活函数是什么。本篇将介绍在有监督学习的情况下如何确定网络结构
1 欠拟合和过拟合
神经网络的层数越多,每个层的节点越多,那么神经网络就越复杂,就越能表达更复杂的关系。存在一个问题就是数据是有限的,并且数据是有误差或有噪声的。对于有限的噪声数据,神经网络并不是越复杂越好,就涉及到了过拟合和欠拟合。
**欠拟合:**是指由于网络的复杂性不够,导致网络不能很好的完成任务。
**过拟合:**是指由于网络的复杂性过大,导致网络错误地将噪声带来地影响引入网络中。这样在没有见过地数据中就会引发错误。
在确定神经网络的结构时,既要避免欠拟合,又要避免过拟合。这两种情况都会使得神经网络在新的数据上的性能(泛化能力)变差。在给定训练数据上进行有监督学习得到的网络,在新的数据上难免会出现差错,成为泛化差错。
泛化差错分为:偏差差错 、方差差错 、噪声
2 训练集 、验证集 、测试集
本节将介绍如何使用 训练集数据绘制学习曲线和验证曲线来判断当前是否出现了高偏差差错(欠拟合)或是高方差差错(过拟合)
需要将数据分为训练集、验证集、测试集这3个集合。训练集用来计算权重值;验证集判定是否出现欠拟合或者是过拟合,并确定网络结构或者控制模型复杂程度的参数;测试集用来评价最终的效果。绘制学习曲线和验证曲线需要用到训练集和验证集,不需要使用测试集。
一般可以以60% 、20%、20%的比例将数据分为训练集、验证集、测试集。
绘制方法:对于某个固定的神经网络,如果是在训练网络时,只利用训练集中的一个数据,并忽视其他训练数据,那么,很容易就能让这个网络满足训练集的特征和标签之间的关系。这时候,在训练集上的差错就大概是0。但是,这个网络跟实际上可用的目标差距很大。如果用验证集上的所有数据验证这个网络的性能,就会发现这个网络的性能很差。现在,如果用验证集上的所有数据验证这个网络的性能,就会发现这个网络的性能很差。现在,如果在训练集中取更多的数据进行训练(如取10条数据),那么网络可能就不那么容易,满足全部10条数据的特征和标签之间的关系,这样,在这些训练数据上的差错可能就会比只用1条数据时在那条数据上的差错要大。用这10条数据训练好网络后,再计算这个网络再整个验证集上验证的差错率,则差错率会减小。这是因为,我们用了更多的训练数据来训练网络,网络可能更接近真实情况,所以在验证机上的差错就会减小。这样,我们可以从训练集上取更多条数据训练网络,随着选择条目的数量逐渐增多,在训练数据条目上的差错就会越来越大,在验证集上的差错就会越来越小。在训练数据条目上的差错随着训练数据条目数的变化成为学习曲线,在验证集上的差错随着训练数据条目数的变化成为验证曲线。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值