在我的回归问题中,当使用 LGBM 的内置泊松损失时,我得到了非常好的模型性能。现在我试图在我的自定义目标函数中重现 LGBM 的泊松损失。
这是LGBM的泊松函数源代码:https
max_delta_step=0.7
://github.com/microsoft/LightGBM/blob/7076cb8a3ac3a7b32dcf37be5593dddf27bf7f16/src/objective/regression_objective.hpp#L446在这里配置:https ://github.com/microsoft/LightGBM /blob/7076cb8a3ac3a7b32dcf37be5593dddf27bf7f16/include/LightGBM/config.h#L792
因此,在创建自定义目标函数时,我对 poission loss 的理解可以写成:
max_delta_step = 0.7
grad_poisson = np.exp(y_pred) - y_true
hess_poisson = np.exp(y_pred + max_delta_step)
但是在不更改 LGBM 中的任何其他设置的情况下使用此代码,我的模型性能要差得多....
有谁知道如何在定制的反对函数中重现 LGBM 的泊松损失?