PyTorch学习(改善深度神经网络)

本文深入解析了神经网络中的偏差与方差概念,解释了它们如何影响模型性能,包括欠拟合与过拟合现象。并提供了调整策略,如增加网络复杂度、正则化和Dropout等方法,以及输入归一化的技巧,帮助读者掌握神经网络的调参技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

偏差、方差

偏差,方差是我们调整神经网络的一个重要指标,在搭建神经网络时需要权衡这两个值,当高偏差时,算法不能很好的拟合数据,称之为欠拟合;当高方差时,算法过于贴合数据集,称之为过拟合
判断偏差与方差的情况,可以根据训练集与验证集的正确率进行评估,训练集的误差高则偏差高,验证集的误差高则方差高,是可以出现方差与偏差同时很糟糕的情况。

  • 高偏差、高方差调整方法
    高偏差一般可以通过
    1、重新选择一个网络,包含更多的隐层。
    2、多次训练网络。
    3、尝试其他算法
    高方差可以通过
    1、使用更多的数据训练。
    2、正则化

正则化

  1. L2正则化
    此种正则化在代价函数中额外增加了L2范数。公式为:
    J(w,b)=1m∑1mL(y−(i),y(i))+λ2m∣∣w∣∣2 J(w,b) = {1\over m}\sum_1^mL(y^{-(i)},y^{(i)})+{\lambda\over 2m}||w||^2 J(w,b)=m11mL(y(i),y(i))+2mλw2
    ∣∣w∣∣2=∑1nXwj2=wTw ||w||^2 = \sum_1^{n_X}w_j^2 = w^Tw w2=1nXwj2=wTw
    此式只正则化了w向量,并未对实数b进行正则化,在实际使用时也可以加上。且正则化其中的参数是需要通过尝试进行设置的,通常一开始我们给其设置为一个很小的值。
    通过这样修改过的代价函数对参数w进行梯度下降调整时,dw也会随之改变,使得w值比原本下降的更快,因此l2正则化又称为*“权重衰减”。*

2.Dropout正则化
此种方法称为“随机失活”,简单的说就是对神经网络的每一层设置一个概率,随机的消除这一层的几个节点,将神经网络变成更小的神经网络。
3.其他
对于降低方差还可以使用其他方法,例如在训练图像识别时,可以通过对原本图像进行翻转变形作为新的训练数据;Easy Stopping指的是在训练网络时,在验证数据误差开始上升时停止继续训练。

归一化输入

归一化输入是加快训练的一种方法。主要步骤:1.零均值,2.归一化方差。
1.零均值
μ=1m∑i=1mxi \mu={1\over m}\sum_{i=1}^mx^{i} μ=m1i=1mxi
每个训练集数据减去上述数值,进行一次平移即完成零均值。
2.归一化方差
δ2=1m∑i=1m(x(i))2 \delta^2 = {1\over m}\sum_{i=1}^m(x^{(i)})^2 δ2=m1i=1m(x(i))2
将零均值后的数据再,除以上式向量,归一化完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值