Найти тему

Log Loss в Машинном обучении простыми словами

Оглавление
Фото: @usefulcollective
Фото: @usefulcollective

Логарифмическая потеря – метрика оценки эффективности Модели (Model) Бинарной классификации (Binary Classification).

Вероятность предсказания

Для того, чтобы разобраться в понятии, обратимся к концепции бинарной классификации. Такой алгоритм сначала предсказывает вероятность того, что Наблюдение (Observation) будет отнесено к классу 1, а затем причисляет его к одному из двух классов (1 или 0) на основе того, пересекла ли вероятность пороговое значение, которое устанавливается по умолчанию равным 0,5:

Результаты классификации email (1 – "спам")
Результаты классификации email (1 – "спам")

Итак, прежде чем предсказывать класс записи, модель должна спрогнозировать вероятность того, что запись будет отнесена к классу 1. Помните, что именно от этой вероятности предсказания записи данных зависит значение логарифмической потери.

Логарифмическая потеря указывает, насколько близка вероятность предсказания к соответствующему истинному значению (0 или 1 в случае двоичной классификации). Чем больше прогнозируемая вероятность отклоняется от фактического значения, тем выше значение логарифма потерь. Формула расчета Log-Loss будет приведена чуть позже.

Рассмотрим задачу классификации электронных писем. Давайте представим спам как класс 1, а класс "нормальных" писем как 0. Давайте изучим настоящее спам-письмо (фактическое значение равно 1) и статистическую модель, которая классифицирует это письмо как спам с вероятностью 1. Поскольку вероятность предсказания равна почти 1, то и разность между предсказанной вероятностью и фактическим классом равна почти 0. Нулю равен, следовательно, и логарифм этой разности. На самом деле, значение логарифма потерь достаточно ничтожно, чтобы его можно было рассматривать как 0:

-3

Рассмотрим еще одно спам-письмо, классифицированное как спам с вероятностью 0,9. Вероятность прогноза модели на 0,1 отличается от фактического значения 1, и, следовательно, значение логарифмической потери больше нуля (равно 0,105):

-4

А теперь давайте посмотрим на обычное электронное письмо. Модель классифицирует его как спам с вероятностью 0,2, то есть считает нормальным письмом (при условии, что порог по умолчанию равен 0,5). Абсолютная разница между вероятностью предсказания и фактическим значением, равным 0 (так как это нормально), составляет 0,2, что больше, чем то, что мы наблюдали в предыдущих двух наблюдениях. Значение логарифма потерь, связанное с прогнозом, составляет 0,223:

-5

Обратите внимание, как теперь значение Log-Loss более плохого прогноза (дальше от фактического значения) выше, чем у лучшего прогноза (ближе к фактическому значению).

Теперь предположим, что существует набор из 5 различных спам-писем, прогнозируемых с широким диапазоном вероятностей 1.0, 0.7, 0.3, 0.009 и 0.0001. Обученная статистическая модель неидеальна и, следовательно, выполняет не очень хорошую работу по последним трем наблюдениям (классифицирует их как нормальные, поскольку значения вероятности ближе к 0, чем к 1). На графике видно, что значение логарифмических потерь экспоненциально возрастает по мере того, как растет разность между реальным классом и предсказанной вероятностью:

-6

Если мы построим график логарифмических потерь для перечня спам-писем со всеми возможными видами вероятностей, график будет выглядеть следующим образом:

-7

В случае с нормальными письмами график будет зеркальным отображением приведенного выше:

-8

Подводя итог, можно сказать, что чем дальше вероятность предсказания от фактического значения, тем выше значение логарифмических потерь. При обучении модели классификации мы хотели бы, чтобы наблюдение предсказывалось с вероятностью, максимально приближенной к фактическому значению (0 или 1). Следовательно, Log-Loss – хороший выбор в качестве Функции потери (Loss Function) для обучения и оптимизации модели. Чем дальше вероятность предсказания от ее истинного значения, тем выше Штраф (Penalty).

Формула

Теперь, когда мы понимаем логику, лежащую в основе концепции, мы можем обсудить формулу:

-9

Мы используем натуральный логарифм, где основанием является число e (2,71...) и теперь, рассмотрев один из случаев в примере про письма, получим:

-10

Чтобы оценить модель в целом, вычисляется Среднее арифметическое (Mean) логарифмических потерь всех наблюдений. Модель с совершенными навыками имеет логарифм потерь, равным нулю. Другими словами, идеальная модель предсказывает вероятность каждого наблюдения как фактическое значение.

Логарифмическая потеря для бинарной классификации – тоже, что Среднеквадратическая ошибка (MSE) для регрессии. Обе метрики показывают, насколько хороши или плохи результаты прогнозов, указывая на дистанцию между прогнозом и фактическим значением.

Log-Loss и Scikit-learn

Логарифмические потери можно рассчитать с помощью SkLearn. Для начала импортируем функцию:

-11

Применим функцию "на бегу", передав аргументы-списки:

-12

Система здесь уже вынесла свой вердикт, и во втором списке находятся, как можно догадаться, пары значений, описывающих вероятности "спама" и "нормального письма". Функция сама определяет, что первый элемент внутреннего списка – число 0,1, описывает вероятность письма быть нормальным письмом, а второй – соответственно, спамом, и применив такой паттерн ко всем остальным парам значений, вычисляет разность между реальным классом и предсказанной вероятностью. Следуя формуле, описанной выше, она находит значение Log-Loss для каждого наблюдения и усредняет полученный результат:

-13

Автор оригинальной статьи: @gaurav-dembla

Понравилась статья? Поддержите нас, поделившись статьей в социальных сетях и подписавшись на канал . И попробуйте наши курсы по Машинному обучению на Udemy .