如何在SciKitLearn中为MLPRegressor确定隐藏层大小?
可以说我正在使用以下代码创建神经网络:
from sklearn.neural_network import MLPRegressor
model = MLPRegressor(
hidden_layer_sizes=(100,),
activation='relu'
)
model.fit(X_train, y_train)
问题:
对于hidden_layer_sizes,我只需将其设置为默认值即可。但是,定义中的隐藏层数是多少?是100吗?
解决方案:
从文档:
hidden_layer_sizes:元组,长度= n_layers-2,默认(100,)**
第i个元素代表第i个隐藏层中的神经元数量。
这是length = n_layers - 2
因为隐藏层的数量是层的总数n_layers
减去输入层的1减去输出层的1。
在您的(默认)情况下(100,)
,它表示100个单位(神经元)的一个隐藏层。
对于3个分别为100、50和25个单位的隐藏层,它将是
hidden_layer_sizes = (100, 50, 25)
比如:(10,10,10)表示为一共3个隐藏层,每层10个神经元。
参考文献:
https://blog.csdn.net/weixin_45666566/article/details/107858035
https://blog.csdn.net/G_B_L/article/details/104278295
网友评论