过拟合,欠拟合以及解决办法

1.偏差和方差

a.偏差

期望输出与真实标记的差别称为偏差(bias),即

b.方差

c.噪声

d.泛化误差(error)

2.过拟合、欠拟合与偏差、方差的关系

欠拟合:模型不能适配训练样本,有一个很大的偏差。

过拟合:模型很好的适配训练样本,但在测试集上表现很糟,有一个很大的方差。

3.如何解决过拟合和欠拟合

a.模型能力(一个模型参数数量不同,不同模型)

b.正则化

正则化参数出现的目的其实是防止过拟合情形的出现;如果我们的模型已经出现了欠拟合的情形,就可以通过减少正则化参数来消除欠拟合

c.特征数量

欠拟合:增加特征项

过拟合:减少特征项

d、训练的数据量

欠拟合:减少数据量

过拟合:增加数据量

参考

https://zhuanlan.zhihu.com/p/38853908

https://blog.csdn.net/hurry0808/article/details/78148756

https://blog.csdn.net/cltcj/article/details/119155683

梯度爆炸、梯度消失和解决方法

1.梯度

设二元函数$z=f(x,y)$ 在平面区域$D$上具有一阶连续偏导数,则对于每一个点$P(x,y)$的梯度为

2.BP算法图示

3.梯度消失和梯度爆炸

梯度爆炸和梯度消失问题都是因为网络太深网络权值更新不稳定造成的,本质上是因为梯度反向传播中的连乘效应。

举个例子,现有如上链式连接的网络$(x\rightarrow z \rightarrow y)$

假设$g$为sigmoid,那么$g^{‘}(z)$最大值为$\frac{1}{4}$,而我们初始化的网络权值通常都小于1,所以$g^{‘}(z)w \le \frac{1}{4}$,因此对于上面的链式求导,层数越多,求导结果$\frac{\partial C }{\partial b_1}$越小,因而导致梯度消失的情况出现。

这样,梯度爆炸问题的出现原因就显而易见了,当$w$比较大的时候或者激活函数的梯度较大,即$g^{‘}(z)w > 1$,层数越多,求导结果$\frac{\partial C }{\partial b_1}$越大,直到爆炸。

4.梯度消失和梯度爆炸解决方法

4.1 解决梯度消失

1.用ReLU、Leaky-ReLU、P-ReLU、R-ReLU、Maxout等替代sigmoid函数。

2.用Batch Normalization。

3.LSTM的结构设计也可以改善RNN中的梯度消失问题。

4.残差网络

5.合适的初始化权重

4.2解决梯度爆炸

1.梯度剪切:对梯度设定阈值

2.权重正则化(L1 和 L2 )

3.合适的初始化权重

参考

https://www.analyticsvidhya.com/blog/2021/06/the-challenge-of-vanishing-exploding-gradients-in-deep-neural-networks/

https://zhuanlan.zhihu.com/p/25631496

https://aijishu.com/a/1060000000100195


:D 一言句子获取中...