改善深层神经网络

偏差、方差

DeepLearning 吴恩达深度学习第二课笔记

减少偏差

    更大的网络

 

 

 

减少方差

     更多数据

     正则化

DeepLearning 吴恩达深度学习第二课笔记

正则化

(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)

DeepLearning 吴恩达深度学习第二课笔记

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)

DeepLearning 吴恩达深度学习第二课笔记

近似1/(1-β) 天的移动平均数,β越小,当前参数θ_t的影响越大,一般取0.9

 

momentum 梯度下降,平滑处理,减小摆动(oscillations)

DeepLearning 吴恩达深度学习第二课笔记

 

RMSprop (root mean squre均方根)进一步优化摆动幅度过大的问题,使各方向的摆动幅度都较小

DeepLearning 吴恩达深度学习第二课笔记

 

Adam

Adam(Adaptive Moment Estimation)算法是将Momentum算法和RMSProp算法结合起来使用的一种算法

DeepLearning 吴恩达深度学习第二课笔记DeepLearning 吴恩达深度学习第二课笔记

https://blog.csdn.net/willduan1/article/details/78070086

 

学习速率

 

相关文章: