0

我使用 MLPClassifier 已经有一段时间了,我认为我一直对函数的作用有错误的解释,我想我现在明白了,但我不确定。因此,我将总结我的理解,如果您能在正确的理解上添加您的想法,那就太好了。

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

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

4

1 回答 1

0

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

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

正确,尽管应该注意,这个验证集是从原始训练集中拿走的。

为了检查网络是否也在新的集合上工作。

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

如果early_stopping = False,则在 [t] 过程中没有验证完成。完成构建后,如果我们愿意,我们可以使用拟合模型来预测第三个数据集。

正确的。

我之前的想法是,在整个训练过程中,一个验证数据集被搁置一边,在每个 epoch 之后进行验证。

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

于 2020-10-03T12:21:49.037 回答