一、如何使用Weight Decay权值衰减或者Dropout技术缓解过拟合?
过拟合现象是指在训练集中表现优秀,但是在其他未知的数据集上表现很差的现象。
由于很多过拟合原本就是因为权重参数取值过大才发生的。Weight Decay权值衰减法是通过最小化权值的二范数,使得所有权值都为最小。
如果网络的模型变得很复杂,只用权值衰减就难以应对了。在这种情况下,我们经常会使用 Dropout 方法。Dropout 是一种在学习的过程中随机删除神经元的方法。训练时,随机选出隐藏层的神经元,然后将其删除。被删除的神经元不再进行信号的传递。
二、什么是验证数据?
之前我们使用的数据集分成了训练数据和测试数据,训练数据用于学习,测试数据用于评估泛化能力。由此,就可以评估是否过度拟合了训练数据(是否发生了过拟合),以及泛化能力如何等。
用测试数据确认超参数的值的“好坏”,就会导致超参数的值被调整为只拟合测试数据。
调整超参数时,必须使用超参数专用的确认数据。用于调整超参数的数据,一般称为验证数据(validation data)。我们使用这个验证数据来评估超参数的好坏。
根据不同的数据集,有的会事先分成训练数据、验证数据、测试数据三部分,有的只分成训练数据和测试数据两部分,有的则不进行分割。在这种情况下,用户需要自行进行分割。
三、如何使用验证数据选择好的超参数?
步骤 0
设定超参数的范围。
步骤 1
从设定的超参数范围中随机采样。
步骤 2
使用步骤 1 中采样到的超参数的值进行学习,通过验证数据评估识别精度(但是要将 epoch 设置得很小)。
步骤 3
重复步骤 1 和步骤 2(100 次等),根据它们的识别精度的结果,缩小超参数的范围。