我目前正在处理给定类标签 0 和 1 的分类任务。为此,我使用 ScikitLearnMLPClassifier
为每个训练示例提供 0 或 1 的输出。但是,我找不到任何文档,说明 MLPClassifier 的输出层到底在做什么(哪个激活函数?编码?)。
由于只有一个类的输出,我假设使用了诸如 One-hot 编码之类的东西。这个假设正确吗?有没有任何文档可以解决这个问题MLPClassifier
?
out_activation_
属性将为您提供 MLPClassifier 输出层中使用的激活类型。
来自文档: https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPClassifier.html#sklearn.neural_network.MLPClassifier.predict_proba
输出_激活_:细绳
输出激活函数的名称。
The activation
param 只是设置隐藏层的激活函数。
激活 :{‘identity’, ‘logistic’, ‘tanh’, ‘relu’}, 默认 ‘relu’
隐藏层的激活函数。
输出层在内部决定this https://github.com/scikit-learn/scikit-learn/blob/7b136e9/sklearn/neural_network/multilayer_perceptron.py#L267一段代码。
# 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 https://github.com/scikit-learn/scikit-learn/blob/7b136e92acf49d46251479b75c88cba632de1937/sklearn/neural_network/_base.py#L29.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)