需要帮助来了解MLPClassifier

时间:2020-10-03 11:29:05

标签: scikit-learn training-data test-data mlp

我已经使用MLPClassifier一段时间了,我认为我对函数在整个过程中所做的事情有一个错误的解释,我想我现在就知道了,但是我不确定。因此,我将总结一下我的理解,并且如果您能对正确的理解添加您的想法,那将是很棒的。

因此,借助MLPClassifier,我们正在基于训练数据集构建神经网络。设置early_stopping = True可以在训练过程中使用验证数据集,以便检查网络是否也正在使用新的集合。如果为early_stopping = False,则过程中将不进行任何验证。完成构建后,如果需要,我们可以使用拟合模型来预测第三个数据集。 我以前想过的是,在整个培训过程中,都会将验证数据集放在一边,并在每个时期之后进行验证。

我不确定我的问题是否可以理解,但是如果您能帮助我清除我的想法,那将是很好的选择。

1 个答案:

答案 0 :(得分:0)

sklearn.neural_network.MLPClassifier默认使用随机梯度下降(SGD)。您的问题可能更笼统地描述为在有监督的学习环境中如何使用SGD优化参数值。此处没有特定的多层感知器(MLP)。

因此,借助MLPClassifier,我们正在基于训练数据集构建神经网络。设置early_stopping = True可以在训练过程中使用验证数据集

正确,但是应该注意,该验证集已从原始训练集中删除。

为了检查网络是否也正在使用新的集合。

不完全是。尽早停止的目的是在训练过程中跟踪验证分数,并在验证分数停止明显改善后立即停止训练。

如果early_stopping = False,则不会在过程中进行任何验证。完成构建后,如果需要,我们可以使用拟合模型来预测第三个数据集。

正确。

我以前想过的是,在整个训练过程中,都会将验证数据集放在一边,并在每个时期之后进行验证。

您可能现在已经知道,事实并非如此。将学习过程划分为几个时期是任意的,与验证无关。