在机器学习和深度学习中,为了防止模型过拟合,通常有两种办法:
第一种是人工对数据进行重要性判断,保留较重要的特征,前提是有足够的先验知识。但同时这也相当于舍弃了数据中的一部分的信息。
第二种则是正则化,采取某种约束可以自动选择重要的特征变量,自动舍弃不需要的特征变量。
常用的正则化方法有:
L1 / L2正则化:直接在原来的损失函数基础上加上一个“惩罚项”。
dropout:深度学习中最常用,即在训练的过程中随机的丢弃一些神经元。
数据增强:比如将原始图像翻转、平移、拉伸,使得模型的训练数据集增大。
提前终止法:在模型训练所得到的结果已经比较不错的时候提前终止训练。需要人工监督且具备先验知识。
L2正则化:
L2 正则化,即在原的损失函数基础上加上权重参数的平方和:
Ein 是未包含正则化项的训练样本误差,λ 是正则化参数。
为什么要加一个权重参数的平方和?可以想象,在拟合一组数据的时候,一般来说,使用高阶的多项式更容易拟合这组数据曲线。然而,这样也会使得模型变得过于复杂,容易过拟合即泛化能力差。因此可以限制高阶部分的权重,使其为0。这样便从高阶问题转移至低阶问题的求解。但是这种方法在实际中比较难以实现。因此可以限定一个较为宽松的条件: