2020–21, какое время быть живым. Пандемия, ВФГ, рецессия и многое другое. В такое время, полное хаоса, несколько из моих развернутых моделей машинного обучения пошли наперекосяк. Я считаю, что сейчас подходящее время для того, чтобы оглянуться на мою практику моделирования.

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

Часть 1. Почему и когда машинное обучение дает сбой

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

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

Но подождите, что, если у меня есть модель в производстве, которая прогнозирует движение авиакомпаний, и внезапно на сцену выходит COVID. Прогнозирует ли моя модель трафик с достаточно низкой ошибкой? Возможно, НЕТ. Когда основная цель распределения (зависимая переменная, Y) изменяется, это изменение помечается как Дрейф концепции.

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

Помимо дрейфа данных и дрейфа концепций, еще одним типом дрейфа является дрейф модели. Дрейф модели происходит при изменении изученной функции распределения вероятностей - P (Y | X).

Часть 2: Что можно сделать лучше?

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

1. Еще три

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

2. Мониторинг переменных и моделей

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

3. Более быстрые тренировочные циклы.

Я люблю записные книжки jupyter, я имею в виду, кто не любит? Но иногда многократные эксперименты могут привести к тому, что мой каталог заполнится десятками и сотнями блокнотов jupyter. Это, безусловно, помогает на этапе обучения и экспериментов, но часто может сбивать с толку, когда нужно оглянуться назад. Правильный способ обработки может заключаться в изучении Git, управления версиями и сценариев. Давайте подробно обсудим эти инструменты.

4. Не просто тренируйте модели, создавайте свою кодовую базу.

Специалисты по анализу данных приходят в отрасль из разных областей, таких как инженерия, наука, искусство и т. Д., И я могу сказать, что многих из нас заинтриговали передовые инженерные практики. Вот один из ресурсов, который помог мне разобраться в git и других практиках - Missing Semester.

5. Более быстрые производственные циклы

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

Заключение

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

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

Мир. :)