戳上方蓝字【阿力阿哩哩的炼丹日常】关注我~
4.4
超参数(Hyperparameters)
经过4.3节的CNN卷积神经网络原理的讲解,笔者相信大家已经迫不及待地想建属于自己的神经网络来训练了。不过,在此之前,笔者还是有一些东西要给大家介绍的。那就是神经网络的超参数(Hyperparameters),记忆力好的读者会发现笔者在上一节中就有提及超参数。
不过,本节介绍的超参数与往期不同,它是所有网络共有的超参数,也就是说我们不管搭建什么网络,都可以对这些超参数进行设置。不像4.3节介绍的CNN卷积神经网络,它的一些特有超参数如Padding,是其他网络并不具备的。最后,对于超参数的定义,通俗易懂来讲就是大家在训练神经网络前必须人工设定的参数。
01
4.4.1 过拟合
在此之前,笔者先给大家科普一下什么是过拟合。
举个最简单的例子,大家一般在考试前都会通过做题来复习,假如我们当晚做的题都在第二天考场上见到了,那么咱们的分数就会高很多,但是其实出别的题目,大家可能就答不上来了,这时候我们就把这种情况叫过拟合,因为大家只是记住了一些题目的特征,但是并没有很好地了解题目最本质的真理。
这时候笔者顺带给大家科普一下泛化性。泛化就像学神考试,不管他当晚有没有复习到第二天考试的题目,依旧能拿高分,因为学神已经将所有题目最本质的真理都学会了,所以不管出什么题目他都能通过已经掌握的真理去解答,这就是泛化。
那我们训练模型也一样,当然希望我们训练出来的模型能和学神一般,不管碰到什么题目都能迎刃而解,而不是像学渣碰运气,全靠当晚临时抱佛脚。所以为了保证我们模型的泛化性,我们可以通过一些手段去避免过拟合,进而避免我们的模型在努力学习数据的本质规律时误入歧途当了学渣。
下面笔者就给大家一一剖析神经网络是如何通过下面两种手段去应对过拟合现象的,不过在此之前,笔者依惯例给大家上一张过拟合的图片让大家对过拟合有个直观的理解。
图 4.19 过拟合
1. 正则化(Regularization)
正则化有好几种,这里笔者主要介绍L1与L2两种正则化,其他正则化与它们只是形式上有所区别,但它们的数学核心思想都是一样的。说到正则化,难免逃不开数学公式,L1与L2正则化的公式如式(4.28)~(4.29)所示。