我正在做文本分类与科学学习的逻辑回归函数(model.LogisticRegression.html)。我使用网格搜索来为C参数选择一个值。我是否需要对max_iter参数做同样的操作?为什么?
在Sklearn中,C和max_iter参数都有默认值,这意味着它们需要被调优。但是,据我所知,早期停止和l1/l2正则化是避免过度拟合和执行其中之一的两个绝望的方法。假设调优max_iter的值等同于早期停止,这是否是错误的?
总之,以下是我的主要问题:
max_iter需要调优吗?为什么?(文档中说,它只对某些求解者有用)
2-调优max_iter是否等同于早期停止?
3-我们应该同时进行早期停止和L1/L2正规化吗?
发布于 2017-11-24 08:43:30
以下是对您编号问题的一些简单的回答,并且非常简单:
max_iter。为什么?看下一个。max_iter是逻辑回归分类器的求解器在停止前允许经过的迭代次数。目的是对logistic回归模型的参数达到一个“稳定”的解,即它是一个优化问题。如果您的max_iter太低,您可能无法达到最优的解决方案,您的模型是不合适的。如果你的价值太高,你基本上可以永远等待一个解决方案,以获得很少的准确性。如果max_iter太低,你也可能陷入局部最优状态。max_iter之前)停止优化您的模型(例如,通过梯度下降)。例如,可以使用RMSE这样的度量来定义何时停止,或者对测试/培训数据中的度量进行比较。
什么时候使用它们?这取决于你的问题。如果您有一个简单的线性问题,具有有限的功能,您将不需要正则化或早期停止。如果你有成千上万的特点和经验过度适合,然后应用正则化作为一个解决方案。如果您不想在使用参数时等待优化运行到最后,因为您只关心一定程度的准确性,您可以应用早期停止。最后,如何正确地调优max_iter?这取决于你手头的问题。如果您发现您的分类度量显示您的模型表现不佳,则可能是您的求解器没有采取足够的步骤来达到最小值。我建议您手工完成此操作,并查看成本与max_iter之间的关系,以确定它是否已达到最小值,而不是自动完成。
https://stackoverflow.com/questions/47467166
复制相似问题