机器学习&深度学习训练中防止过拟合的方法

防止过拟合的一些方法

L1 loss

  • 在loss function中添加模型权重参数的绝对值和,用超参数 α 调节L1 loss在整体loss function中占的比例。
    L n e w = L o l d + α | w |

L2 loss

  • 在loss function中添加模型权重参数的平方和,用超参数 β 调节L2 loss在整体loss function中占的比例。
    L n e w = L o l d + β w 2

early stopping

  • 当验证集的误差不再下降时,停止训练,防止过拟合。

数据增强

  • 使用一些数据增强的方法(resize,crop,warp….),增加数据量,增加模型训练结果的泛化能力

dropout

  • 在神经网络训练中,随机抑制特定网络层的一些神经元,相当于引入随机性,这可以增加系统的鲁棒性。

集成方法

  • 在机器学习中常用,将不同的模型进行融合,bagging,boosting等方法。

batch normalization

  • 这个操作主要是为了使所有数据的分布都是 N ( 0 , 1 ) 分布的,减少了Internal convariate shift,可以加快训练过程;但是这种方法会导致网络学到的特征被破坏,因此在BN中,又通过学习的方法引入两个参数,对归一化的数据进行变换,得到最终的输出。具体的公式变换如下

μ B = 1 m i = 1 m x i σ B 2 = 1 m i = 1 m ( x i μ B ) 2 x ^ i = x i μ B σ B 2 + ε y i = γ x ^ i + β = B N γ , β ( x i )

参考链接

猜你喜欢

转载自blog.csdn.net/u012526003/article/details/81879692