深度学习-神经网络训练要点

文章目录

      • 训练数据划分
      • 测试数据要来自同一分布
      • 训练思路:满足偏差要求后检查方差
      • 方差和偏差的tradeoff
      • 正则化如何避免过拟合-减少网络规模
        • L2正则化
        • dropout 正则化
        • dropout 和 L 2 L_{2} L2的比较
        • 其他
      • 神经网络权重初始化
      • 梯度的数值逼近和验证
        • 双边公差
        • 梯度验证
        • 梯度验证实现tip

训练数据划分

在机器学习发展的小数据量时代,常见做法是将所有数据三七分,就是人们常说的70%验证集,30%测试集,如果没有明确设置验证集,也可以按照60%训练,20%验证和20%测试集来划分。
数据集规模较大的,验证集和测试集要小于数据总量的20%或10%

测试数据要来自同一分布

因为你们要用验证集来评估不同的模型,尽可能地优化性能。如果验证集和测试集来自同一个分布就会很好。网页抓取,代价就是训练集数据与验证集和测试集数据有可能不是来自同一分布

训练思路:满足偏差要求后检查方差

如果网络足够大,通常可以很好的拟合训练集,只要能扩大网络规模,就至少可以很好地拟合训练集。一旦偏差降低到可以接受的数值,检查一下方差有没有问题,为了评估方差,我们要查看验证集性能,我们能从一个性能理想的训练集推断出验证集的性能是否也理想,如果方差高,最好的解决办法就是采用更多数据,但有时候,我们无法获得更多数据,我们也可以尝试通过正则化来减少过拟合。但是找到更合适的神经网络框架,减少方差和偏差。

方差和偏差的tradeoff

训练网络,选择网络或者准备更多数据
只要正则适度,构建一个更大的网络可以在不影响方差的同时减少偏差,而采用更多数据通常可以在不过多影响偏差的同时减少方差。这两步实际要做的工作是:

正则化如何避免过拟合-减少网络规模

L2正则化

深度学习-神经网络训练要点_第1张图片
深度学习-神经网络训练要点_第2张图片
深度学习-神经网络训练要点_第3张图片
深度学习-神经网络训练要点_第4张图片

dropout 正则化

  1. 不要依赖于任何一个特征,因为该单元的输入可能随时被清除,因此该单元通过这种方式传播下去,并为单元的四个输入增加一点权重,通过传播所有权重,dropout将产生收缩权重的平方范数的效果,和之前讲的正则化类似;
  2. 担心某些层比其它层更容易发生过拟合,可以把某些层的keep-prob值设置得比其它层更低,缺点是为了使用交叉验证,你要搜索更多的超级参数,另一种方案是在一些层上应用dropout,而有些层不用dropout,应用dropout的层只含有一个超级参数,就是keep-prob。
    深度学习-神经网络训练要点_第5张图片

dropout 和 L 2 L_{2} L2的比较

  1. 实施dropout的结果使得它会压缩权重,并完成一些预防过拟合的外层正则化; L 2 L_{2} L2对不同权重的衰减是不同的,它取决于激活函数倍增的大小
  2. dropout的缺点:代价函数不再被明确定义,每次迭代,都会随机移除一些节点,如果再三检查梯度下降的性能,实际上是很难进行复查的

其他

数据扩增深度学习-神经网络训练要点_第6张图片
使用early stopping
深度学习-神经网络训练要点_第7张图片

神经网络权重初始化

深度学习-神经网络训练要点_第8张图片

梯度的数值逼近和验证

双边公差

深度学习-神经网络训练要点_第9张图片

梯度验证

梯度检验有一个相对较大的值,怀疑存在bug,应调试直至得到一个很小的梯度检验值。深度学习-神经网络训练要点_第10张图片

梯度验证实现tip

深度学习-神经网络训练要点_第11张图片

你可能感兴趣的:(深度学习,深度学习,神经网络,数据挖掘)