上下文:
我正在使用scikit库中的被动式攻击程序,不知道是使用热启动还是部分匹配。在
迄今为止的努力:
https://github.com/scikit-learn/scikit-learn/issues/1585
我的观察结果:
_fit
依次调用_partial_fit
。
设置warm_start
时,_fit
使用self.coef_
调用>
当在不设置_partial_fit
参数和设置self.coef_
的情况下调用self.coef_
时,它将继续使用self.coef_
问题:
我觉得两者最终都是一样的功能。那么,它们之间的基本区别是什么?在哪些情况下,它们中的任何一个都被使用?在
我错过了什么明显的东西吗?感谢任何帮助!在
如果
warm_start = False
,则对.fit()
(在对.fit()
或partial_fit()
的初始调用之后)的每个后续调用都将重置初始化的模型可训练参数。如果warm_start = True
,对.fit()
的每个后续调用(在对.fit()
或partial_fit()
的初始调用之后)将保留上一次运行中模型的可训练参数的值,并最初使用这些值。 不管warm_start
的值是多少,对partial_fit()
的每次调用都将保留上一次运行的模型参数,并最初使用这些参数。在使用
MLPRegressor
的示例:首先,让我们看看}之间的区别。在
.fit()
和{.fit()
可以让你从头开始训练。因此,您可以将此选项视为一个只能对模型使用一次的选项。如果您使用一组新数据再次调用.fit()
,那么模型将建立在新数据之上,并且不会影响以前的数据集。在.partial_fit()
将允许您使用增量数据更新模型。因此,对于一个模型,此选项可以多次使用。当整个数据集无法加载到内存中时,请参阅here。在如果}都要使用一次,那么这没有什么区别。在
.fit()
或{warm_start
只能在.fit()
中使用,它可以让你从前面的fit()
的合作中开始学习。现在它听起来可能与partial_fit()
的目的相似,但是推荐的方法是partial_fit()
。可以用相同的增量数据做partial_fit()
几次,以提高学习效果。在我不知道被动侵略者,但至少在使用SGDRegressor时,}将适合多个纪元 (直到损失收敛或}它将表现为将旧数据和新数据组合在一起,并对模型进行一次拟合,直到收敛。在
partial_fit
只适合1个纪元,而{max_iter
达到)。因此,当将新数据拟合到模型中时,partial_fit
只会向新数据一步更正模型,但是使用fit
和{示例:
相关问题 更多 >
编程相关推荐