Co uważa się za dobrą utratę logów?


16

Próbuję lepiej zrozumieć utratę logów i sposób, w jaki to działa, ale jedną rzeczą, której nie mogę znaleźć, jest umieszczenie numeru utraty logów w jakimś kontekście. Jeśli mój model ma utratę dziennika 0,5, czy to dobrze? Co uważa się za dobry i zły wynik? Jak zmieniają się te progi?


Odpowiedzi:


20

Logloss to po prostu gdzie p jest po prostu prawdopodobieństwem przypisanym do prawdziwej klasy.L.(pja)=-log(pja)p

Zatem jest dobre, przypisaliśmy prawdopodobieństwo 1 do właściwej klasy, podczas gdy L ( p ) = + jest złe, ponieważ przypisaliśmy prawdopodobieństwo 0 do rzeczywistej klasy.L.(p)=01L(p)=+0

Tak więc, odpowiadając na pytanie, oznacza, średnio, to przypisać do właściwej klasy prawdopodobieństwo p 0,61 całej próbki.L(p)=0.5p0.61

Teraz decyzja, czy to wystarcza, zależy od aplikacji, więc to zależy od argumentu.


9

Jak każda metryka, dobra metryka jest ta lepsza niż „głupie”, przypadkowe zgadnięcie, gdybyś musiał zgadywać bez informacji na temat obserwacji. W statystykach nazywa się to modelem wyłącznie przechwytywania.

To „głupie” odgadnięcie zależy od 2 czynników:

  1. liczba klas
  2. bilans klas: ich przewaga w obserwowanym zbiorze danych

W przypadku metryki LogLoss jedną z powszechnie znanych „ metryk jest stwierdzenie, że 0,693 jest wartością nieinformacyjną. Liczbę tę uzyskuje się przez przewidywanie p = 0.5dla dowolnej klasy problemu binarnego. Dotyczy to tylko zrównoważonych problemów binarnych . Ponieważ gdy rozpowszechnienie jednej klasy wynosi 10%, zawsze będziesz przewidywał p =0.1dla tej klasy. To będzie twoja podstawowa głupia, przypadkowa prognoza, ponieważ przewidywanie 0.5będzie głupsze.

I. Wpływ liczby klas Nna głupi logloss:

W przypadku zrównoważonym (każda klasa ma tę samą przewagę), gdy przewidujesz p = prevalence = 1 / Ndla każdej obserwacji, równanie staje się po prostu:

Logloss = -log(1 / N)

log istota Ln logarytmem nepijskim dla tych, którzy stosują tę konwencję.

W przypadku binarnym N = 2:Logloss = - log(1/2) = 0.693

Więc głupie Loglosses są następujące:

głupi logloss w zależności od liczby klas - przypadek zrównoważony

II. Wpływ rozpowszechnienia klas na głupiego Loglossa:

za. Przypadek klasyfikacji binarnej

W takim przypadku zawsze przewidujemy p(i) = prevalence(i)i otrzymujemy następującą tabelę:

binarny logloss klasyfikacji, zrównoważony - tabela

Tak więc, gdy klasy są bardzo niezrównoważone (częstość <2%), utrata logarytmu wynosząca 0,1 może być naprawdę bardzo zła! W takim przypadku dokładność 98% byłaby zła. Więc może Logloss nie byłby najlepszym miernikiem do użycia

binarny logloss klasyfikacji, niezrównoważony - wykres

b. Obudowa trójklasowa

„Głupi” - brak logotypu w zależności od rozpowszechnienia - przypadek trzech klas:

trójklasowy logos klasyfikacji, niezrównoważony

Widzimy tutaj wartości zrównoważonych przypadków binarnych i trójklasowych (0,69 i 1,1).

WNIOSEK

Logloss 0,69 może być dobry w przypadku problemu wieloklasowego, a bardzo zły w przypadku binarnej stronniczości.

W zależności od przypadku lepiej jest obliczyć podstawę problemu, aby sprawdzić znaczenie swojej prognozy.

W stronniczych przypadkach rozumiem, że logloss ma ten sam problem co dokładność i inne funkcje utraty: zapewnia jedynie globalny pomiar twojej wydajności. Lepiej więc uzupełnij swoje zrozumienie miernikami koncentrującymi się na klasach mniejszościowych (przypominanie i precyzja), a może w ogóle nie używaj loglossa.


(+1) Witamy w CV! W swoim poście możesz używać składu matematycznego. Więcej informacji: math.meta.stackexchange.com/questions/5020/...
Sycorax mówi Przywróć Monikę

Lepsza niż moja odpowiedź, +1
Firebug

5

Jest to w rzeczywistości bardziej skomplikowane niż reakcja Firebugs i wszystko zależy od nieodłącznej zmienności procesu, który próbujesz przewidzieć.

Kiedy mówię zmienność, mam na myśli „jeśli wydarzenie miało się powtórzyć w dokładnie takich samych warunkach, znanych i nieznanych, jakie jest prawdopodobieństwo, że ten sam wynik wystąpi ponownie”.

Idealny predyktor miałby stratę, dla prawdopodobieństwa P: Strata = Pnn P + (1-P) ln (1-P)

Jeśli próbujesz przewidzieć coś, w którym, co gorsza, niektóre zdarzenia zostaną przewidziane z wynikiem 50/50, to po zintegrowaniu i przyjęciu średniej średnia strata wyniesie: L = 0,5

Jeśli to, co próbujesz przewidzieć, jest odrobinę bardziej powtarzalne, utrata idealnego modelu jest mniejsza. Powiedzmy na przykład, że przy wystarczających informacjach idealny model był w stanie przewidzieć wynik zdarzenia, w którym we wszystkich możliwych zdarzeniach najgorsze mogłoby powiedzieć „to zdarzenie nastąpi z prawdopodobieństwem 90%”, a następnie średnia strata wyniesie L = 0,18 .

Istnieje również różnica, jeśli rozkład prawdopodobieństwa nie jest jednolity.

W odpowiedzi na twoje pytanie odpowiedź brzmi: „zależy to od natury tego, co próbujesz przewidzieć”


Jest dobrze znany L.0,693to nieinformacyjna binarna strata logarytmiczna ( tj. losowe zgadywanie). Naprawdę nie śledzę twoich obliczeń, czy zakładasz jednolity rozkład dlapczy jakoś tak?
Firebug,

Wyobraź sobie, że masz system, w którym znasz wszystkie możliwe informacje o jego aktualnym stanie. Wyobraź sobie, że system ma pewien wewnętrzny poziom losowości, więc biorąc pod uwagę wszystkie parametry dotyczące jego stanu, wynik może być inny. Powiedz na przykład, że w tym systemie może wynosić od 0-10%. Otrzymałby idealny model (tj. Taki, w którym jego wydajność jest ograniczona jedynie wrodzoną odmianą)L.0,18. Dla porównania system, który waha się od 0-100%, uzyskałby najlepsze wynikiL.0,5.
simeon

1
Nie zgadzam się z twoją gorszą sprawą. Mówię tylko, że „dobry wynik” zależy od systemu. 0.4 może wskazywać dobry wynik dla niektórych systemów (jak drugi przykład) lub zły (dla pierwszego).
simeon

0

Powiedziałbym, że standardowa odpowiedź statystyczna polega na porównaniu z modelem wyłącznie przechwytującym. (obsługuje to niezrównoważone klasy wspomniane w innych odpowiedziach) cf mcFadden's pseudo r ^ 2. https://stats.idre.ucla.edu/other/mult-pkg/faq/general/faq-what-are-pseudo-r-squareds/

Teraz problemem jest maksymalna wartość. zasadniczo problemem jest to, że prawdopodobieństwo zdarzenia jest niezdefiniowane poza modelem zdarzeń. sugeruję, abyś wziął swoje dane testowe i zagregował je do pewnego poziomu, aby uzyskać oszacowanie prawdopodobieństwa. następnie obliczyć logloss tego oszacowania.

np. prognozujesz współczynnik klikalności w oparciu o (strona internetowa, identyfikator_adresu, identyfikator_użytkownika), następnie agregujesz kliknięcia, wyświetlenia np. do poziomu strony internetowej i obliczasz współczynnik CTR w zestawie testowym dla każdej strony internetowej. następnie obliczyć log_loss na testowym zestawie danych, używając tych testowych współczynników klikalności jako prognoz. Jest to wtedy optymalny brak logarytmiczny w zestawie testowym dla modelu używającego tylko identyfikatorów witryn . Problem polega na tym, że możemy zmniejszyć tę stratę do minimum, dodając więcej funkcji, aż każdy rekord zostanie jednoznacznie zidentyfikowany.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.