《深度学习工程师-吴恩达》02改善深层神经网络--深度学习的实用层面 总结

深度学习的实用层面 总结

 

1.重点归纳

1)数据划分

(1)一般情况下我们会把数据分为训练集、验证集和测试集,但有些时候不需要无偏估计时只划分为训练集和测试集。

(2)数据集比较少时,可以按60%,20%,20%的比例划分数据集。

(3)数据集很大时,并不需要大量的数据(验证集)来选择模型,也不需要大量的数据(测试集)来评估模型。如100万的数据集可以按98%,1%,1%来划分数据集。

2)偏差&方差

(1)高偏差是欠拟合

(2)高方差是过拟合

(3)使用最优误差或贝叶斯误差来衡量偏差/方差是否高

3)初始模型训练完后,我们首先检查算法的偏差高不高,解决了模型偏差高的问题后,使用验证集评估方差。

(1)如果偏差高,可以尝试以下方法:

  • 扩大网络规模
  • 增加训练时间
  • 尝试更先进的优化算法

(2)如果方差高,可以尝试以下方法:

  • 采用更多数据
  • 使用正则化来减少过拟合
  • 尝试其他新网络架构有时可以同时减少方差和偏差

4)如果λ足够大,权重矩阵W被设置为接近于0的值,就是把隐藏单元的权重设为0。

(1)神经网络会被简化变成一个很小的网络,小到如同一个逻辑回归单元(但深度却很大),它会让过拟合的模型接近于欠拟合的模拟。小一点的λ值就可以获得一个适合的模型(低偏差低方差)

(2)tanh激活函数,z取值0附近的值时更接近线性,更多或更小的取值时,tanh输出为非线性。如果正则化参数很大,w变小,z也会变小,实际取值范围很小,激活函数会相对呈线性。

5)dropout会遍历网络的每一层,并设置消除神经网络中节点的概率,我们会消除一些节点,得到规模更小的网络,然后用backprop方法进行训练。每次训练都忽略不同的节点,这些节点对应的权重在对应的训练中不会被更新,每次被忽略的节点都不一样。

(1)我们不愿意给任何一个输入加上太多的权重,因为它可能会被清除。通过传播权重,dropout将产生收缩权重的平方范数的效果,和我们之前讲过的L2正则化类似。

(2)dropout是一种正则化方法,有助于防止过拟合,因此除非算法过拟合,否则不需要使用dropout。在计算机视觉方面应用比较广,因为我们通常没有足够的数据,在其他领域应用比较少。

6)其他正则化方法

(1)增加训练样本(如把图片反转、旋转、拉伸、裁剪等)

(2)early stopping

7)标准化输入可以加速神经网络训练

(1)如果在非归一化输入的代价函数上运行梯度下降法,必须使用一个非常小的学习率

(2)在归一化后的输入代价函数上运行梯度下降法时,能够更直接地找到最小值,可以使用较大的学习率,而不需要像非归一化时那样往复。直观理解是代价函数会更圆一些,而且更容易优化。

8)梯度爆炸&梯度消失

假设一个深度网络使用线性函数作为激活函数,y=w[l]w[l-1]w[l-2]w[3]w[2]w[1]

(1)梯度爆炸:假设所有与w的数值都大于1,那么最终的输出就是wl-1,实际上它呈指数级增长。对于一个深度的网络来说,y值将爆炸式增长。

(2)梯度消失:如果权重w小于1,激活函数的值将以指数级下降。

2.训练/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值