dar*_*rse 1 python machine-learning neural-network scikit-learn
假设我正在使用以下代码创建一个神经网络:
from sklearn.neural_network import MLPRegressor
model = MLPRegressor(
hidden_layer_sizes=(100,),
activation='identity'
)
model.fit(X_train, y_train)
Run Code Online (Sandbox Code Playgroud)
对于hidden_layer_sizes,我只是将其设置为默认值。但是,我真的不明白它是如何工作的。我的定义中隐藏层的数量是多少?是100吗?
从文档:
hidden_layer_sizes :元组,长度 = n_layers - 2,默认 (100,)
第 i 个元素表示第 i 个隐藏层中的神经元数量。
是length = n_layers - 2,因为隐藏层的数量是n_layers输入层的总层数减 1,输出层的总层数减 1。
在您的(默认)情况下(100,),它意味着一个 100 个单位(神经元)的隐藏层。
对于分别有 100、50 和 25 个单元的 3 个隐藏层,它将是
hidden_layer_sizes = (100, 50, 25)
Run Code Online (Sandbox Code Playgroud)
请参阅文档中的示例(它用于MLPClassifier,但逻辑是相同的)。