深层神经网络概念梳理

本文梳理了深度神经网络的相关概念,包括数据集的划分、偏差与方差的分析、正则化的作用、过拟合的解决方案,以及梯度消失和爆炸的问题。强调了训练集、验证集和测试集的不同作用,偏差和方差在模型评估中的重要性,并探讨了正则化如何平衡偏差和方差,以及加速训练的方法。

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

深层神经网络概念梳理

目录
1、数据集划分(Train\Dev\Test)
2、偏差与方差(衡量指标)
3、神经网络训练、调优流程
4、正则化
5、过拟合
6、早停的缺点
7、加速训练的方法
8、什么是梯度消失\爆炸
9、梯度检验

1. 训练集、验证集、测试集的作用?

(1)Train_data:训练网络的参数;
(2)Dev_data:验证/评估不同模型的性能,挑选出最好的模型;验证集与测试集有一定的数据覆盖,若无测试集时,转用验证集进行测试评估模型的性能,称为有偏性能估计;(交叉验证集的方式来配置模型的参数)
(3)Test_data:对选定的神经网络模型进行无偏估计;因为测试集与训练集数据没有任何覆盖;

训练集与测试集分布不匹配以及类别分布不均衡问题?

(1)分布不匹配指:训练集与验证集、测试集数据不满足同一分布;例如:不是同一光学传感器采集的图像,存在分辨率、噪声等差别;(不是同一分布)
解决方法:转换为同一种分布
(2)类别分布不均衡:在分类任务中,数据集不同类别的地物或目标的数据样本相差较大;
解决方法:欠采样、过采样、样本分类阈值移动

2.偏差与方差

经常也用这两个指标的走势判断是否发生过拟合) 对训练集验证偏差问题;对验证集或测试集验证方差问题;
(1)偏差:描述预测值与真实值的差距。
(2)方差:描述预测值大变化范围(离期望值的距离)。

欠拟合(高偏差):模型对于训练集表现效果较差,无法拟合该数据,更加无法谈论对测试集的表现效果;(高偏差:训练集误差本身大,验证集或测试集误差相对训练误差差距不大)

过拟合(高方差):模型过度表征训练集的特征,模型过于复杂,非常适合该数据集,表现为训练误差很小,但对于测试集误差很大;(高方差:训练集误差相对较小,而验证集或测试集误差较大)

(糟糕模型)高偏差、高方差:模型训练误差本身大,验证集或测试集相对训练误差更大。

(理想模型)低偏差、低方差:模型训练误差本身小,验证集或测试集相对训练误差差距不大。

偏差与方差的如何区别?

(1)表征含义不同;
(2)针对的数据集不同;(特:训练验证集可以用来测试是否存在偏差或方差问题)
(3)优化方式不同。

偏差与方差的权衡?

二者调整其一,会导致另外一个误差增大;
正则化能够降低方差,会带来偏差波动,但是对于较大网络,增幅较小;

3. 神经网络训练、调优流程?
在这里插入图片描述
优化过程:查明问题原因,采取有效优化算法解决问题。重新测试,问题是否已解决。
4.正则化为何能预防过拟合?

(1)正则化lambd越大时,经反向传播梯度下降,W越接近0值,相当于某些节点不起作为,网络模型简化,从过拟合状态向高偏差状态过渡,只要将lambd调节到合适值,会出现中间的just
right状态。

(2) 正则化参数加入,W会衰减,Z值变小(忽略b的影响)。 非线性激活函数在Z值小时看似为线性函数,模型简单,不会发生过拟合现象。

(3) W每调节一次,相对前一次变小,同时调动的幅度是单调递减的;

(4) 同样的训练集,通过正则化随机将隐藏节点至0,相当于训练不同的网络模型,

L2\L1正则化与Dropout正则化的区别在于

1) L2\L1正则化不会消除神经元的权重,只会削减,但是Dropout是以某种概率去消除神经网络的节点。

(2) Dropout的应用范围更加广,不同层的参数个数不同,keep_prob根据过拟合的程度可变(一般:参数多的层keep_prob值小,输入层、输出层keep_prob=1),缺点随之而来,超级参数过多,代价函数不明确(因节点随机被移除)。
共同点:都是削减网络的复杂度,从而预防过拟合。 L2正则化被称为“权重衰减”。

5.过拟合解决办法

L2\L1正则化、Dropout正则化、数据扩增(收集一组新的数据集【代价高】或原有数据集进行几何变换【False train
dataset假训练数据,代价低】)、早停(绘制训练误差、验证误差曲线,确定停止迭代的次数)

6.早停的缺点
减小代价函数与预防过拟合两个问题合二为一进行处理,早停不仅停止了梯度下降而且停止优化代价函数。So,可以考虑将两个问题独立采取不同的优化算法,用正交化的思路进行处理(正交化:一个时间做一个任务)。
7.加速训练的方法?

(1)归一化输入【均值:0;方差:1】:数据分布在坐标系的附近,不同的特征方差都是1,数据分布离散范围一致;【均值只是简单的特征坐标系移动,方差才是调整范围】使得代价函数的形状有扁长型变为碗状型,梯度下降更快,训练迭代次数变少。

目的:调整特征输入分布在相似范围内,从而调整代价函数的曲面形状,加速梯度下降。当特征输入本身在相似范围内时,再做归一化的作用对速度特殊意义不大。

(2)初始化训练权值矩阵为合理值。

8.什么是梯度消失\爆炸,以及影响、解决办法?

(1)梯度消失\爆炸指权值以与层数L相关的指数级减少\增大;这样,反向传播,梯度函数值也是以与层数L相关的指数级减少\增大。

(2)加大训练难度,花费更长时间。

(3)解决办法:初始化权值,将权值矩阵的值设置为合理值便可防止梯度爆炸或消失过快。
初始化方法:Xavier初始化np.sqrt(1\n_[L-1]) ,激活函数tanh常此方法;方差为1\n
np.sqrt(2\n_[L-1]) ,激活函数Relu常用。
W=np.random.randn(shape)*np.sqrt(1\n_[L-1])
,前面的乘积因子是调整方差的值,本质是一个超级参数,但是由于调优效果较小,故而相比其他调优的参数,优先级较低。

9.反向传播过程需要进行梯度检验来检测每一个过程,梯度检验流程?

(1)梯度检验方法:利用函数的双边误差逼近梯度与反向传播过程中的梯度值进行比较。

(2)目的(意义):检验反向传播是否正确,有无Bug出现。

(3)检验结果说明:

  • 数值估计值与导数的2范数误差接近某个设定值,认为反向传播无bug出现;

  • 若大于设定值,但在合理范围内,需要查看误差向量的每一项是否出现误差很大的情况;

  • 大于一定范围,确认出现bug,对每一项进行检查,反向追踪来调bug。

(4)梯度检验只用于调试,因为需要的时间很长,不能用在训练中。

(5)梯度检验不能同Dropout一起使用,因为dropout会随机消除某些神经元,所以无法对该神经元上的权重进行校验。(可以在将keep_prob=1完成校验无误后,使用不同的keep_prob打开dropout进行优化)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值