【发布时间】:2016-12-29 20:09:51
【问题描述】:
我想了解如何在xgboost sample script 中计算 logloss 函数的梯度和 hessian。
我已简化函数以获取 numpy 数组,并生成了 y_hat 和 y_true,它们是脚本中使用的值的示例。
这是一个简化的例子:
import numpy as np
def loglikelihoodloss(y_hat, y_true):
prob = 1.0 / (1.0 + np.exp(-y_hat))
grad = prob - y_true
hess = prob * (1.0 - prob)
return grad, hess
y_hat = np.array([1.80087972, -1.82414818, -1.82414818, 1.80087972, -2.08465433,
-1.82414818, -1.82414818, 1.80087972, -1.82414818, -1.82414818])
y_true = np.array([1., 0., 0., 1., 0., 0., 0., 1., 0., 0.])
loglikelihoodloss(y_hat, y_true)
方程如何相等?
【问题讨论】:
标签: numpy machine-learning entropy derivative xgboost