首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mlr3最优集成平均值

mlr3最优集成平均值
EN

Stack Overflow用户
提问于 2021-04-02 23:29:04
回答 1查看 125关注 0票数 0

我试图优化两个逻辑回归的平均预测在一个分类任务中使用一个超级学习者。

我感兴趣的指标是classif.auc

mlr3帮助文件告诉我(?mlr_learners_avg)

预测平均使用权重(按数据中的出现顺序),这些权重使用包"nloptr“中为度量值提供的”nloptr“包的非线性优化进行优化(默认值为classif.acc for LearnerClassifAvg,regr.mse for LearnerRegrAvg)。学习的权重可以从$model获得。在SuperLearner R软件包中实现了非线性优化.关于更详细的分析,请参考LeDell (2015年)。

关于这一信息,我有两个问题:

  1. 当我查看源代码时,我认为LearnerClassifAvg$new()默认为"classif.ce",这是真的吗?我想我可以把它设置为classif.aucparam_set$values <- list(measure="classif.auc",optimizer="nloptr",log_level="warn")
  2. 帮助文件引用SuperLearner包和LeDell 2015。据我正确的理解,上述论文中提出的“AUC-通过金属学习最大化集成”的解决方案并没有影响到mlr3?还是我错过了什么?这个解决方案能应用于mlr3吗?在mlr3的书中,我找到了一个关于调用外部优化函数的段落,这对SuperLearner来说可能吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-20 09:46:50

据我所知,LeDell2015提出并评估了一种一般策略,通过学习最优权重,将AUC优化为一个黑箱函数。他们并没有真正提出最佳策略或任何具体的默认设置,所以我研究了SuperLearner包的AUC优化策略的缺省值。

假设我正确理解了这篇论文:

LearnerClassifAvg基本实现了LeDell2015中提出的方法,即利用非线性优化方法对任意度量的权重进行优化。LeDell2015关注于优化AUC的特殊情况。正如您正确地指出的,通过将度量设置为"classif.auc",您将得到一个优化AUC的元学习者。在使用优化例程的默认情况下,mlr3pipelinesSuperLearner包之间存在偏差,其中使用NLOPT_LN_COBYLASuperLearner .通过optim函数使用Nelder方法来最小化秩损失(从文件中).

因此,为了获得完全相同的行为,您需要实现一个Nelder-Mead bbotk::Optimizer 类似于这里,它简单地用方法Nelder-Mead包装stats::optim,并仔细比较设置和停止条件。我很有信心NLOPT_LN_COBYLA提供了一些可比较的结果,LeDell2015对不同的优化器进行了比较,供进一步参考。

感谢您发现文档中的错误。我同意,描述有点不清楚,我会努力改进这一点!

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

https://stackoverflow.com/questions/66926354

复制
相关文章

相似问题

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