ฉันจะถามคำถามที่เกี่ยวข้องกับคนนี้
ฉันพบตัวอย่างของการเขียนฟังก์ชันการสูญเสียที่กำหนดเองสำหรับ xgboost ที่นี่ :
loglossobj <- function(preds, dtrain) {
# dtrain is the internal format of the training data
# We extract the labels from the training data
labels <- getinfo(dtrain, "label")
# We compute the 1st and 2nd gradient, as grad and hess
preds <- 1/(1 + exp(-preds))
grad <- preds - labels
hess <- preds * (1 - preds)
# Return the result as a list
return(list(grad = grad, hess = hess))
}
ฟังก์ชั่นการสูญเสียโลจิสติกคือ
โดยที่คืออัตราต่อรองและคือป้ายกำกับ (0 หรือ 1)
คำถามของฉันคือวิธีการที่เราจะได้รับการไล่ระดับสี (อนุพันธ์แรก) ก็เท่ากับความแตกต่างระหว่างค่าความจริงและความน่าจะเป็นที่คาดการณ์ไว้ (คำนวณจากบันทึกอัตราต่อรองเป็นpreds <- 1/(1 + exp(-preds))
)?