假设我使用神经网络进行2类分类。在使用培训集对网络进行培训之后,我想要预测没有类标签的数据集的类标签。现在,通过再培训,相同的数据集提供了不同的结果。例如,在一个培训班中,一个样本给出了它属于1类的输出,而在另一个培训班中给出了属于第2类的输出,那么应该将哪个值作为正确的输出?
发布于 2015-09-29 09:48:38
这是大多数分类器的正常行为。你不能保证100%的机器学习的准确性,一个直接的结果是分类器会犯错误。不同的分类器,即使对相同的数据进行训练,也会犯不同的错误。不同起始权值的神经网络每次都会收敛到略有不同的结果。
而且,也许在你的问题中,分类是在某个光谱上的人为构造(例如“汽车”对“货车”或“安全”对“危险”),在这种情况下,错误在一个情况下是完全合理和预期的?
您应该使用您最信任的分类器的值。若要确定哪一种,即在延迟集上使用交叉验证(在其中您知道真正的标签),并使用最精确的分类器,或其他度量,例如日志丢失或ROC下的区域。您应该选择哪一种度量标准,取决于问题的性质和犯错误的后果。
或者,您可以考虑平均类概率来确定最佳预测--也许一个分类器对类分配很有信心,而另一个则没有,所以一个平均值将与第一个分类器一起使用。某种类型的模型聚合通常会提高准确性,并且在Kaggle竞赛中很常见,当你想要尽可能高的分数时,不介意额外的努力和成本。但是,如果您想使用聚合来解决您的问题,同样,您应该使用验证和合适的度量来测试您的假设,这样您就可以知道它是否真的是一种改进。
https://datascience.stackexchange.com/questions/8231
复制相似问题