Keras - 使用大量特征

Keras - Using large numbers of features

我正在开发一个使用 20,000 个特征预测标签的 Keras NN。我可以构建网络,但必须使用系统 RAM,因为模型太大无法放入我的 GPU,这意味着 运行 我的机器上的模型需要几天时间。输入当前为 500,20000,1 输出为 500,1,1

-我在第一个完全连接的(密集)层中使用了 5,000 个节点。这足以满足功能的数量吗? - 有没有办法降低维数以便 运行 它在我的 GPU 上?

我假设每个输入条目的大小为 (20000, 1) 而您有 500 个条目组成您的数据库?

在这种情况下,您可以从减少 batch_size 开始,但我还假设您的意思是即使网络权重也不适合您的 GPU 内存。在那种情况下,你唯一能做的(据我所知)就是降维。

您有 20000 个特征,但它们对输出值都很重要的可能性很小。使用 PCA(主成分分析),您可以检查所有参数的重要性,您可能会发现其中只有少数几个对最终结果的重要性达到 90% 或更高。在这种情况下,您可以忽略不重要的特征并创建一个网络来预测输出,假设仅基于 1000 个(或更少)特征。

重要说明:我能想到的唯一原因是您需要那么多功能的地方是,如果您正在处理图像、光谱(您可以将光谱视为一维图像)...在这种情况下,我建议研究卷积神经网络。它们不是完全连接的,这消除了很多可训练的参数,同时可能表现得更好。