我正在开发一个使用Backpropation算法的项目。所以我正在学习scikit-learn中的反向传播算法。
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以及激活选项都有不同的求解器选项。关于哪种选项应该用于反向传播,是否有最佳实践?
答案 0 :(得分:2)
solver是在此处设置优化算法的参数。通常,设置sgd (stochastic gradient descent)
效果最好,也可以实现更快的收敛。在使用sgd
时除了设置learning_rate
之外,您还需要设置momentum
参数(默认值= 0.9有效)。
激活函数选项用于引入模型的非线性,如果模型有多个层,则必须使用激活函数(如relu (rectified linear unit)
)来引入非线性,否则使用多个层将变得无用。 relu
是最简单,最有用的激活函数。
答案 1 :(得分:0)