sklearn多层感知器中的partial_fit函数

时间:2017-01-27 23:30:23

标签: python scikit-learn neural-network perceptron

我正在scikit-learn使用partial_fit(X,y)函数训练多层感知器(MLP)(默认选项),我注意到调用

之间存在差异
partial_fit([X1],[y1])
partial_fit([X2],[y2])

partial_fit([X1,X2],[y1,y2])

第二种选择似乎更快,但结果似乎更糟。 有人能解释我发生了什么吗?

1 个答案:

答案 0 :(得分:0)

如果没有最小的,可重复的例子,回答这个问题有点困难,但这是我的看法。

sklearn perceptron的属性batch_size的默认值为200.当您设置verbose=True的{​​{1}}时,您会看到第一个示例(连续两次调用)导致两次迭代,而第二个示例导致一次迭代,即第二次MLPClassifier调用改善了第一次调用的结果。在每次迭代中,总样本再次分成块。

如果您有一个小的sample_size(下面的代码段中为< 5000),则相对于样本大小,默认partial_fit太大,将其减少到100将为两种方法提供更好的结果但是赢得了' t是连续调用和单行方法之间的差异。

此工件随着更高的样本数量(> 10 ^ 6)而消失。

enter image description here

batch_size
相关问题