Поиск и объяснение изменений

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

В этом сообщении описывается, как использовать классификатор, определяющий предметную область, для выявления наиболее нетипичных функций и примеров, а также показано, как использовать дополнительные объяснения SHAPley (SHAP) для ускорения анализа повреждения данных.

Сценарий повреждения данных

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

А теперь представьте себя специалистом по данным, работающим над популярным набором данных для взрослых, пытающимся предсказать, зарабатывает ли человек более 50 000 долларов в год, учитывая его возраст, образование, работу и т. Д.

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

Оставшаяся часть набора данных для взрослых представляет собой набор данных, предоставленный во время производства. К сожалению, часть этого набора данных целевого домена повреждена.

В целях иллюстрации мы отравляем 25% набора данных целевой области, применяя постоянный замещающий сдвиг. Это искажает случайный набор функций, а именно расу, marital_status, fnlwgt, и education_num. Числовые признаки искажаются путем замены их значения на медианное значение распределения признаков, в то время как категориальные признаки искажаются путем замены их значения фиксированной случайной категорией.

В этом примере 25% выборок целевой области имеют постоянные значения для четырех смещенных функций, как показано на рисунке 1. Детекторы смещения, развернутые для отслеживания изменений данных, правильно запускают предупреждение. Что теперь?

Как найти наиболее популярные образцы?

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

Классификатор домена на самом деле является популярным детектором дрейфа, как подробно описано здесь [2], поэтому хорошая новость заключается в том, что он не только хорошо обнаруживает изменения, но и идентифицирует нетипичные образцы. Если у вас уже есть обученный классификатор предметной области в вашей системе мониторинга, вы бесплатно получаете бонусный детектор новинок.

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

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

В области машинного обучения существует множество мер важности функций, и все они имеют свои ограничения. Это также одна из причин, по которой ценности Шепли были введены в мир машинного обучения посредством дополнительных разъяснений Шапли. Чтобы получить представление о ценностях Шепли и SHAP, прочтите замечательную книгу Интерпретируемое машинное обучение [3].

Объяснение дрейфа

Используя пакет SHAP [4], мы можем объяснить результат классификатора предметной области, в частности, обнаружив для данной выборки, как различные функции влияют на вероятность принадлежности к Новому домену. Глядя на значения Шепли для основных нетипичных выборок, мы можем, таким образом, понять, что заставляет классификатор предметной области предсказывать, что выборка действительно является новинкой, и таким образом обнаруживать смещенные особенности.

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

Вместо произвольного выбора трех смещенных функций один из способов идентификации смещенных функций - это сравнение важности функции с равномерной важностью (1 / n_features), соответствующей неразличимым областям. Затем мы бы отметили особенности, которые выделяются, как на рисунке 3 ниже, где четко видны race, marital_status и fnlwgt.

Если мы нанесем на график значения Шепли для всего набора данных целевой области на рисунке 4, выделив все истинные смещенные выборки красным, мы увидим, что значения Шепли достаточно выразительны, чтобы найти как нетипичные образцы, так и атипичные особенности. В каждой строке сводного графика одни и те же образцы целевого домена представлены в виде точек в месте расположения их значений Шепли для определенной функции, показанной слева. Здесь мы можем наблюдать бимодальное распределение для выбранных ранее нетипичных признаков (race, marital_status и fnlwgt), а также для education_num, - последняя функция, которую нужно уловить.

По свойству эффективности значений Шепли прогнозируемая оценка классификатора предметной области для выборки представляет собой сумму его значений Шепли для всех функций. Таким образом, из графика на рисунке 4 выше мы можем сделать вывод, что неповрежденные функции имеют небольшое (но ненулевое) влияние на прогнозирование класса New domain, поскольку их значения Шепли сосредоточены около нуля, особенно для нетипичные образцы (красные точки).

Прямая визуализация смещенных образцов

Теперь мы готовы подвести итоги и использовать эти инструменты, чтобы выделить подозрительные образцы и нетипичные особенности.

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

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

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

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

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

Выводы

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

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

Ссылки

[1] Учебник по дрейфу данных

[2] Доменный классификатор - на пути к надежным MLOps с детекторами дрейфа

[3] Ценности Шепли - Интерпретируемое машинное обучение - К. Мольнар

[4] Пакет дополнительных разъяснений Шапли