Note4DeepLearning_AI

偏差(Bias)和 方差(Variance) 

        反映了机器学习的两种主要问题——欠拟合(underfitting)过拟合(overfitting)

        偏差(bias)反映训练误差与真值之间的差距;

        方差(variance)反映训练误差与测试误差之间的差距;

高偏差,需要拟合训练集,通过尝试更大的网络/更长时间训练/更好的网络架构

高方差,需要拟合验证集/测试集,通过获取更多的数据/正则化/更好的网络架构

正则化(Regularization)

        L1/L2由于正则化因子的设置,为了使成本函数最小化,权重矩阵 W 就会被设置为更小的值,直观上相当于减弱了很多神经元的影响,大网络从而趋向于小网络,不至于过拟合。

        Dropout,输入的特征都存在被随机清除的可能,所以该神经元不会再特别依赖于任何一个输入特征,也就是不会给任何一个输入特征设置太大的权重。通过传播过程,dropout 将产生和 L2 正则化相同的收缩权重的效果。

        数据增广/Early Stoping/ 

归一化输入(Normalizing Inputs)

        消除各维数据间的数量级差别,避免因为输入输出数据数量级差别较大而造成网络预测误差较大。

梯度消失与梯度爆炸(Vanishing/Exploding Gradients)

        在层数很深的神经网络,可能因为input数据>1或<1的区别,深层的激活函数会指数级的变化,进而激活函数的梯度要么很大,要么很小,使得梯度下降算法性能下降。

        这个问题,长期以来也是深度学习网络的一个壁垒。缓解这个问题(但没有彻底解决) 的方法是: better or more careful choice of the random initialization for your neural network.

神经网络的权重初始化(Weight Initialization for Deep Networks)

        tanh(Xavier initialization) /Relu(He Initialization)

梯度检验(Gradient Checking)

        ​将解析法(也就是用导数公式求解梯度)计算的梯度与用数值法(也就是通过导数定义求解梯度)计算的梯度进行对比,以检验解析法公式的正确性。数值法通过导数定义进行求解,当步长设置的足够小时,就可以求得较为精确的梯度值,准确性较高但是求解速度慢,而解析法直接按照给定的公式计算梯度,但是当问题比较复杂时,公式往往难以求出,而且容易出错。于是,就有了梯度检验这个过程了。 ​

猜你喜欢

转载自blog.csdn.net/weixin_48144018/article/details/129325975