初始化、正则化、梯度校验
初始化
我们都知道在神经网络中一开始是需要初始化WWW和bbb的,那么一开始应该选择什么值来初始化会有利于神经网络更快更好地实现它地效果呢?
一个不恰当的表达是,其初始值不应该过大。最合适的有一个如下名称的初始化方法
He initialization
W[i]=np.random.randn(ni,ni−1)∗2ni−1W^{[i]} = np.random.randn(n^i,n^{i-1})*\sqrt{\frac{2}{n^{i-1}}}W[i]=np.random.randn(ni,ni−1)∗ni−12
b[i]=np.zeros((ni,1))b^{[i]} = np.zeros((n^i, 1))b[i]=np.zeros((ni,1))
实践出真理,做过吴恩达老师的练习的话,会感受到那种准确率的提升是很大的。
正则化
高偏差:神经网络对训练集的预测准确率不高,如果说人认识一个物体的错误率为0%,而神经网络预测错误率达到十几,就可以说它是高偏差了。
高方差:神经网络预测训练集错误率与预测验证集或测试集错误率相差较远的情况,比如,预测训练集错误率为1%,而预测验证集错误率则达到13%,则可以说其是高方差。
当出现有高偏差时,可以运用增加迭代次数来解决。
高方差时也可以运用增加样本集的方法来解决。
另一个解决高方差的方法就是正则化,比较直观的理解就是通过正则化的调整实现了从高方差向高偏差方向走的现象,而找到在这其中的平衡值就解决了我们的高方差的问题。
常见的正则化方法:
1.就是对costcostcost加正则项,然后反向传播算出新的dwdwdw,具体公式如下
Jregularized=−1m∑i=1m(y(i)log(a[L](i))+(1−y(i))log(1−a[L](i)))⏟cross-entropy cost+1mλ2∑l∑k∑jWk,j[l]2⏟L2 regularization costJ_{regularized} = \smal

本文介绍了深度学习中初始化、正则化和梯度校验的重要性。He初始化方法有助于神经网络的高效训练,正则化通过L2范数和Dropout策略减少过拟合,而梯度校验则作为调试神经网络模型的一种有效方法。
最低0.47元/天 解锁文章
596

被折叠的 条评论
为什么被折叠?



