因为解决过拟合的方法很多,有些方法每次用到的时候都需要百度,因此发个文,将以后用到的缓解过拟合方法总结在这里。(不断更新)
1.交叉验证
参考地址
将原始数据分成K组(一般是均分),将每个子集数据分别做一次验证集,其余的K-1组子集数据作为训练集,这样会得到K个模型,用这K个模型最终的验证集的分类准确率的平均数作为此K-CV下分类器的性能指标。K一般大于等于2,实际操作时一般从3开始取,只有在原始数据集合数据量小的时候才会尝试取2。
应用最多,K-CV可以有效的避免过拟合与欠拟合的发生,最后得到的结果也比较具有说服性。
2.随机擦除(Random Erasing Augmentation)
参考地址
Random Erasing Augmentation(REA)是一种随机擦除的数据增广方法。简单而言就是在图像中随机选择一个区域,打上噪声mask。这个mask可以是黑块、灰块也可以是随机正太噪声。直接看图就能明白,具体细节可以看论文。所有参数都是直接利用原论文的参数。随机擦除是一种数据增广的方式,可以降低模型过拟合的程度,因此可以提升模型的性能。
3.标签平滑(Label smoothing)
标签平滑(LS)是论文[3]提出的一种方法,应用于分类任务。传统的分类任务用的是交叉熵损失,而监督label用的是one-hot向量。因为交叉熵是相对熵在one-hot向量前提下的一种特例。但是one-hot是一种很强的监督约束。为了缓和label对于网络的约束,LS对标签做了一个平滑:
举个例子,加入原始的label是[0,0,1,0,0,0],平滑参数设置为0.1,则平滑之后的label就会变成[0.02,0.02,0.9,0.02,0.02,0.02],计算损失时由交叉熵换回原始的相对熵。经过标签平滑之后,网络的过拟合程度也会被抑制一点。