如果我当前模型的准确率很低(50 %50%) 并且我们想尽量减少收集更多数据的时间,我们应该尝试其他模型吗?

人工智能 机器学习 深度学习 训练 监督学习 标记数据集
2021-10-19 10:21:07

假设我们有一个数据集4,000标记的例子。结果变量是三元的(三个可能的分类值)。假设给定模型的准确性“差”(例如,小于50%)。

问题。您应该尝试不同的传统机器学习模型(例如多项逻辑回归、随机森林、XGBoost 等),获取更多数据,还是尝试各种深度学习模型,如卷积神经网络或循环神经网络?

如果目的是最大程度地减少收集训练数据的时间和精力,那么在这种情况下,深度学习模型是否比传统机器学习模型更可行?

3个回答

要了解您的模型是否需要更多训练数据,请尝试绘制基于训练集大小增加的“学习曲线”。

基本上,您计算 1、2、3、4、5、...、m 个训练样本的训练和验证准确度指标。验证集的大小可能会随着时间的推移而保持不变。如果在你的数据集被完全使用的情况下准确率还在上升,那么你需要更多的训练数据。

准确性有时可能是一个非常粗略的指标。当它应用于三类问题时,人们通常采用具有最大预测概率的类标签并对其进行预测。单个标签的概率被忽略。我建议您计算每个类别的灵敏度和特异性以及 ROC 曲线下面积的准确性和准确性。对于这两种情况,您可以采用 1 与休息(即 1 类与 2 和 3 类、2 类与 1 和 3 类等)的方法来计算指标。即使您的准确率低于 50%,该模型可能仍然可以很好地预测至少一个类别,因此我建议在做出决定之前进行更多分析。

我还建议将您的模型(如果它是基于深度学习的)与传统类型的模型进行比较,因为深度学习通常最适合大数据和您拥有的如此小的数据集,使用深度学习可能没有任何好处(除非您正在利用迁移学习)。

如果数据收集成本很高,最好先尝试改进您的模型。

您说您的准确性很差,但您是否使用过更好的性能指标?混淆矩阵可能会有所帮助。另一个潜在问题是您的数据可能不平衡。如果您的模型表现不佳,例如,没有足够的第 2 类样本,该怎么办。现在您知道要改进您的模型,您需要模式 2 类样本。这可以通过收集更多数据或通过其他类不平衡方法(例如 SMOTE)来获得。

你也可以只在测试集上检查性能是否不好。模型是否过拟合?或者它在训练集上的表现也很差?欠拟合。4000 个样本对于一个神经网络应该足够了,但不是一个非常大的深度学习模型,可能是一个更小的模型。在您的数据上测试其他机器学习模型绝对是一个好主意。您不仅可以为您的模型提供基准,还可以找到更好的模型。

如果你觉得你的数据够好,你的模型够用,可以试试超参数优化。这对于充分利用神经网络非常有用,但它需要反复试验,并且可能需要一些时间才能找到最佳超参数。