Как заставить вашу модель производить вероятности

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

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

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

Мы начинаем представлять общее приложение, в котором мы используем обычные алгоритмы регрессии в контексте классификации. Затем мы переводим ту же процедуру в область временных рядов, где мы пытаемся использовать ARIMA для моделирования проблемы двоичной классификации.

КЛАССИФИКАЦИЯ ПО МЯГКИМ ЭТИКЕТКАМ

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

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

У нас есть мягкие цели / метки p ∈ (0, 1) (не забудьте вырезать цели в [eps, 1 - eps], чтобы избежать проблем с нестабильностью при ведении журналов). Затем установите регрессионную модель. Наконец, чтобы сделать вывод, мы берем сигмоид предсказаний из регрессионной модели.

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

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

КЛАССИФИКАЦИЯ ПО ARIMA И МЯГКИМ ЭТИКЕТКАМ

Одной из лучших особенностей классификации с регрессионными моделями и программными метками является то, что процедура полностью не зависит от модели. А как насчет его применения с моделями ARIMA?

Теперь мы повторяем то, что мы сделали выше, но во временной области. Допустим, у нас есть временной ряд бинарных целей, и мы пытаемся предсказать их с учетом ARIMA. В нашем примере мы имеем дело с серией ежемесячных изменений количества пассажиров авиакомпаний. Изменения каждого месяца рассчитываются как соотношение между пассажиром этого месяца (Mt) и (Mt-1) предыдущего месяца. Коэффициент выше 1 означает, что количество пассажиров в этом месяце увеличилось по сравнению с предыдущим. Наши бинарные цели - 1 для положительных изменений и 0 для отрицательных изменений.

Учитывая серию двоичных целей, мы преобразуем их в программные метки и применяем логит-функцию. Мы подбираем ARIMA, выбирая лучшие гиперпараметры с критерием AIC. Окончательные прогнозы получены с применением сигмоидального преобразования. На графике ниже мы показываем истинные метки (синие) на заднем плане и прогнозируемые вероятности для набора поездов (оранжевый) и тестового набора (зеленый).

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

РЕЗЮМЕ

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

ПРОВЕРИТЬ РЕПО НА GITHUB

Оставайтесь на связи: Linkedin