我正在学习如何实现 CNN,并在互联网上搜索我发现设计一个好的网络的一个技巧是首先以它过拟合的方式构建它,然后使用正则化来消除过拟合并拥有一个性能良好的网络.
但是我该怎么做呢?我不明白如何构建一个故意过拟合的网络?以及之后我以哪种方式使用正则化?
有人能帮我吗?
提前致谢。
我正在学习如何实现 CNN,并在互联网上搜索我发现设计一个好的网络的一个技巧是首先以它过拟合的方式构建它,然后使用正则化来消除过拟合并拥有一个性能良好的网络.
但是我该怎么做呢?我不明白如何构建一个故意过拟合的网络?以及之后我以哪种方式使用正则化?
有人能帮我吗?
提前致谢。
过度拟合的原因通常是因为模型的高(不必要)复杂度。所以如果你训练一个太复杂(大)的模型,你会得到一个高训练精度和低测试集精度。然后你可以开始用getting more data, dropout, regularization, early stopping, global average pooling,feature scale clipping或来对抗过拟合dropping some of layers from your network。
听起来您在谈论orthogonalization,在这种方法中,您将模型拟合的重点分为 4 个阶段:
您构建了一个模型:
Step 1:很好地拟合训练数据,这是此时的主要重点,在这一步很可能会出现过拟合。
第 2 步:很好地拟合开发数据,在这一步中,您可能会添加正则化来解决过拟合问题
第 3 步:很好地拟合测试数据,这一步是必要的,因为已经对开发数据进行了大量实验,并且模型可能会过度拟合开发数据。
第 4 步:很好地拟合现实世界的数据