Статья Автор: Деникина Н.В., Деникин А.В.

Интерпретация значений log-loss

Практические ориентиры

Log-Loss Качество модели Комментарий
0.00 - 0.10 Отлично Очень редко на реальных данных, проверьте на переобучение
0.10 - 0.30 Хорошо Модель работает хорошо, есть дискриминационная способность
0.30 - 0.50 Удовлетворительно Модель полезна, но есть потенциал для улучшения
0.50 - 0.69 Плохо Модель работает слабо, близко к случайному угадыванию
> 0.69 Очень плохо Хуже случайного, что-то пошло не так
Важно: Значение 0.69 соответствует случайному угадыванию (всегда предсказывать 50% вероятность для каждого класса). Если loss выше 0.69, модель уверенно ошибается!

Примеры для понимания

Пример 1: Log-Loss ≈ 0.08 (отличная модель)

Допустим, у нас 4 пациента:

Пациент Правда Предсказание Вклад в loss
1 Болен (1) 0.95 0.051
2 Здоров (0) 0.10 0.105
3 Болен (1) 0.90 0.105
4 Здоров (0) 0.05 0.051

Средний loss: (0.051 + 0.105 + 0.105 + 0.051) / 4 ≈ 0.08

Модель уверена в своих предсказаниях и почти всегда права.

Пример 2: Log-Loss ≈ 0.69 (случайное угадывание)

Пациент Правда Предсказание Вклад в loss
1 Болен (1) 0.50 0.693
2 Здоров (0) 0.50 0.693
3 Болен (1) 0.50 0.693
4 Здоров (0) 0.50 0.693

Средний loss: ≈ 0.693

Модель не уверена ни в чём — всегда говорит "50 на 50".

Пример 3: Log-Loss ≈ 2.1 (очень плохая модель)

Пациент Правда Предсказание Вклад в loss
1 Болен (1) 0.10 2.303
2 Здоров (0) 0.90 2.303
3 Болен (1) 0.15 1.897
4 Здоров (0) 0.85 1.897

Средний loss: ≈ 2.1

Модель уверенно ошибается — это хуже, чем случайное угадывание!


Сравнение с другими метриками

Log-loss часто используется вместе с другими метриками для полной оценки модели:

Качество Log-Loss Accuracy ROC-AUC
Хорошо < 0.3 > 85% > 0.85
Средне 0.3 - 0.6 70 - 85% 0.70 - 0.85
Плохо > 0.6 < 70% < 0.70

Признаки хорошей и плохой сходимости

Плохая сходимость:

  • Параметры близки к нулю после 500 эпох
  • Loss > 0.69 (хуже случайного)
  • Все предсказания около 0.5
  • Loss растёт или колеблется вместо того, чтобы падать

Хорошая сходимость:

  • Параметры значительно изменились
  • Loss < 0.3
  • Предсказания уверенные (близко к 0 или 1)
  • Loss стабильно уменьшается с каждой эпохой

Что делать, если модель не обучается

  1. Увеличить скорость обучения: попробуйте значения 0.1, 0.5, 1.0
  2. Нормализовать признаки: приведите к диапазону примерно от -2 до 2
  3. Увеличить количество эпох: попробуйте 1000, 5000
  4. Проверить данные: нет ли ошибок в данных или их подготовке?

Проблема слишком большой скорости обучения

Что происходит при alpha = 1.0?

При слишком большой скорости обучения алгоритм расходится (diverges):

  • Градиентный спуск делает слишком большие шаги
  • "Перепрыгивает" через минимум
  • Начинает колебаться или даже уходит в бесконечность
  • Loss увеличивается вместо уменьшения

Решение: уменьшите скорость обучения (например, попробуйте 0.01, 0.05, 0.1).


Как правильно выбрать скорость обучения

Выбор скорости обучения (learning rate) — важный этап настройки модели. Вот практические советы:

Практический подход:

  1. Начните с малого: попробуйте alpha = 0.01
  2. Постепенно увеличивайте: 0.01 → 0.05 → 0.1 → 0.5
  3. Следите за loss: он должен стабильно уменьшаться
  4. Остановитесь, когда:
    • Loss начинает расти или сильно колебаться
    • Параметры становятся очень большими
  5. Вернитесь к предыдущему значению — оно и будет оптимальным

Типичные значения:

  • 0.001 - 0.01: для больших данных или сложных моделей
  • 0.01 - 0.1: универсальный диапазон для начала
  • 0.1 - 1.0: для простых задач или малых данных (осторожно!)

Со временем вы научитесь подбирать скорость обучения интуитивно, основываясь на опыте работы с разными задачами.

Печать