卷积神经网络中的不平衡 类
Imbalanced Classes in Convolutional Neural Networks
我有一个 class化问题,其中感兴趣的 class 仅占数据集的 7%,整个总体大约有 1200 个观察值。
我知道 Keras 的 ImageDataGenerator
有助于在训练模型之前扩充数据以增加观察的数量,但是是否可以只扩充一个 class,如添加噪声,仅对少数人进行模糊处理或变换 class?
有一个机器学习工具包可让您对图像执行增强,包括变换、Zoom/Strech、噪声和模糊。
图像增强器可以在这里找到:
https://github.com/codebox/image_augmentor
您可以尝试与 fit() 函数中的 class_weight 参数保持平衡,该函数采用字典映射 classes 到权重值。您甚至可以使用 sklearn 来计算适当的 class 权重。请在此处查看 PScs 的回答:https://datascience.stackexchange.com/questions/13490/how-to-set-class-weights-for-imbalanced-classes-in-keras
或者您可以将 Keras ImageDateGenerator 与 flow_from_directory() 一起使用,并使用 save_to_dir 参数保存图像扩充 运行 目录,从而生成更多未被充分代表的示例 class: https://keras.io/preprocessing/image/#imagedatagenerator
对于那个假人 运行 你只提供了你想要更多样本的 class 的样本。
然后您将平衡的训练和验证数据用于实际训练。
我有一个 class化问题,其中感兴趣的 class 仅占数据集的 7%,整个总体大约有 1200 个观察值。
我知道 Keras 的 ImageDataGenerator
有助于在训练模型之前扩充数据以增加观察的数量,但是是否可以只扩充一个 class,如添加噪声,仅对少数人进行模糊处理或变换 class?
有一个机器学习工具包可让您对图像执行增强,包括变换、Zoom/Strech、噪声和模糊。
图像增强器可以在这里找到: https://github.com/codebox/image_augmentor
您可以尝试与 fit() 函数中的 class_weight 参数保持平衡,该函数采用字典映射 classes 到权重值。您甚至可以使用 sklearn 来计算适当的 class 权重。请在此处查看 PScs 的回答:https://datascience.stackexchange.com/questions/13490/how-to-set-class-weights-for-imbalanced-classes-in-keras
或者您可以将 Keras ImageDateGenerator 与 flow_from_directory() 一起使用,并使用 save_to_dir 参数保存图像扩充 运行 目录,从而生成更多未被充分代表的示例 class: https://keras.io/preprocessing/image/#imagedatagenerator
对于那个假人 运行 你只提供了你想要更多样本的 class 的样本。
然后您将平衡的训练和验证数据用于实际训练。