gpt4 book ai didi

machine-learning - 处理过度拟合 : data enlargement, 交叉验证、旋转增强

转载 作者:行者123 更新时间:2023-11-30 08:36:20 25 4
gpt4 key购买 nike

目前,我只是探索 tflearn 提供的网络(VGG.Net、GoogLeNet、ResNet 等)并将其应用到我的数据集(128*128 单 channel 图像、增强前 925 个图像、增强后 5058 个图像、两类——癌性和非癌性)。

  1. 问题:训练准确度 (~100%) 和验证准确度 (~70%) 之间存在很大差异。

  2. 我的方法:1)通过减少卷积核数量来降低模型复杂度,2)减少全连接层中的节点数量,3)提高FC处的drop-out率。

    <
  3. 问题:

1)这种过度拟合问题是否可能是由于(训练)数据集不足而发生的(至少在某种程度上)?我认为如果我有更多(训练)数据集,这将足以代表母分布(也包括验证数据集),以便验证准确性将与训练准确性相似。

2) 交叉验证是否有助于减少差异?但是,如果我有一个永远不会用作训练集的测试集,我认为我的测试 acc 仍然会与训练 acc 显示出很大的差异。这是正确的吗?

3)据我所知,移位增强不会提供新信息,因为卷积是移位不变的。轮换怎么样? (在切片 ROI 之前旋转,以便图像边界处不包含零)

谢谢!! :D

最佳答案

  1. 不,如果您不更改训练数据集的大小,则不会。但是,交叉验证通常用于使用更多数据作为训练数据。
  2. 只有当数据集中存在旋转时,旋转才会有帮助。例如,180° 旋转实际上可能会造成伤害。

标准图像的良好增强可以在tensorflow CIFAR10 example中找到:

  • tf.random_crop(reshape_image, [高度, 宽度, 3])
  • tf.image.random_flip_left_right(扭曲_图像)
  • tf.image.random_brightness( Distorted_image, max_delta=63)
  • tf.image.random_contrast(扭曲_图像,下=0.2,上=1.8)

为了对抗过度拟合,您可能需要引入正则化;特别是Dropout (tf.nn.dropout)。

但是,它不必过度拟合。也可能是测试数据的分布与训练数据不同(但更有可能出现过度拟合)。

关于machine-learning - 处理过度拟合 : data enlargement, 交叉验证、旋转增强,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41297533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com