1.过拟合
模型复杂而训练样本不足,过度训练,会导致过度拟合。
训练数据集上的代价表现是越来越好的,测试集上的代价越来越差。训练数据上的分类准确率一直在提升接近 100%,而测试准确率仅仅能够达到 82.27%。
网络几乎是在单纯记忆训练集合,而没有对数字本质进行理解能够泛化到测试数据集上。
避免过拟合的方法:early stopping,L1、L2正则化,dropout, 人为扩展训练数据
2. early stopping
数据集分为三部分:training_data、validation_data,testing_data。如果设置超参数是基于 test_data 的话, 会得到过度拟合于 test_data 的超参数。借助 validation_data 来克服这个问题,在训练过程中,用validation_data来确定一些超参数(如迭代期epoch, 学习速率η)。然后一旦获得了想要的超参数,最终我们就使用 test_data 进行准确率测量。
在每个迭代期的最后都计算在validation_data上的分类准确率。一旦分类准确率已经饱和,就停止训练。这个策略被称为提前停止(early stopping)。
3. L2正则化(权重衰减)
正则化的交叉熵:
正则化的二次代价函数: