GBM 如何与泊松损失函数一起工作

机器算法验证 泊松回归 助推
2022-04-10 19:32:47

我熟悉泊松回归和 GBM 的概念(一棵树从前一棵树的残差中学习),但我不明白 GBM 在泊松损失函数的情况下是如何工作的。

问题:

  • 在被树拟合之前,残差是如何转换的?残差记录?
  • 我们是否需要在最后应用变换来获得预测?示例:预测 = exp(Y 的平均值 + 第一棵树的预测 + 第二棵树的预测 + ...)
1个回答

我将首先定义GBM算法以澄清问题:

算法 10.3:来自 Hastie 的The Elements of Statistical Learning的梯度树提升算法陈述如下:

在此处输入图像描述

在哪里N是样本数,M是迭代次数和Jm是终端区域的数量或树的大小。3号线生产f^(x)这是一个K大小的向量在哪里K对应于类的数量。

在被树拟合之前,残差是如何转换的?残差记录?

残差由 (a) 定义,直接取决于损失函数。与其他问题类似,损失函数取决于为 y|x 的条件概率建模而选择的分布,并且类似于分布的负对数似然。对于泊松分布,对数似然为:

ll(y;λ)=kyklog(λk)λklog(xk!)

或损失:

L(y;λ)=kλk+log(xk!)yklog(λk)

由于我们想要最小化损失并且最终会取一个导数,我们可以去掉常数项log(xk!)以上简化为:

L(y;λ)=kλkyklog(λk)

在上面概述的算法中,残差相当于 wrt 的偏导数f(xi)评价为fm1. 这可以解释为我们之前的更新产生的残差f.

我们是否需要在最后应用变换来获得预测?示例:预测 = exp(Y 的平均值 + 第一棵树的预测 + 第二棵树的预测 + ...)

为了产生概率,使用以下变换:

pk(x)=expfk(x)l=1Kexpfl(x)
又在哪里,k是感兴趣的类别。为了做出预测,我们只需采用k产生最大的p.