|
改善深层神经网络 |
偏差、方差 |
|
|
减少偏差 更大的网络
减少方差 更多数据 正则化 |
|
|
|
正则化 (Regularization) |
L2正则 ||w||^2,w是高维参数,可以加b,也可以不加
正则化权重lambda过大时,w很小,wx+b接近0,经过**函数(sigmod/tanh)后,神经网络的效果接近LR
inverted dropout(反向随机失活) d3 = np.random.rand(a3.shape[0],a3.shape[1]) < keep-prob a3 = np.multiply(a3,d3) #a3是隐层单元(hidden units) a3 /= keep-prob (<—保持期望不变) 测试阶段不用dropout dropout之所以有效,是因为随机删除结点后,不能依赖特定的特征,它会压缩结点的权重,类似L2正则的效果。在过拟合的时候使用,通常用在计算机视觉,因为数据样本不够。缺点是使损失函数变得不确定。
数据扩充(data augmentation) 图片旋转变形,扩充训练集
early stopping 验证集误差上升时停止训练 |
|
|
归一化(Normalize) |
梯度下降更快 |
|
|
参数初始化和梯度校验 |
**函数或者梯度函数指数增长和衰减导致梯度爆炸/消失 exploding gradients vanishing gradients(前面的隐藏层学习速度特别小,难以训练)
神经网络的权重初始化 目标:每一层输出的方差尽量相等,使网络中的信息能更好的流动,不依赖某些结点 w = np.random.randn(input_shape,hiden_shape)/sqrt(input_shape) https://www.cnblogs.com/adong7639/p/9547789.html https://blog.csdn.net/qq_30815237/article/details/88930436
梯度检验 计算前向传播的梯度和反向传播的梯度,有没有明显差别 https://www.jianshu.com/p/26c5ad2be5b1 和dropout不能同时使用 |
|
|
梯度下降优化 |
mini-batch |
一个epoch执行多次梯度下降,大数据集下训练速度更快 mini-batch size = m ~~ batch gradient descend 每个迭代训练时间过长 mini-batch size = 1 ~~ stochastic gradient descend 噪声更多,向量化计算的好处丢失 mini-batch 向量化计算;下降速度快
|
|
momentum RMSprop Adam |
指数加权平均(exponentially weighted average) 近似1/(1-β) 天的移动平均数,β越小,当前参数θ_t的影响越大,一般取0.9
momentum 梯度下降,平滑处理,减小摆动(oscillations)
RMSprop (root mean squre均方根)进一步优化摆动幅度过大的问题,使各方向的摆动幅度都较小
Adam Adam(Adaptive Moment Estimation)算法是将Momentum算法和RMSProp算法结合起来使用的一种算法 |
|
|
|
学习速率 |
|
相关文章: