【八股文-机器学习】数据增强/early stopping

1.数据增强

假设我们训练神经网络来完成图片分类任务,希望通过扩增训练数据来解决过拟合的问题,但是扩增数据代价很高,有时候无法扩增数据。那么我们可以通过添加这类图片来增加训练集[1],例如

  • 水平翻转图片
  • 裁剪图片
  • 旋转、扭曲图片数字等
    图片说明

在计算机图像处理领域,由于图像输入维数非常高,导致很难找到对应那么多的图像,因此data augmentation在CV领域应用极为广泛。

2. early stopping

early stopping的思路是,在训练过程中,我们通过观察dev set的误差来判断训练过程是否逐渐过拟合。dev set error通常会先呈下降趋势,然后再某个节点处开始上升,early stopping的作用是在梯度出现上升势头的时候停止训练来放置过拟合,如下图所示。

图片说明

蓝色曲线表示随着训练次数增加,训练集的训练误差逐渐降低;紫色曲线表示在验证集上的误差,在中间点的时候,应该停止训练。

early stoping的缺点在于:它希望能够同时解决

  • 优化损失函数
  • reduce overfitting

两个问题,如果过早结束训练,导致第一个问题loss较大,这样用一个方法同时解决两个问题会导致相互掣肘,需要考虑的情况比较复杂。

但优点在于,只需要运行一次训练,就可以找到中间的较好的参数集合。

如果不用early stopping,另一种方法就是L2正则化,训练神经网络的时间就可能很长。我发现,这导致超级参数搜索空间更容易分解,也更容易搜索,但是缺点在于,你必须尝试很多正则化参数图片说明 的值,这也导致搜索大量值的计算代价太高。

全部评论

相关推荐

05-29 20:34
门头沟学院 C++
KarlAllen_直通春招版:得做好直接春招的准备。学历差的话,一是面试要求会比学历好的严格不少,二是就算面试通过了也会被排序。总之暑期和秋招对于学历差的就是及其不友好
点赞 评论 收藏
分享
买蜜雪也用卷:我觉得应该没有哪个人敢说自己熟练使用git,代码分支一复杂还是得慢慢寻思一下的,不过基本的拉代码提交代码还有分支什么的是应该会
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务