首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调整最大熵的参数?

如何调整最大熵的参数?
EN

Stack Overflow用户
提问于 2017-11-24 05:59:16
回答 1查看 537关注 0票数 0

我正在做文本分类与科学学习的逻辑回归函数(model.LogisticRegression.html)。我使用网格搜索来为C参数选择一个值。我是否需要对max_iter参数做同样的操作?为什么?

在Sklearn中,C和max_iter参数都有默认值,这意味着它们需要被调优。但是,据我所知,早期停止和l1/l2正则化是避免过度拟合和执行其中之一的两个绝望的方法。假设调优max_iter的值等同于早期停止,这是否是错误的?

总之,以下是我的主要问题:

max_iter需要调优吗?为什么?(文档中说,它只对某些求解者有用)

2-调优max_iter是否等同于早期停止?

3-我们应该同时进行早期停止和L1/L2正规化吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-24 08:43:30

以下是对您编号问题的一些简单的回答,并且非常简单:

  1. 是的,有时你需要调整max_iter。为什么?看下一个。
  2. 不是的。max_iter是逻辑回归分类器的求解器在停止前允许经过的迭代次数。目的是对logistic回归模型的参数达到一个“稳定”的解,即它是一个优化问题。如果您的max_iter太低,您可能无法达到最优的解决方案,您的模型是不合适的。如果你的价值太高,你基本上可以永远等待一个解决方案,以获得很少的准确性。如果max_iter太低,你也可能陷入局部最优状态。
  3. 是还是不是。 a. L1/L2正则化本质上是对复杂模型的“平滑”,因此它不适合于训练数据。如果参数变得太大,它们的成本就会受到惩罚。 早期停止是指在您认为可以接受的某个阶段(在max_iter之前)停止优化您的模型(例如,通过梯度下降)。例如,可以使用RMSE这样的度量来定义何时停止,或者对测试/培训数据中的度量进行比较。 什么时候使用它们?这取决于你的问题。如果您有一个简单的线性问题,具有有限的功能,您将不需要正则化或早期停止。如果你有成千上万的特点和经验过度适合,然后应用正则化作为一个解决方案。如果您不想在使用参数时等待优化运行到最后,因为您只关心一定程度的准确性,您可以应用早期停止。

最后,如何正确地调优max_iter?这取决于你手头的问题。如果您发现您的分类度量显示您的模型表现不佳,则可能是您的求解器没有采取足够的步骤来达到最小值。我建议您手工完成此操作,并查看成本与max_iter之间的关系,以确定它是否已达到最小值,而不是自动完成。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47467166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档