神经网络减轻过度拟合的四种方法

如题所述

第1个回答  2022-06-04
这个方法是在未规范化的代价函数上加上一个权重绝对值的和:

然后使用一个因子 进行量化调整,其中 可以称为规范化参数, 就是训练集合的大小。

规划化有时候也被称为权重衰减,它的主要功能就是为了在最小化原始代价函数与寻找小的权重之间找个折中,两部分之间相对的重要程度就由 来控制, 越小,就偏向于最小化原始代价函数,反之,就偏向于小的权重。

至于为什么规范化可以减轻过度拟合,粗略的讲,规范化有助于训练小的权重,大的权重容易将训练数据中的噪声过于放大,从而影响模型在测试数据上的泛化能力,小的权重则不会因为一个微小的变动导致结果的大幅度变化,而是由训练数据中最普遍易泛化的特征共同作用。这边主要讲解减轻过度拟合的方法,具体为什么规范化可以减轻过度拟合,在以后的博客中会专门写一篇文章解释。

L2规范化与L1规范化有些类似,这个方法是在未规范化的代价函数上加上所有权重平方的和:

虽然两种规范化有类似的地方,不过我们也需要理解一下L1规范化训练的网络和L2规范化训练的网络不同的行为,对L1规范化代价函数求偏导:

其中 就是 的正负号,即 是正数时为+1,而 是负数时为-1。
对L1规范化的网络进行更新的规则就是:

对L2规范化代价函数求偏导:

对L2规范化的网络进行更新的规则就是:

在两种情形下,规范化的效果就是缩小权重。两种规范化都惩罚大的权重,但权重缩小的方式不同。
在L1规范化中,权重通过一个常量 向0进行缩小,而L2规范化中,权重通过一个和 成比例的量进行缩小。所以,当一个特定的权重绝对值 很大时,L1规范化的权重缩小远比L2规范化要小得多。相反,房一个特定的权重绝对值 很小时,L1规范化的权重缩小远比L2规范化要大得多。

最终结果就是:L1规范化倾向于聚集网络的权重比较小的时候,而L2规范化则倾向于权重比较大时。

弃权是一种相当激进的技术,并不依赖于对代价函数的修改,而是改变了网络本身。假设我们尝试训练一个网络:

训练好的神经网络,增加训练数据是一个稳定有效的方式,因为更少的数据意味着我们的网络接触更少的信息变化。如果我们使用大量更多的训练数据,那么,我们可能会得到更好的性能,即使是用简单的网络。
获取更多的数据代价很大,在实践中常常是很难使用的。不过,还有一种方法能够获得近似的效果,那就是人为扩展训练数据。比如图像识别,对已有的图像进行旋转、转换、扭曲,还有一种特殊的为了模仿手部肌肉的随机抖动的图像扭曲方法。比如语音识别,可以通过增加噪声来扩展训练数据。
一般就是通过应用反应真实世界变化的操作来扩展训练数据。
相似回答