深度学习中的过拟合&欠拟合

过拟合:

在训练集中表现优越,在验证测试集中表现较差。准确率较低。

在机器学习中,过拟合会使模型的预测边差,通常发生在模型过于复杂的情况下。

                 如果模型过于专注于特定的训练数据而错过了要点,那么模型就被认为过拟合。

如何防止过拟合:

1:交叉验证(K-折验证)

将数据拆分为K份

交叉验证允许调整超参数,性能是所有值的平均值。该方法计算成本较高,但不会浪费太多数据。

增加训练数据 

用更多相关数据训练模型有助于更好地识别信号,避免将噪声作为信号干扰。

同时也可以使用数据增强的方式:翻转、平移、旋转、缩放、HSV、透视变换等。

移除特征

减少模型的复杂性,通过移除层或者减少神经元的数量。

正则化

正则化可用于降低模型的复杂性。这是通过惩罚损失函数完成的,有L1和L2正则化两种方式。

L1正则化:惩罚权重绝对值的总和

 L2正则化:惩罚权重值的平方和

Deopout

 Dropout 是一种正则化方法,用于随机禁用神经网络单元。它可以在任何隐藏层或输入层上实现,但不能在输出层上实现。该方法可以免除对其他神经元的依赖,进而使网络学习独立的相关性。该方法能够降低网络的密度,

简单实现 

欠拟合

训练误差和验证误差都很大,这种情况称为欠拟合。出现欠拟合的原因是模型尚未学习到数据的真实结构。因此,模拟在训练集和验证集上的性能都很差。

解决办法:
1、做特征工程,添加很多的特征项。如果欠拟合是由于特征项不够,没有足够的信息支持模型做判断。

2、增加模型复杂度。如果模型太简单,不能够应对复杂的任务。可以使用更复杂的模型,减小正则化系数。具体来说可以使用核函数,集成学习方法。

3、 集成学习方法boosting(如GBDT)能有效解决high bias

猜你喜欢

转载自blog.csdn.net/weixin_43852823/article/details/127557051