Scikit学习多层神经网络



根据Scikit learn提供的文档

hidden_layer_sizes : tuple, length = n_layers - 2, default (100,)

我毫不怀疑。

在我的代码中,我配置的是

MLPClassifier(algorithm='l-bfgs', alpha=1e-5, hidden_layer_sizes=(5, 2), random_state=1)

那么52表明了什么呢?

我的理解是,5是隐藏层的数量,但是2是多少?

参考 - http://scikit-learn.org/dev/modules/generated/sklearn.neural_network.MLPClassifier.html#

从您提供的链接中,在参数表中,hidden_layer_sizes行:

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

这意味着您将拥有len(hidden_layer_sizes)隐藏层,并且每个隐藏层i都将具有hidden_layer_sizes[i]神经元。

在您的情况下,(5, 2)意味着:

  • 1rst 隐藏层有 5 个神经元
  • 第 2 个隐藏层有 2 个神经元

所以隐藏层的数量是隐式设置

我在网上找到的一些细节,关于sklearn中输入层、隐藏层和输出层的架构和单位。

  • 输入单位数将是要素数
  • 对于多类分类,输出单元数将是标签数
  • 尝试单个隐藏层,
  • 或者如果有多个隐藏层,则每个隐藏层应具有相同数量的单元
  • 隐藏层中的单元越多越好,尝试与输入要素数量相同的两倍甚至三四倍

相关内容

  • 没有找到相关文章