深度学习:参数选择和结果解释

时间:2018-01-18 11:30:42

标签: machine-learning deep-learning

我在MLP中实现了多类(7个标签)分类问题。我试图根据一些数据对7种癌症进行分类。总体准确率非常低,约为58%。然而,对于不同的参数,一些癌症被精确地分类为约90%。癌症1,2,3等以下意味着不同类型的癌症,例如1 =乳腺癌,2 =肺癌等。现在,对于不同的参数设置,我得到不同的分类准确度。例如,

1。超参数

    learning_rate = 0.001
    training_epochs = 10
    batch_size = 100
    hidden_size = 256
    #overall accuracy 53%, cancer 2 accuracy 91%, cancer 5 accuracy 88%, 
     #cancer 6 accuracy 89% 

2。超参数

    learning_rate = 0.01
    training_epochs = 30
    batch_size = 100
    hidden_size = 128
    #overall accuracy 56%, cancer 2 accuracy 86%, cancer 5 accuracy 93%, 
    #caner 6 accuracy 75%

如您所见,对于不同的参数设置,我得到了完全不同的结果。癌症1,3,4,7的准确性非常低,因此我将其排除在外。但是癌症2,5,6的结果相对较好。但是,对于癌症6,结果根据参数设置而变化很大。

一个重要的注意事项是,这里的整体准确性并不重要,但如果我可以将2-3种癌症分类,其准确度超过90%则更为重要。所以我的问题是,我如何解释结果?在我的论文中,我应该如何显示结果?我应该展示/使用哪些参数设置?或者我应该为不同的癌症类型显示不同的参数设置?基本上,如何处理这种情况?

1 个答案:

答案 0 :(得分:1)

数据不平衡?

您必须问自己的第一个问题是,您是否拥有平衡数据集,或者您是否存在数据不平衡?我的意思是,你在训练和测试数据集中每个班级有多少个实例?

假设,例如,假设数据集中所有实例的90%是癌症2,其余10%分布在其他类中。然后,通过实施一个非常愚蠢的分类器,您可以很容易地获得90%的准确度,该分类器简单地将所有内容归类为癌症2.但这可能不是您想要的分类器。

结果解释

我建议报告https://www.1mg.com/而不仅仅是原始准确度数字。这将提供关于哪些类与分类器的哪些其他类混淆的一些信息,这可能是有趣的(例如,如果它们经常彼此混淆,则不同类型的癌症可能在某种程度上相似)。特别是如果您有数据不平衡,我还建议报告其他指标,如精确度和/或召回,而不是精度。

要使用/显示哪些参数设置?

这取决于你真正试图解决的问题。是否正确检测每个班级同样重要?如果是这样,整体准确性可能是最重要的指标。某些类对于准确检测是否比其他类更重要?在这种情况下,您可能需要研究“成本敏感的分类”,其中不同的分类错误具有不同的成本。如果您根本不知道(没有这些领域知识),我建议您报告尽可能多的不同设置和指标。