我目前正在处理具有给定类标签 0 和 1 的分类任务。为此,我使用 ScikitLearnMLPClassifier
为每个训练示例提供 0 或 1 的输出。但是,我找不到任何文档,MLPClassifier 的输出层到底在做什么(哪个激活函数?编码?)。
由于只有一个类的输出,我假设使用了 One-hot_encoding 之类的东西。这个假设正确吗?是否有任何文档可以解决这个问题MLPClassifier
?
我目前正在处理具有给定类标签 0 和 1 的分类任务。为此,我使用 ScikitLearnMLPClassifier
为每个训练示例提供 0 或 1 的输出。但是,我找不到任何文档,MLPClassifier 的输出层到底在做什么(哪个激活函数?编码?)。
由于只有一个类的输出,我假设使用了 One-hot_encoding 之类的东西。这个假设正确吗?是否有任何文档可以解决这个问题MLPClassifier
?
out_activation_
属性将为您提供 MLPClassifier 的输出层中使用的激活类型。
out_activation_ : string 输出激活函数的名称。
参数只是设置隐藏层的activation
激活函数。
activation : {'identity', 'logistic', 'tanh', 'relu'}, default 'relu' 隐藏层的激活函数。
输出层是在这段代码内部决定的。
# 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
。
要了解有关这些激活的更多详细信息,请参见此处。
您拥有文档中的大部分信息。MLP 是一个简单的神经网络。它可以使用多个激活函数,默认为relu
.
它不使用单热编码,而是需要输入y
带有类标签的(目标)向量。