使用在不同数据集上训练的cnn模型

时间:2019-05-26 18:42:32

标签: deep-learning conv-neural-network

我有3个不同的数据集,其中3个都是用相同化学物质染色的血液涂片图像。血液涂片图像是捕获您的血液的图像,其中包括内部的红血球,白血球。

第一个数据集包含2类:正常与血液癌症 第二个数据集包含2类:正常与血液感染 第三个数据集包含2类:正常与镰状细胞病

所以,我想做的是:当我输入血液涂片图像时,人工智能系统会告诉我它是:正常,血液癌,血液感染或镰状细胞病(4类分类任务)

我该怎么办?

我应该混合这3个数据集并只训练1个模型来检测4个类吗?

还是我应该训练3种不同的模型并将它们组合在一起?如果是,我应该使用哪种方法进行组合?

更新:我搜索了一段时间。这项任务可以称为“学习不忘吗?”

3 个答案:

答案 0 :(得分:0)

这是一个多类分类问题。您可以只训练一个模型,最后一层是4个单元(即输出尺寸)和softmax激活功能的完全连接(密集)层。

答案 1 :(得分:0)

我认为这取决于数据。

您可以使用三个不同的模型并对每个图像进行三个二进制预测。因此,您将获得每个x与正常投票的概率。如果二进制分类是正确的,那么应该可以提供好的结果。但是在这种情况下,您可能会累积错误分类或错误。

如果负担得起,可以训练一个四级模型,并将测试误差与一系列二进制分类进行比较。我了解您已经拥有三个模型。因此,训练另一个人可能并不太昂贵。

如果只能出现其中一个类,则可能要采用四类模型。如果实际上可以同时出现两个(或多个)类,则可以使用一系列二进制分类。

答案 2 :(得分:0)

正如@Peter所说,这完全取决于数据。如果您的肉眼可以轻松分辨出正常,血癌,血液感染,镰状细胞病这4类图像,并且所有类别之间都没有混淆的范围,那么您应该简单地选择一种模型,给出概率所有4个类中的一个(如@maxi marufo所述)。如果类之间存在混淆,并且无法用肉眼分辨图像,或者类之间存在很大的混淆范围,则应使用3种不同的模型,但需要使用。您只需从三个模型中假设p1(正常)和p1(c1),p2(正常)和p2(c2),p3(正常)和p3(c3)获得预测概率。现在您可以求平均值(p1(normal),p2(normal),p3(normal))并为p(normal),p1(c1),p2(c2),p3(c3)使用softmax。在多种尝试方式中,上述可能是其中一种。