좋은 로그 손실로 간주되는 것은 무엇입니까?


16

로그 손실과 작동 방식을 더 잘 이해하려고하지만 찾을 수없는 것 중 하나는 로그 손실 번호를 일종의 컨텍스트에 넣는 것입니다. 내 모델의 로그 손실이 0.5이면 좋습니까? 좋은 점수와 나쁜 점수는 무엇입니까? 이러한 임계 값은 어떻게 변경됩니까?


이 글타래는 다음과 관련이 있습니다 : stats.stackexchange.com/q/414349/121522
mkt-Reinstate Monica

답변:


19

logloss는 단순히 여기서 p 는 단순히 실제 클래스에 기인 한 확률입니다.(나는)=로그(나는)

따라서 은 양호하고 확률 1 은 올바른 클래스로 간주하고 L ( p ) = + 는 불량합니다. 왜냐하면 확률 0 은 실제 클래스에 기인했기 때문 입니다.()=01()=+0

따라서 귀하의 질문에 대답하는 는 평균적으로 올바른 클래스에 따른 표본 간의 확률 p 0.61 을 의미합니다.()=0.50.61

이제 이것이 충분히 좋은지 결정하는 것은 실제로 응용 프로그램에 따라 다르므로 인수에 달려 있습니다.


9

다른 메트릭과 마찬가지로, 좋은 메트릭은 관측에 대한 정보없이 추측 할 필요가있을 경우 "기회"추측보다 나은 것입니다. 이를 통계에서 인터셉트 전용 모델이라고합니다.

이 "멍청한"추측은 두 가지 요소에 따라 다릅니다.

  1. 수업 수
  2. 클래스의 균형 : 관찰 된 데이터 세트에서의 유병률

LogLoss 메트릭의 경우, 일반적인 "잘 알려진" 메트릭 중 하나 는 0.693 이 정보가 아닌 값 이라고 말합니다 . 이 그림은 p = 0.5이진 문제의 모든 클래스를 예측하여 얻습니다 . 이것은 균형 이진 문제에 대해서만 유효합니다 . 한 클래스의 유병률이 10 % 인 p =0.1경우 항상 해당 클래스를 예측 합니다. 예측 0.5이 어둡기 때문에 이것은 바보 같은 기준에 의한 기준이 될 것 입니다.

I. 벙어리 광택에 대한 클래스 수의 영향 N:

균형이 잡힌 경우 (모든 클래스가 동일한 유병률을 가짐) p = prevalence = 1 / N모든 관측치에 대해 예측할 때 방정식은 간단하게됩니다.

Logloss = -log(1 / N)

logLn이 규칙을 사용하는 사람들을 위해, neperian 로그.

이진 경우 N = 2:Logloss = - log(1/2) = 0.693

따라서 바보 같은 로고는 다음과 같습니다.

클래스 수에 따른 멍청한 광택-균형 잡힌 경우

II. dumb-Logloss에 대한 클래스 유병률의 영향 :

ㅏ. 이진 분류 사례

이 경우 always를 예측 p(i) = prevalence(i)하고 다음 표를 얻습니다.

이진 분류 로그 로스, 균형-테이블

따라서 클래스가 매우 불균형 할 때 (유병률 <2 %), 0.1의 로그 손실은 실제로 매우 나쁠 수 있습니다! 이 경우 98 %의 정확도와 같은 것은 나쁠 것입니다. 따라서 Logloss가 사용하기에 가장 좋은 지표가 아닐 수도 있습니다.

이진 분류 로그 로스, 불균형-차트

비. 3 가지 경우

유병률에 따른 "Dumb"-logloss-3 가지 경우 :

불균형 3 종 분류 로그 로스

여기서 균형 이진 및 3 클래스 사례 (0.69 및 1.1)의 값을 볼 수 있습니다.

결론

0.69의 logloss는 멀티 클래스 문제에서 우수 할 수 있으며 이진 바이어스 된 경우에는 매우 나쁩니다.

경우에 따라 예측의 의미를 확인하기 위해 문제의 기준을 스스로 계산하는 것이 좋습니다.

편향된 경우 loglog는 정확성 및 기타 손실 기능과 동일한 문제가 있음을 이해합니다. 성능의 전체적인 측정 만 제공합니다. 따라서 소수 클래스 (리콜 및 정밀도)에 중점을 둔 측정 항목으로 이해를 보완하거나 로그 로스를 전혀 사용하지 않을 수 있습니다.


(+1) CV에 오신 것을 환영합니다! 게시물에서 수학 조판을 사용할 수 있습니다. 추가 정보 : math.meta.stackexchange.com/questions/5020/…
Sycorax는 Reinstate Monica

내 대답보다 낫습니다, +1
Firebug

5

따라서 이것은 실제로 Firebugs 응답보다 복잡하며 모두 예측하려는 프로세스의 고유 한 변형에 따라 다릅니다.

내가 변형을 말할 때 '알려 지거나 알려지지 않은 동일한 조건에서 이벤트가 반복되면 동일한 결과가 다시 발생할 확률은 얼마입니까?'입니다.

완벽한 예측 변수는 확률 P에 대해 손실을 갖습니다. 손실 = P ln P + (1-P) ln (1-P)

최악의 경우 일부 이벤트가 50/50의 결과로 예측 될 수있는 것을 예측하려는 경우 평균 손실을 합산하여 평균 손실은 다음과 같습니다. L = 0.5

당신이 예측하려고하는 것이 조금 더 반복적이라면 완벽한 모델의 손실은 더 낮습니다. 예를 들어, 충분한 정보를 바탕으로 완벽한 모델은 가능한 모든 이벤트에서 최악의 경우 '이 이벤트는 90 % 확률로 발생합니다'라고 말하면 평균 손실은 L = 0입니다. .

확률 분포가 균일하지 않은 경우에도 차이가 있습니다.

따라서 귀하의 질문에 대한 대답은 '예측하려는 대상의 본질에 달려 있습니다'입니다


잘 알려져 있습니다 0.693비 정보 이진 로그 손실입니다 ( 예 : 임의 추측). 나는 당신의 계산을 실제로 따르지 않습니다.아니면 그런가요?
Firebug

현재 상태에 대한 가능한 모든 정보를 알고있는 시스템이 있다고 가정하십시오. 시스템의 상태에 대한 모든 매개 변수가 주어지면 결과가 다를 수 있도록 내부에 임의의 수준의 임의성이 있다고 가정하십시오. 예를 들어이 시스템에서 범위는 0-10 % 일 수 있습니다. 완벽한 모델 ​​(즉, 고유 한 변형에 의해서만 성능이 제한되는 모델)0.18. 비교를 위해 0-100 %의 다양한 시스템이 가장 좋습니다.0.5.
simeon

1
나는 당신의 더 나쁜 사건에 동의하지 않습니다. 나는 단지 '좋은 결과'가 시스템에 달려 있다고 말하는 것입니다. 0.4는 후자의 예와 같은 일부 시스템에 대해 좋은 결과를 나타내거나 전자에 대한 나쁜 시스템을 나타낼 수 있습니다.
simeon

0

표준 통계 답변은 절편 전용 모델과 비교하는 것입니다. (이것은 다른 답변에서 언급 된 불균형 클래스를 처리합니다) cf mcFadden의 의사 r ^ 2. https://stats.idre.ucla.edu/other/mult-pkg/faq/general/faq-what-are-pseudo-r-squareds/

이제 문제는 최대 값입니다. 근본적으로 문제는 이벤트의 확률이 이벤트 모델 외부에서 정의되지 않는다는 것입니다. 내가 제안하는 방식은 테스트 데이터를 가져와 특정 수준으로 집계하여 확률 추정치를 얻는 것입니다. 그런 다음이 추정치의 로그 로스를 계산하십시오.

예를 들어 (web_site, ad_id, consumer_id)를 기준으로 클릭률을 예측 한 다음 클릭 수, 노출 수를 web_site 수준으로 집계하고 각 웹 사이트에 대한 테스트 세트의 클릭률을 계산합니다. 그런 다음 이러한 테스트 클릭률을 예측으로 사용하여 테스트 data_set에서 log_loss를 계산하십시오. 그러면 웹 사이트 ID 만 사용하는 모델 에 대한 테스트 세트에서 최적의 로그 로스입니다 . 문제는 각 레코드가 고유하게 식별 될 때까지 더 많은 기능을 추가하여 원하는만큼 손실을 줄일 수 있다는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.