用于序数分类的 CNN

数据挖掘 机器学习 深度学习 图像分类 阶级失衡 卷积神经网络
2022-03-11 16:29:57

我们如何设计用于序数分类的 CNN?

我正在尝试分析植物叶片图像中的疾病。我已经完成了疾病类型分类。现在我们需要按照 1 到 10 的等级(序数等级)对病害程度进行分类,其中 1 表示叶子上几乎没有病害部位,10 表示完全病害。

  1. 是否有可能为这项任务构建一个 CNN?

  2. 如何处理每个序数级别的训练样本不平衡?

2个回答

NN 不适用于回归任务。

我会训练 10 个网络,每个数量级一个。

CNN #k 将是一个二元分类器,预测幅度是k 还是更小

换句话说,CNN#10 是一个始终返回 1 的函数,而 CNN#0 是您已经训练过的二元分类器。

使用您为分类任务训练的相同模型,并附加 10 个逻辑单元,分别指示幅度是否为 k 或更小,如前所述。

至于不平衡问题,您可以选择批次示例以对所有类具有相等的概率。

直观的解释:

A 类包含 10 个示例,而 B 类包含 90 个示例。将 A 类的每个示例复制八次,然后将两个类示例打乱,然后在训练期间,保持从均匀分布中采样。

当然,您不需要显式复制示例数据,只需保留映射到输入向量的索引列表并从那里开始复制。