需要帮助理解 MLPClassifier

Need help understanding the MLPClassifier

我已经使用 MLPClassifier 一段时间了,我认为我一直对函数的作用有错误的解释,我想我现在明白了,但我不确定.所以我总结一下我的理解,如果你能在正确的理解上补充你的想法就太好了。

因此,我们使用 MLPClassifier 构建了一个基于训练数据集的神经网络。设置 early_stopping = True 可以在训练过程中使用验证数据集,以检查网络是否也在新数据集上工作。如果 early_stopping = False,则不会完成进程内的验证。一个完成构建后,如果我们愿意,我们可以使用拟合模型来预测第三个数据集。 我之前在想的是,在整个训练过程中,验证数据集被放在一边,并在每个时期之后进行验证。

我不确定我的问题是否可以理解,但如果你能帮我理清思路就太好了。

sklearn.neural_network.MLPClassifier 默认使用 随机梯度下降 (SGD)(的变体)。您的问题可以更笼统地描述为如何使用 SGD 在监督学习环境中优化参数值。这里没有 Multi-layer 感知器 (MLP) 的特定内容。

So with the MLPClassifier we are building a neural network based on a training dataset. Setting early_stopping = True it is possible to use a validation dataset within the training process

正确,但需要注意的是这个验证集是从原始训练集中拿走的。

in order to check whether the network is working on a new set as well.

不完全是。 early stoping的要点是在训练过程中跟踪验证分数,一旦验证分数不再显着提高就停止训练。

If early_stopping = False, no validation within [t]he process is done. After one has finished building, we can use the fitted model in order to predict on a third dataset if we wish to.

正确。

What I was thiking before is, that doing the whole training process a validation dataset is being taken aside anways with validating after every epoch.

正如您现在可能知道的那样,事实并非如此。将学习过程划分为 epoch 有点武断,与验证无关。