【问题标题】:What loss functions are associated with the distributions in h2o xgboost and gbm?哪些损失函数与 h2o xgboost 和 gbm 中的分布相关联?
【发布时间】:2021-04-06 18:19:30
【问题描述】:

我需要知道在高斯、二项式和多项式分布的 h2o gbm 和 xgboost 函数中使用了哪些损失函数。不幸的是,我对 Java 的了解非常有限,我无法真正破译源代码,而且似乎没有任何文档说明哪个发行版与哪个功能相关联。我想我从here 收集到它是二项式的对数损失和高斯的 MSE,但我找不到多项式的任何东西。这里有人可能知道答案吗?

【问题讨论】:

    标签: h2o loss-function


    【解决方案1】:

    感谢您的提问。我们绝对应该在documentation 中提供这些信息。我们正在努力改进文档。回答你的问题:

    多项分类的损失函数是 H2O GBM 和 XGBoost 的 softmax。 H2O GBM 是基于此paper 实现的:贪婪函数逼近:梯度提升机,Jerome H. Friedman 2001。在第 4.6 章。作者很好地解释了它是如何计算的以及为什么。

    基于损失函数定义了negHalfGradient 方法,每个分布都单独实现它。对于多项分布 (here),实现如下:

    @Override
    public double negHalfGradient(double y, double f, int l) {
        return ((int) y == l ? 1f : 0f) - f;
    }
    

    地点:

    • y 是实际回复
    • f 是链接空间中的预测响应
    • l 是一个类标签(按字典顺序从原始标签转换为 0 类的编号 - 1)

    如果您还有其他问题,请告诉我。

    【讨论】:

    • 感谢您提供非常有帮助的答案。只是一个后续问题:假设 MSE 用于高斯,logloss 用于二项式,我是否正确? XGBoost 和 GBM 在损失函数方面有什么区别吗?
    猜你喜欢
    • 2017-03-18
    • 2019-04-30
    • 2019-02-13
    • 2020-02-02
    • 2017-06-18
    • 2018-03-07
    • 2019-05-24
    • 2013-02-28
    • 2019-03-07
    相关资源
    最近更新 更多