我正在Keras中建立顺序神经网络模型以进行二进制分类。训练数据约有60万行和2,000个特征,因此每个时期和每一层都非常耗时。我相信许多功能与模型无关,可以完全删除以使模型更薄,因此使用起来会更快。我运行了一个带有200个神经元隐藏层的简单模型。如何确定哪些功能(实际上是输入层中的节点)没有意义,所以我可以将它们从数据集中删除并重新运行没有它们的模型?
[机器学习中有一个非常大的主题,称为feature selection
。但是,人们认为神经网络可以通过使用权重自动选择问题的最佳特征,从而或多或少地考虑其中的一些特征。神经网络也需要大量经验才能正确调整。我绝对建议您增加网络的层次,因为您拥有大量数据和功能并使用l1 regularisation
,以便获得sparse权重并排除大多数功能。同样,这些信息是指示性的,因为我对您的数据集和网络体系结构一无所知。最后,我建议您先学习更多有关机器学习的基础知识,然后再继续学习神经网络,然后再实践实际数据。