超参数和验证集

感知机是神经网络的基础,对于形式上完全相同的感知机,模型参数不同,可以实现不同的运算,因此,可以通过训练学习模型参数来形成不同的功能。这也是人工神经网络具有强大学习能力的基础。
在这里插入图片描述
例如下图这个简单得感知机来说,
在这里插入图片描述
模型参数取不同的值,就实现了不同的线性分类器。
在这里插入图片描述
下图分别是它们的分类边界。
在这里插入图片描述
另外我们也可以把
在这里插入图片描述
这个分类器看成是一个与运算。而把
在这里插入图片描述
这个分类器看成是一个或非运算。

把多个这样的感知机组合起来,就构成了人工神经网络,也就可以实现各种复杂的运算,在前馈型神经网络中,只要有一个隐含层,并且这个隐含层中有足够多的神经元,就可以逼近任意一个连续的函数或空间分布。这也被称为万能近似定理。
在这里插入图片描述
而使用多个隐含层的神经网络,不仅能够表示非连续的函数或空间区域,还能够有效地减少泛化误差。另外,在增加隐含层层数的同时,还可以减少每层神经元的数量,从而可以减少模型的参数,降低训练神经网络所需要的时间开销。
在这里插入图片描述
一般来说,神经网络中的隐含层越多,每个隐含层中的神经元个数也越多时,所表达的函数就越复杂。分类的能力也就越强。

超参数和验证集

隐含层的设计

那么为了完成一项指定的任务,应该设计多少个隐含层呢?隐含层中由该有多少个节点呢?
在这里插入图片描述
实际上,神经网络中,隐含层的层数和其中的节点个数都是超参数。超参数的取值不是通过学习算法学习出来的,通常是根据经验,人工设定、并且通过实验调整出来的。比如在前面训练模型中所使用的学习率和训练次数都是通过经验和不断地尝试,尽可能找到的最佳的取值。

当同时有多个超参数时,可以对所有的超参数可能的取值进行组合,通过实验来确定。

例如,对于某个问题来说,我们根据经验,任务隐含层的层数在1层到3层之间,
在这里插入图片描述
每层中的节点数可以取4、16、32或者64个
在这里插入图片描述
就应该可以达到想要的目标 。这样
在这里插入图片描述
为了从中选出更好的模型,我们首先使用训练集来训练好所有模型,然后再使用同一个测试集,得到不同模型上的误差,最后挑选出在测试集上误差最小的模型,做为最优模型就可以了。

当超参数比较多的时候,不同参数的组合数量庞大,对应很多种不同的模型,这时候通过测试集筛选出最佳模型之后,我们还需要知道选出来的模型在全新的数据集上的表现,因此为了评估模型的泛化性能,更加规范的方法是将数据集拆分为三个集合,分别是数据集、验证集和测试集。

首先,使用训练集用来训练模型,确定模型参数。然后,使用验证集来确定超参数。最后,再使用测试集观察所筛选出来的模型在新的数据集上的表现,评估模型的泛化能力。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xuechanba

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值