既然过拟合是模型对数据集中噪声和细节的过度捕捉,那么防止过拟合最简单的方法就是增加训练数据量。但是在机器学习任务中,增加数据量并不是那么容易实现的,因为搜集、标记数据的成本太高了。
假设我们正在处理的一些手写数字图像,为了扩大训练集,我们能采取的方法有——旋转、翻转、缩小/放大、位移、截取、添加随机噪声、添加畸变等。下面是一些处理过的图:
这些方式就是数据增强。从某种意义上来说,机器学习模型的性能是靠数据量堆出来的,因此数据增强可以为模型预测的准确率提供巨大提升。有时为了改进模型,这也是一种必用的技巧。
在Keras中,我们可以使用ImageDataGenerator执行所有这些转换,它提供了一大堆可以用来预处理训练数据的参数列表。以下是实现它的示例代码:
from keras.preprocessing.image importImageDataGenerator
datagen = ImageDataGenerator(horizontal flip=True)
datagen.fit(train)
本文转自:https://blog.csdn.net/weixin_39890543/article/details/111078205