Python MLP分类器参数设置

Python MLP分类器参数设置,python,machine-learning,scikit-learn,neural-network,backpropagation,Python,Machine Learning,Scikit Learn,Neural Network,Backpropagation,我正在开发一个使用反向传播算法的项目。所以我在scikit学习反向传播算法 mlp = MLPClassifier(hidden_layer_sizes=(hiddenLayerSize,), solver='lbfgs', learning_rate='constant',learning_rate_init=0.001, max_iter=100000, random_state=1) 有不同的解算器选项,如lbfgs、adam和sgd以及激活选项。关于反向传播应该使用哪个选项,有什么最佳

我正在开发一个使用反向传播算法的项目。所以我在scikit学习反向传播算法

mlp = MLPClassifier(hidden_layer_sizes=(hiddenLayerSize,), solver='lbfgs', learning_rate='constant',learning_rate_init=0.001, max_iter=100000, random_state=1)

有不同的解算器选项,如lbfgs、adam和sgd以及激活选项。关于反向传播应该使用哪个选项,有什么最佳实践吗?

solver是此处设置优化算法的参数。在一般设置下,
sgd(随机梯度下降)
效果最好,而且收敛速度更快。使用
sgd
时,除了设置
learning\u rate
之外,还需要设置
momentum
参数(默认值=0.9)


激活函数选项用于引入模型的非线性,如果您的模型有许多层,则必须使用激活函数,例如
relu(校正线性单元)
引入非线性,否则使用多个层将变得无用
relu
是最简单、最有用的激活功能

ReLu函数的主要问题是所谓的“濒死ReLu”问题。当一个神经元被卡在消极的一面时,它被认为是死亡的,当学习率太大时,它最有可能发生