Що вважається хорошою втратою журналу?


16

Я намагаюсь краще зрозуміти втрату журналу та як це працює, але я не можу знайти, що я вказую номер втрати журналу в якийсь контекст. Якщо моя модель має втрату журналу 0,5, це добре? Що вважається хорошою та поганою оцінкою? Як змінюються ці пороги?


Ця тема є актуальною тут: stats.stackexchange.com/q/414349/121522
mkt -

Відповіді:


20

Logloss - це просто де p - просто ймовірність, віднесена до реального класу.L(pi)=-журнал(pi)p

Тож добре, ми віднесли ймовірність 1 до правильного класу, тоді як L ( p ) = + погано, тому що ми віднесли ймовірність 0L(p)=01L(p)=+0 до фактичного класу.

Отже, відповідаючи на ваше запитання, означає, що в середньому ви віднесли до правильного класу ймовірність p 0,61 у зразках.L(p)=0.5p0.61

Тепер, вирішити, чи достатньо це добре, насправді залежить від додатків, і це залежить від аргументу.


9

Як і будь-яка метрика, хороша метрика - це краща, ніж "німа", випадково здогадатися, якщо вам доведеться здогадуватися, не маючи інформації про спостереження. Це називається в статистиці лише моделлю перехоплення.

Цей "німий" привід залежить від 2 факторів:

  1. кількість занять
  2. баланс класів: їх поширеність у спостережуваних даних

У випадку з показником LogLoss однією звичайною «добре відомою» метрикою є те, що 0,693 - це неінформативне значення. Ця цифра отримується шляхом передбачення p = 0.5для будь-якого класу бінарної задачі. Це справедливо лише для збалансованих бінарних проблем . Тому що, коли поширеність одного класу становить 10%, то ви будете прогнозувати p =0.1для цього класу завжди. Це буде вашою основою тупого, випадкового прогнозування, тому що прогнозування 0.5буде більш тупим.

I. Вплив кількості класів Nна німий-logloss:

У збалансованому випадку (у кожного класу однакова поширеність), коли ви прогнозуєте p = prevalence = 1 / Nдля кожного спостереження, рівняння стає просто:

Logloss = -log(1 / N)

log буття Ln , неперійський логарифм для тих, хто використовує цю умову.

У двійковому випадку N = 2:Logloss = - log(1/2) = 0.693

Тож німі-Логлоси такі:

тупий журнал залежно від кількості класів - збалансований випадок

II. Вплив поширеності класів на тупого-логлоса:

а. Справа бінарної класифікації

У цьому випадку ми прогнозуємо завжди p(i) = prevalence(i), і отримуємо таку таблицю:

двійкова класифікація logloss, збалансована - табл

Отже, коли заняття дуже незбалансовані (поширеність <2%), логічність в 0,1 може насправді бути дуже поганою! Така точність в 98% була б поганою в цьому випадку. Тож, можливо, Logloss не буде найкращим показником для використання

двійкова класифікація logloss, незбалансована - діаграма

б. Трикласна справа

"Тупий" -лолог залежно від поширеності - трикласний випадок:

трикласна класифікація logloss, незбалансована

Тут ми можемо побачити значення збалансованих двійкових та трикласних випадків (0,69 та 1,1).

ВИСНОВОК

Журнал 0,69 може бути хорошим у проблемі з багатокласовим і дуже поганим у двійковому упередженому випадку.

Залежно від вашого випадку, вам краще обчислити базову лінію проблеми, щоб перевірити сенс свого передбачення.

У упереджених випадках я розумію, що журнал лосс має ту саму проблему, що і точність та інші функції втрат: він забезпечує лише глобальне вимірювання вашої продуктивності. Тож вам краще доповнити своє розуміння показниками, орієнтованими на класи меншості (відкликання та точність), а може, і зовсім не використовувати логлос.


(+1) Ласкаво просимо до резюме! Ви можете використовувати набір математики у своєму дописі. Більше інформації: math.meta.stackexchange.com/questions/5020/…
Sycorax заявив, що

Краще, ніж моя відповідь, +1
Firebug

5

Отже, це насправді складніше, ніж відповідь Firebugs, і все залежить від властивої зміни процесу, який ви намагаєтеся передбачити.

Коли я кажу про варіацію, я маю на увазі «якщо подія повинна повторитися за точно однакових умов, відомих і невідомих, яка ймовірність того, що той же результат повториться».

Ідеальний прогноктор мав би втрати, ймовірність P: Втрата = P ln P + (1-P) ln (1-P)

Якщо ви намагаєтесь передбачити щось, де, в гіршому випадку, деякі події будуть прогнозовані з підсумком 50/50, то, інтегруючи та беручи середню, середня втрата буде: L = 0,5

Якщо те, що ти намагаєшся передбачити - це набагато повторюваніша, втрата ідеальної моделі нижча. Наприклад, скажімо, що з достатньою інформацією досконала модель змогла передбачити результат події, коли серед усіх можливих подій найгірше, що можна сказати: «ця подія відбудеться з 90% вірогідністю», тоді середня втрата складе L = 0,18 .

Існує також різниця, якщо розподіл ймовірностей не є рівномірним.

Тож у відповідь на ваше запитання відповідь - це "залежить від природи того, що ви намагаєтеся передбачити"


Це добре відомо a L0,693- це неінформативна бінарна логарифмічна втрата ( тобто випадкове відгадування). Я насправді не слідкую за вашими розрахунками, ви припускаєте рівномірний розподілpчи щось подібне?
Firebug

Уявіть, що у вас є система, де ви знаєте всю можливу інформацію про її поточний стан. Уявіть, що система має деякий внутрішній рівень випадковості, так що, враховуючи всі параметри щодо її стану, результат може бути різним. Скажімо, наприклад, у цій системі вона може становити від 0-10%. Вийшла б досконала модель (тобто така, де її продуктивність обмежена лише властивою варіацією)L0,18. Для порівняння, система, яка коливається від 0-100%, отримала б найкращі результатиL0,5.
Симеон

1
Я не згоден з вашою гіршою справою. Я просто кажу, що «хороший результат» залежить від системи. 0,4 може означати хороший результат для деяких систем (наприклад, останній приклад) або поганий (для першої).
Симеон

0

Я б сказав, що стандартна відповідь статистики полягає в порівнянні з моделлю, що перехоплює тільки (це обробляє незбалансовані класи, згадані в інших відповідях) cf mcFadden's pseudo r ^ 2. https://stats.idre.ucla.edu/other/mult-pkg/faq/general/faq-what-are-pseudo-r-squareds/

Тепер проблема полягає в тому, яке максимальне значення. По суті, проблема полягає в тому, що ймовірність події не визначена поза моделлю подій. я б запропонував вам взяти свої тестові дані та зібрати їх до певного рівня, щоб отримати оцінку ймовірності. потім обчислюють логізм цієї оцінки.

наприклад, ви прогнозуєте показник частоти кліків на основі (web_site, ad_id, споживач_id), потім ви збираєте кліки, покази, наприклад, на рівні web_site та обчислюєте ctr на тестовому наборі для кожного веб-сайту. потім обчислюйте log_loss на своєму тестовому наборі даних, використовуючи ці тестові показники кліку через прогнози. Тоді це оптимальна реєстрація у вашому тестовому наборі для моделі лише з використанням ідентифікаторів веб-сайтів . Проблема полягає в тому, що ми можемо зробити цю втрату настільки маленькою, як нам подобається, просто додавши більше функцій, поки кожен запис не буде однозначно ідентифікований.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.