Lojistik kayıp fonksiyonu için gradyan


12

Ben ilgili bir soru sormak istiyorum bu bir .

Burada xgboost için özel kayıp fonksiyonu yazma bir örnek buldum :

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))
}

Lojistik kayıp fonksiyonu

log(1+eyP)

burada log-olasılıktır ve etiketlerdir (0 veya 1).yPy

Benim sorum: nasıl degrade (birinci türev) sadece gerçek değerler ve tahmin edilen olasılıklar arasındaki farka (log-odds olarak hesaplanır) nasıl eşit olabiliriz preds <- 1/(1 + exp(-preds))?


Bunu başarmak için kare hata kaybını kullanmalısınız. Notasyonunuz kafa karıştırıcıdır ve yayında tanımlanmalıdır. Eğer öngörülen risk ise, o zaman kaybı istediğinizdir. Kafam karıştı, çünkü asla log-odds demek için kullanmıyoruz . ( y - p ) 2 pp(yp)2p
AdamO

P ( y - f ( x ) ) 2 f ( x ) - yp , sermaye sabitlendi . Log-odds'dur ve soruda açıkça belirtilmiştir. I fonksiyon kaybı bu gradyan biliyoruz olduğu ancak squred kaybı, lojistik değildir. P(yf(x))2f(x)y
Ogurtsov

"Degrade" dediğinizde, ne degrade demek istiyorsun? Kaybın gradyanı? Bir ifadenin türevi doğrusal bir farksa, ifadenin kuadratik bir fark veya kare şeklinde hata kaybı olduğu basit bir matematiksel ilişkidir.
AdamO

Evet, her şey kaybın gradyanı ile ilgilidir. Kayıp fonksiyonu kare hatası olduğunda basittir. Bu durumda kayıp fonksiyonu lojistik kayıptır ( en.wikipedia.org/wiki/LogitBoost ) ve bu fonksiyonun gradyanı ile verilen kod örneği arasındaki ilişkiyi bulamıyorum.
Ogurtsov

Yanıtlar:


19

Soruma cevabım: evet, lojistik kayıp için eğimin gerçek değerler ile öngörülen olasılıklar arasındaki farka eşit olduğu gösterilebilir. Burada kısa bir açıklama bulundu .

Birincisi, lojistik kayıp sadece negatif log-olabilirliktir, bu yüzden log-olasılığının ifadesi ile başlayabiliriz ( s. 74 - bu ifade negatif log-olasılık olabilir, log-olasılık olabilir):

L=yilog(pi)+(1yi)log(1pi)

pi lojistik fonksiyonudur: ; burada öngörülen değerler lojistik dönüşümden önce (yani, log-odds):pi=11+ey^iy^i

L=yilog(11+ey^i)+(1yi)log(ey^i1+ey^i)

Wolfram Alpha kullanılarak elde edilen ilk türev:

L=yi(1yi)ey^i1+ey^i

İle çarpılması sonra :ey^iey^i

L=yiey^i+yi11+ey^i=yi(1+ey^i)1+ey^i11+ey^i=yipi

İşareti değiştirdikten sonra lojistik kayıp fonksiyonunun gradyanı için ifademiz var:

piyi

2
Ne diyorsun burada değil bir öngörü ama belirleyicileri doğrusal bir kombinasyonudur. Genelleştirilmiş doğrusal modellemede gösterimini kullanırız ve bu terimi "doğrusal yordayıcı" olarak adlandırırız. Mantıksallık (puan) türeviniz yanlış, paydada kare bir terim olmalı, çünkü bernoullis üstel bir olasılık oluşturur. Skor yv1y^yν1pi(1pi)(yipi)
AdamO
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.