ScikitLearn的MLPClasssifier在输出层中使用哪种激活方式?

时间:2019-03-25 12:30:40

标签: scikit-learn neural-network mlp

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

因为只有一个类的输出,所以我假设使用了像One-hot_encoding这样的东西。这个假设正确吗?是否有任何针对MLPClassifier的问题的文档?

2 个答案:

答案 0 :(得分:2)

docs中包含大多数信息。 MLP是一个简单的神经网络。它可以使用多个激活功能,默认值为relu

它不使用一次性编码,而是需要使用类标签输入y(目标)向量。

答案 1 :(得分:1)

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

From Documentation:

  

out_activation_:字符串   输出激活功能的名称。

activation参数仅设置隐藏层的激活功能。

  

激活::{'identity','logistic','tanh','relu'},默认为'relu'   隐藏层的激活功能。

输出层是在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'

因此,对于二进制分类,它将是logistic;对于多分类,它将是softmax

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