В контексте выбора модели большинство специалистов по данным полагаются на широкий спектр критериев согласия, чтобы решить, какая модель соответствует наилучшим характеристикам в наборе данных для удержания / проверки. Эти критерии соответствия часто также называют "метрикой".

Обратите внимание, что «метрика» может сильно отличаться от «функции потерь», которая в большинстве случаев соответствует функции, отображающей штраф за любой данный прогноз, так что, если прогноз ближе к целевому, то стоимость ниже, и наоборот.

Функции потери ограничены:

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

Примеры функции потерь и показателей:

Функции потерь: потеря журнала, потеря вероятности, среднеквадратическая ошибка и т. д.

Метрики: точность, точность, отзыв, f-Beta Score, RMSE, MSE, MAPE, MAD и т. д.

Вы заметите, что функция потерь определенно может использоваться в качестве метрики, но обратное может не обязательно быть верным . Например, logloss можно использовать как функцию потерь и как метрику. Однако такие показатели, как Точность, Точность, Напоминание и т. Д., Не могут использоваться в качестве функций потерь.

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

Формула аналитического градиента: f (x0 + ∆x) = f (x0) + A (x0) ∆x + o (∆x)

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

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

Показатель AUC-ROC

Давайте сосредоточимся на одной конкретной метрике, которая очень часто встречается в задачах классификации - AUC или площадь под кривой кривой ROC (рабочая характеристика приемника).

Рассмотрим случай двоичной классификации, когда мы обучили модель X и извлекли вероятности предсказания на удерживающем наборе. Мы также предполагаем конкретный порог отсечки 0,4 для положительного класса (вероятность ›0,4 = + ve класс).

См. Приведенную ниже таблицу фактического значения Y (цель), прогнозируемой вероятности (+ ve класс) и метки прогнозируемого класса на основе пороговых значений.

Мы не будем вдаваться в подробности того, как рассчитать AUC, но на высоком уровне AUC соответствует:

1. Сначала вычисляется TPR (истинно положительный показатель) и FPR (ложноположительный показатель) на основе нескольких пороговых значений.

2. Нанести их на график и вычислить площадь под кривой.

Для получения подробной информации бесплатно проверьте здесь, если вам нужно посмотреть.

А пока мы начнем с создания случайного набора данных. В частности, мы генерируем три вещи:

  1. Фактический вектор Y: 10 X 1
  2. Y Pred Vector: 10 X 1
  3. Прогнозируемый класс на основе порога: 10 X 1

Затем мы рассчитаем AUC на основе фактических целевых меток и прогнозируемых значений вероятности.

При первом просмотре кажется, что AUC напрямую зависит от вероятностей. В приведенном выше коде мы видим, что мы использовали только фактические цели и прогнозируемые вероятности для расчета AUC. Хотя это правда, что используются вероятности, однако можно удивиться, обнаружив, что величины вообще не используются. Позвольте мне объяснить по коду.

Вместо того, чтобы использовать необработанные вероятности, мы будем оценивать средние вероятности, а затем вводить средние результаты в формулу AUC. Давайте посмотрим, что произойдет, когда мы это сделаем:

Вуаля! Значение AUC не меняется, когда мы использовали средние ранговые значения вектора вероятности.

Что это означает для нашего анализа?

Короче говоря, это означает, что необработанные значения вероятности не используются при вычислении AUC, и, следовательно, мы не можем ничего сказать о том, насколько уверена наша модель с точки зрения прогнозирования.

Для дальнейшего анализа мы подготовим еще один набор прогнозируемых вероятностей (модель B), который представляет собой средние ранги вероятностей модели A, уменьшенные в 100 раз.

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

Давайте проверим кривую распределения вероятностей для предсказанных выходных вероятностей двух разных моделей, как показано ниже:

AUC, модель A: 0,875
AUC, модель B: 0,875

Итак, у нас одинаковый показатель AUC для двух классификаторов, но очень разные предсказанные распределения вероятностей. Что это значит?

Это означает, что наши модели ведут себя совершенно иначе, когда дело касается уверенности в своих прогнозах. Мы знаем, что нам не нужна ни чрезмерно самоуверенная, ни недостаточно самоуверенная модель.

Нам нужно будет посмотреть на ряд чисел, чтобы понять, какая модель из двух является чрезмерно самоуверенной / недостаточно уверенной / правильной.

На следующей неделе будет продолжение этой публикации, когда я опубликую дальнейший анализ и представлю концепцию анализа калибровки вероятностей.

Спасибо за прочтение.

Ссылки:

1. https://blog.algorithmia.com/introduction-to-loss-functions/

2. https://courses.cs.ut.ee/MTAT.03.227/2016_spring/uploads/Main/lecture-4-extra-materials.pdf