数据挖掘-机器学习模型泛化增强技巧
机器学习模型泛化能力增强技巧简介
在之前的文章中,我们已经介绍了三种提高模型泛化能力的方法,即前一篇文章介绍的L1正则化、L2正则化、DropOut方法。在本文中,我们将会从数据角度、模型训练角度、策略角度进行提高模型泛化能力的方法介绍,尝试在处理问题的不同阶段使用技巧提升模型的泛化能力。本文主要介绍数据增强、参数共享、早停处理、多任务学习这几种技巧,下面分别进行介绍。
首先介绍数据增强方法,该方法其实在图像分析领域使用的较多,因为图像领域可以对原始的数据进行一些调整,在不改变图像含义的情况下最大程度的利用原始数据。比如对一幅图片可以进行翻转操作、旋转操作、缩放操作、移位操作、裁剪操作、黑白操作、模糊操作等,因为这些操作可以让原始的数据的信息充分使用,也防止神经网络等模型过拟合,加强了模型的泛化能力。当然这些方法都是比较低级和简单的方法,在学习的后期,如果觉得数据量还不够,可以尝试使用对抗神经网络GAN来进行训练数据的生成,GAN的原理在以后的文章会进行介绍,此处不展开。通过GAN的数据生成,可以将图片里的目标含义不变的情况下,改变图片内的环境等其他特征,使得原有模型进行更好地学习,得到一个泛化能力更强的机器学习模型。理论上来说数据增强方法是一种比较好的技巧,因为它不仅使得模型的泛化能力更强,也使得模型的稳健性更好,但其缺点在其他结构性数据或者自然语言处理领域很难在原有的数据集进行数据增强,除非增加新的数据。
下面介绍早停技巧,该技巧其实是在梯度下降方法中涉及到的一种方法,其实顾名思义,早停就是在训练到中途的时候提早停止训练,是神经网络里面处理过拟合的一种方法。由于早停法会比较数据在训练集和验证集的效果,本质上是在寻找一个点