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

What kind of activation is used by ScikitLearn's MLPClasssifier in output layer?

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

因为只有一个 class 的输出,我假设使用了 One-hot_encoding 之类的东西。这个假设是否正确? MLPClassifier 是否有解决此问题的文档?

您掌握了 docs 中的大部分信息。 MLP 是一个简单的神经网络。它可以使用多个激活函数,默认为relu

它不使用单热编码,而是您需要输入带有 class 标签的 y(目标)向量。

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

From Documentation:

out_activation_ : string Name of the output activation function.

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

activation : {‘identity’, ‘logistic’, ‘tanh’, ‘relu’}, default ‘relu’ Activation function for the hidden layer.

输出层在this段代码内部决定。

# Output for regression
if not is_classifier(self):
    self.out_activation_ = 'identity'
# Output for multi class
elif self._label_binarizer.y_type_ == 'multiclass':
    self.out_activation_ = 'softmax'
# Output for binary class and multi-label
else:
    self.out_activation_ = 'logistic'

因此,对于二进制 classification 它将是 logistic 而对于 multi-class 它将是 softmax.

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