ScikitLearn 的 MLPClasssifier 在输出层使用什么样的激活?

S.M*_*ria 2 neural-network scikit-learn mlp

我目前正在处理给定类标签 0 和 1 的分类任务。为此,我使用 ScikitLearnMLPClassifier为每个训练示例提供 0 或 1 的输出。但是,我找不到任何文档,说明 MLPClassifier 的输出层到底在做什么(哪个激活函数?编码?)。

由于只有一个类的输出,我假设使用了诸如 One-hot_encoding 之类的东西。这个假设正确吗?有没有任何文档可以解决这个问题MLPClassifier

Ven*_*lam 5

out_activation_属性将为您提供 MLPClassifier 输出层中使用的激活类型。

\n\n

来自文档:

\n\n
\n

out_activation_ : string\n 输出激活函数的名称。

\n
\n\n

activation参数只是设置隐藏层的激活函数。

\n\n
\n

激活 : {\xe2\x80\x98identity\xe2\x80\x99, \xe2\x80\x98logistic\xe2\x80\x99, \xe2\x80\x98tanh\xe2\x80\x99, \xe2\x80\x98relu\xe2 \x80\x99},默认 \xe2\x80\x98relu\xe2\x80\x99\n 隐藏层的激活函数。

\n
\n\n

输出层是在这段代码内部决定的。

\n\n
# Output for regression\nif not is_classifier(self):\n    self.out_activation_ = \'identity\'\n# Output for multi class\nelif self._label_binarizer.y_type_ == \'multiclass\':\n    self.out_activation_ = \'softmax\'\n# Output for binary class and multi-label\nelse:\n    self.out_activation_ = \'logistic\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

因此,对于二元分类,它是logistic,对于多类,它是softmax

\n\n

要了解有关这些激活的更多详细信息,请参阅此处

\n