Python scikit学习MLPClassifier"hidden_​​layer_sizes"

Chu*_*aka 39 neural-network python-2.7 scikit-learn

我迷失在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.
Run Code Online (Sandbox Code Playgroud)

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

    hidden_layer_sizes=(7, 1)
Run Code Online (Sandbox Code Playgroud)

Far*_*eer 52

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

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

  • (10,10,10)如果你想要3个隐藏层,每个隐藏层有10个隐藏单元. (32认同)
  • 谢谢!这是令人困惑的部分。如果我正在寻找 3 个隐藏层和 10 个隐藏单元怎么办?隐藏层大小=(10,1)? (2认同)
  • 所以我的不解是默认值是1个隐藏层,每个隐藏层有100个隐藏单元?谢谢! (2认同)

sha*_*hak 20

我知道我迟到了回答,还在分享......

在文件中

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,)

希望这能完整回答你的查询..

  • 当您 fit() (训练)分类器时,它会将输入神经元的数量固定为等于每个数据样本中的特征数量。并且输出不是“y”或目标变量中的类数。 (3认同)