Python scikit学习MLPClassifier“hidden_​​layer_sizes”

时间:2016-02-12 13:13:07

标签: python-2.7 scikit-learn neural-network

我迷失在scikit learn 0.18用户手册(http://scikit-learn.org/dev/modules/generated/sklearn.neural_network.MLPClassifier.html#sklearn.neural_network.MLPClassifier)中:

   hidden_layer_sizes : tuple, length = n_layers - 2, default (100,)
   The ith element represents the number of neurons in the ith hidden layer.

如果我在模型中只找到1个隐藏层和7个隐藏单位,我应该这样放?谢谢!

    hidden_layer_sizes=(7, 1)

2 个答案:

答案 0 :(得分:39)

hidden_layer_sizes=(7,)如果你只想要一个带有7个隐藏单位的隐藏图层。

length = n_layers - 2是因为你有1个输入层和1个输出层。

答案 1 :(得分:14)

我知道我迟到了,仍在分享......

在文件

  

hidden_​​layer_sizes:tuple,length = n_layers - 2,默认(100,)

表示: hidden_​​layer_sizes是一个大小元组(n_layers -2)

n_layers表示根据架构我们不需要任何图层。

从n_layers中减去值2,因为两个图层(输入和输出)不是隐藏图层的一部分,因此不属于计数。

default(100,)表示如果没有为hidden_​​layer_sizes提供任何值,则默认架构将有一个输入层,一个隐藏层,包含100个单元和一个输出层。

  

第i个元素表示第i个隐藏层中的神经元数量。

表示元组中的每个条目都属于相应的隐藏层。

示例:

  1. 对于架构56:25:11:7:5:3:1,输入56和1输出 隐藏的层将是(25:11:7:5:3)。所以元组hidden_​​layer_sizes =(25,11,7,5,3,)

  2. 对于架构3:45:2:11:2,输入3和2输出 隐藏的层将是(45:2:11)。所以元组hidden_​​layer_sizes =(45,2,11,)

  3. 希望这能完整回答你的问题。