深度学习:欠拟合、过拟合、正则化,BN ,L1/L2 范数正则化、bagging集成,dropout

https://github.com/imhuay/Algorithm_Interview_Notes-Chinese

一、欠拟合、过拟合

欠拟合指模型不能在训练集上获得足够低的训练误差

过拟合指模型的训练误差测试误差(泛化误差)之间差距过大;

反映在评价指标上,就是模型在训练集上表现良好,但是在测试集和新数据上表现一般(泛化能力差);

降低过拟合风险的方法

所有为了减少测试误差的策略统称为正则化方法,这些方法可能会以增大训练误差为代价

数据增强

图像:平移、旋转、缩放

利用生成对抗网络(GAN)生成新数据

NLP:利用机器翻译生成新数据

降低模型复杂度

神经网络:减少网络层、神经元个数

决策树:降低树的深度、剪枝

...

权值约束(添加正则化项)

L1 正则化

L2 正则化

集成学习

神经网络:Dropout

决策树:随机森林、GBDT

提前终止

 

降低欠拟合风险的方法

加入新的特征

交叉特征、多项式特征、...

深度学习:因子分解机、Deep-Crossing、自编码器

增加模型复杂度

线性模型:添加高次项

神经网络:增加网络层数、神经元个数

减小正则化项的系数

添加正则化项是为了限制模型的学习能力,减小正则化项的系数则可以放宽这个限制

模型通常更倾向于更大的权重,更大的权重可以使模型更好的拟合数据

二、正则化

2.1 Batch Normalization(批标准化) 均值为0 方差为1 本质上解决反向传播过程中的梯度问题。

BN 是一种正则化方法(减少泛化误差),主要作用有:

  • 加速网络的训练缓解梯度消失,支持更大的学习率) 激活函数sigmoid 在反向传播过程中,正无穷和负无穷两边的导数都几乎为0,只有中间Y轴导数值比较大,所以经过若干次链式求导,最终 接近0,梯度消失,经过BN 可以是每一层的H 均值为0,标准差为1,也就是数据集中在y轴附近,这样就使得梯度比较大,解决了梯度消失的问题。
  • 防止过拟合
  • 降低了参数初始化的要求。
  • BN 可以缓解每一层数据不稳定的问题,很多层每一层数据都要经过权重计算,如果权重大于1的话,最后的数据可能非常大,为了防止“梯度弥散”。关于梯度弥散,大家都知道一个简单的栗子:
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值