是否可以在 sklearn 中执行小批量梯度下降以进行逻辑回归?我知道有LogisticRegression
模型和SGDClassifier
(可以使用log
损失函数)。但是,LogisticRegression
它适用于整个数据集并SGDClassifier
逐个样本地拟合(请随意更正该陈述,但这就是我理解随机梯度下降的方式)。
还有一种partial_fit
方法,但仅适用于 SGD。我相信,如果我使用partial_fit
SGD,它会在每次遍历下一个数据集样本时更新权重(就像普通fit
方法一样)。因此,如果我向它提供 10 个样本的块,partial_fit
它会进行 10 次更新——但这不是我想要的。
我需要得到的是在每个第 n 个样本之后更新权重,就像在小批量梯度下降中一样。根据我所读到的内容LogisticRegression
,可以使用所谓的东西warm_start
,这意味着,来自先前fit
方法的权重被设置为 current 的初始值fit
。
如果这个理论warm_start
是真的,我可以fit
多次使用方法,每次只在一个小批量上?或者有没有其他方法可以在 sklearn 中进行小批量梯度下降?
我发现这个问题非常相似,只是它没有讨论这个warm_start
想法,所以这就是我再次问的原因。