Интерпретация моделей и диагностика сдвига данных: LIME, SHAP и Shapley Flow
В этом обзоре мы рассмотрим, как методы LIME и SHAP позволяют объяснять предсказания моделей машинного обучения, выявлять проблемы сдвига и утечки данных, осуществлять мониторинг работы модели в production и искать группы примеров, предсказания на которых объясняются схожим образом.
Также поговорим о проблемах метода SHAP и его дальнейшем развитии в виде метода Shapley Flow, объединяющего интерпретацию модели и многообразия данных.
Содержание
Интерпретация моделей машинного обучения
Распределение данных
Сдвиг данных
Утечка данных
Локальная интерпретация моделей
LIME: Local Interpretable Model-agnostic Explanations
Локальное упрощенное представление
Объясняющая модель
Примеры и обсуждение
LIME-SP: объединение локальных интерпретаций в глобальную
SHAP: Shapley Additive Explanation Values
Shapley values в теории игр
Shapley regression values
SHAP values
Проблемы и ограничения SHAP values
Independent SHAP
Kernel SHAP
Tree SHAP
SHAP на практике
Waterfall plot
Summary plot
Dependence plot
Диагностика сдвига данных с помощью SHAP loss values
Supervised-кластеризация данных с помощью SHAP
Проблемы SHAP values
SHAP values в условиях взаимной зависимости признаков
Соблюдение границ многообразия данных
Shapley Flow
Использование метода Shapley Flow
Принцип работы метода Shapley Flow
Заключение
Список источников
Интерпретация моделей машинного обучения
Модели машинного обучения (такие как нейронные сети, машины опорных векторов, ансамбли решающих деревьев) являются "прозрачными" в том смысле, что все происходящие внутри них вычисления известны. Но тем не менее часто говорят, что модели машинного обучения плохо интерпретируемы. Здесь имеется в виду то, что процесс принятия решения не удается представить в понятной человеку форме, то есть:
Понять, какие признаки или свойства входных данных влияют на ответ
Разложить алгоритм принятия решения на понятные составные части
Объяснить смысл промежуточных результатов, если они есть
Описать в текстовом виде алгоритм принятия решения (возможно, с привлечением схем или графиков)
Достичь полной интерпретируемости в машинном обучении, как правило, не удается, но даже частичная интерпретация может существенно помочь. Обзор способов интерпретации моделей машинного обучения можно найти, например, в Linardatos et al., 2020 и Li et al., 2021. Чем же может помочь интерпретация модели?
Во-первых, интерпретировав алгоритм, мы можем открыть для себя что-то новое о свойствах исследуемых данных (например, какие признаки в табличных данных в наибольшей степени влияют на ответ).
The need to explain predictions from tree models is widespread. It is particularly important in medical applications, where the patterns uncovered by a model are often even more important than the model’s prediction performance. (Lundberg et al., 2019)
Во-вторых, интерпретация модели помогает оценить ее качество. Если мы узнаем, на что именно обращает модель, какими правилами руководствуется при предсказании, то сможем оценить правдоподобность этих правил.
Humans usually have prior knowledge about the application domain, which they can use to accept (trust) or reject a prediction if they understand the reasoning behind it. (Ribeiro et al., 2016)
Казалось бы, разве недостаточно знать метрику качества модели на тестовой выборке? Часто может оказаться, что после развертывания модель работает в среднем хуже, чем на тестовой выборке из-за ряда проблем, таких как сдвиг и утечка данных.
Распределение данных
На протяжении всего обзора будет использоваться понятие распределения данных, поэтому сначала повторим значение этого понятия.
Если модель использует
Как правило, в машинном обучении используется статистический подход (statistical learning framework), при котором имеющийся датасет
Например, пусть мы имеем датасет из объявлений о продаже автомобилей. Для нашего датасета верно, например, следующее:
Количество авто "Lada Granta" превосходит количество авто "Москвич-412"
Количество авто "Победа" с двигателем мощностью 500 л. с. равно нулю
Тогда мы можем считать датасет выборкой из распределения, в котором для
Таким образом,
Модели машинного обучения делятся в основном на дискриминативные и генеративные, при этом генеративные моделируют
Сдвиг данных
Сдвиг данных (data shift) означает, что данные, на которых модель будет применяться, среднестатистически отличаются от тех, на которых модель обучалась и тестировалась, то есть распределение входных данных отличается при тестировании и применении:
Сдвиг в распределении исходных данных
Сдвиг в условном распределении целевой переменной
Проблема 1. Большинство метрик качества (accuracy, MSE, logloss, F1 и другие) зависят от распределения исходных данных
Проблема 2. В обучающих и тестовых данных могут присутствовать такие корреляции, которые не обобщаются на другие выборки. Например, мы классифицируем животных по изображению, но большинство изображений рыб, которые у нас имеются, содержат также пальцы рыбака (эти изображения мы используем как при обучении, так и при тестировании). Модель может научиться классифицировать как рыбу изображение, содержащее пальцы, что в целом неверно и может не работать на других выборках (Brendel and Bethge, 2019).
Проблема 3. Обучающие данные часто недостаточно разнообразны, то есть не покрывают все те типы примеров, на которых желательна корректная работа модели (либо покрывают их в неправильном соотношении). Поэтому при применении модели могут встречаться примеры таких типов, которые никогда не встречались при обучении или встречались редко, то есть лежали вне распределений
Например, в датасете из фотографий практически исключено появление фотографий собаки, покрашенной в радужные цвета, или фотографий лица человека, которому на лоб приклеено фото другого человека. Такие изображения считаются OOD-данными. Также OOD-данными можно считать примеры с очень редкими значениями каких-либо признаков, которые имеют мало шансов попасть в обучающую выборку. Диагностика сдвига данных является важной практической задачей (Yang et al., 2021), а способность модели обобщаться на большее разнообразие примеров и ситуаций, чем те, что встречались при обучении, является открытой проблемой в машинном обучении и одной из метрик "интеллектуальности" модели (Shen et al., 2021; Goyal and Bengio, 2020; Battaglia et al., 2018; Chollet, 2019).
Утечка данных
Утечкой данных (data leakage, или target leakage) называется ситуация, когда существует некий признак, который при обучении содержал больше информации о целевой переменной, чем при последующем применении модели на практике. Например, ID пациента может сильно коррелировать с диагнозом, но только в текущем датасете (который поделен на обучающую и тестовую часть). Модель, предсказывающая диагноз по ID, будет иметь высокую точность на тестовом датасете, но в целом очевидно, что в данной задаче такой способ предсказания некорректен и не будет хорошо работать на других данных. Утечка данных является частным случаем сдвига данных, поскольку зависимость ID
Еxample for this is KDD-Cup 2008 breast cancer prediction competition, where the patient ID contained an obvious leak. It is by no means obvious that removing this feature would leave a leakage-free dataset, however. Assuming different ID ranges correspond to different health care facilities (in different geographical locations, with different equipment), there may be additional traces of this in the data. If for instance the imaging equipment's grey scale is slightly different and in particular grey levels are higher in the location with high cancer rate, the model without ID could pick up this leaking signal from the remaining data, and the performance estimate
would still be optimistic (the winners show evidence of this in their report). (Kaufman et al., 2011)
Если удастся интерпретировать модель (хотя бы приблизительно), то мы получим дополнительную информацию, которая поможет надежнее оценить ее качество в условиях возможной утечки и сдвига данных.
Локальная интерпретация моделей
Вместо попыток интерпретировать модель целиком, что может быть очень сложно, мы можем рассмотреть задачу интерпретации ответа модели
Local explanations have a distinct advantage over global explanations because by only focusing on a single sample they can remain more faithful to the original model. We anticipate that in the future local explanations will become foundational building blocks for many downstream tasks in machine learning. (Lundberg et al., 2019)
Для ответа на этот вопрос мы можем изменять
Например, рассчитав градиент
Производная локальна и не говорит о том, как изменится ответ при существенных изменениях
. Например, если один из признаков достиг состояния "насыщения", то есть значение данного признака более чем достаточно, чтобы сделать какой-то вывод о целевой переменной, то производная по нему почти равна нулю. Эффект будет лишь если мы сильно изменим данный признак. В некоторых моделях (решающих деревьях) производная либо равна нулю, либо не существует.
Для бинарных признаков производная не всегда информативна, поскольку малое изменение признака ведет в "невозможную" область нецелого значения, в котором модель и не обязана работать корректно.
Есть и другие подходы к локальной интерпретации модели. В качестве
Также мы можем интерпретировать не само предсказание
Разницу между двумя предсказаниями
Разницу между текущим и усредненным предсказанием
.
Это означает, что мы пытаемся объяснить изменение в предсказании, вызванное изменением входных признаков (в первом случае) или появлением информации о входных признаках (во втором случае). При этом мы вычисляем вклад каждого признака в
Методы LIME и SHAP можно применить к любой модели машинного обучения, поскольку они никак не используют информацию о том, как устроена модель "изнутри", то есть являются model-agnostic методами (хотя существуют вычислительно эффективные реализации для конкретных видов моделей, такие как Tree SHAP).
Существуют также специфические способы интерпретации, позволяющие объяснить
LIME: Local Interpretable Model-agnostic Explanations
LIME (Ribeiro et al., 2016) - это подход к интерпретации ответа модели
Мы интерпретируем модель
- исходная модель - выбранный тестовый пример, предсказание на котором интерпретируется
Локальное упрощенное представление
Для примера
- изменения примера - индикатор изменения - вектор упрощенного представления - функция, преобразующая вектор упрощенного представления в
Например, на рис. 1 функция
Функцию
Для табличных данных мы можем в качестве
Объясняющая модель
Теперь мы можем обучить модель
- объясняющая модель - обучающая выборка для объясняющей модели
Максимально возможный размер обучающей выборки равен
- мера близости к - веса примеров из обучающей выборки
Примечание. В kernel SHAP, который мы рассмотрим в следующих разделах, в качестве
Для обучения модели
В данной формуле мы считаем квадрат разности предсказаний объясняющей модели
Таким образом, суть подхода LIME в том, что мы аппроксимируем предсказание модели
При этом мы надеемся, что такая аппроксимация адекватна, то есть наличие
Работа алгоритма LIME не зависит от вида модели
Примеры и обсуждение
На рис. 3 мы видим объяснение предсказания сверточной нейронной сети Inception (Szegedy et al., 2014). Сначала мы рассматриваем выходной нейрон, соответствующий классу "Electric guitar", и пытаемся аппроксимировать значение на этом нейроне с помощью линейной модели
Работа алгоритма LIME определяется выбором набора изменений
Интересно было бы попробовать применить алгоритм LIME для интерпретации предсказаний человека на различных задачах. Такой подход мог бы дать лучшее понимание плюсов, минусов и границ применимости алгоритма.
Один из минусов заключается в том, что измененные примеры
Конечно, можно разрабатывать более эффективные способы интерпретации для конкретных предметных областей, но особенность LIME именно в том, что это очень общий подход, который может быть применен к широкому классу моделей. При этом многие детали в нем, в частности вид упрощенного представления, могут быть выбраны произвольно.
LIME-SP: объединение локальных интерпретаций в глобальную
Авторы также предлагают надстройку над алгоритмом LIME, называемую submodular pick (SP), которая может помочь интерпретировать модель в целом, а не только на конкретном примере. Для этого выбирается набор тестовых примеров, и каждый пример интерпретируется алгоритмом LIME, при этом к каждому примеру мы применяем одни и те же по смыслу изменения. Используя линейную модель
Например, в случае модели, работающей с текстом и использующей bag-of-words, столбец матрицы
Получив матрицу
SHAP: Shapley Additive Explanation Values
В данном разделе мы рассмотрим подход SHAP (Lundberg and Lee, 2017), позволяющий оценивать важность признаков в произвольных моделях машинного обучения, а также может быть применен как частный случай метода LIME.
Shapley values в теории игр
Теория игр - это область математики, изучающей взаимодействие (игру) между игроками, преследующими некие цели и действующими по неким правилам. Кооперативной игрой называется такая игра, в которых группа игроков (коалиция) действует совместно. С середины XX века (Shapley, 1952) известны так называмые Shapley values, которые позволяют численно оценить вклад каждого игрока в достижение общей цели.
Примечание. Понятие "игра" в данном случае может ввести в заблуждение. Обычно под игрой понимается противостояние двух и более сторон, здесь же речь пойдет скорее о кооперативном процессе, в котором каждый участник вносит вклад в общий результат.
Определение (Shapley values). Пусть существует характеристическая функция
Пусть всего есть
То есть мы считаем средний прирост эффективности от добавления
Формула
Формула
Shapley regression values
Shapley values можно применить в машинном обучении, если игроками считать наличие отдельных признаков, а результатом игры - ответ модели на конкретном примере
Game-theoretic formulations of feature importance have become popular as a way to "explain" machine learning models. These methods define a cooperative game between the features of a model and distribute influence among these input elements using some form of the game's unique Shapley values. ... In this setting, the "players" are the features used by the model, and the game is the prediction of the model. (Kumar et al., 2020)
Shapley regression values (Lipovetsky and Conklin, 2001) позволяют оценить вклад каждого признака в ответ модели
Следовательно,
Тогда вклад отдельных признаков в величину предсказания модели можно оценивать по формулам
В целом есть некоторые проблемы в представлении признака как игрока. Дело в том, что для игрока существует лишь два состояния: либо он есть, либо его нет. Признак же существует как минимум в трех состояниях: два разных значения и неопределенное значение (отсутствие признака). В Shapley regression values сранивается текущее значение признака на примере
Минусом такого подхода является высокая сложность вычислений: для расчета Shapley regression values нужно обучать модель на всех возможных подмножествах признаков, что в большинстве случаев невыполнимо. Однако мы можем намного быстрее посчитать приблизительное значение Shapley values, если будем считать не все элементы суммы
SHAP values
Можем ли мы аппроксимировать Shapley regression values, обучая всего одну модель на всех признаках? В этом случае нам нужно получать предсказание модели в случаях, когда многие из признаков имеют неопределенные значения. Большинство моделей не умеют работать с такими данными, что является проблемой.
Применим статистический подход и будем считать, что обучающие и тестовые данные взяты из некоторого распределения вероятностей. Пусть часть признаков в примере
Определение (SHAP values). Пусть мы имеем модель
Игроками являются признаки (наличие
-го игрока означает текущее значение -го признака на примере , отсутствие -го игрока означает неопределенное значение -го признака - так же, как в Shapley regression values). Характеристической функцией
коалиции признаков является условное мат. ождидание по распределению данных.
Таким образом, алгоритм расчета SHAP values следует формулам
We propose SHAP values as a unified measure of feature importance. These are the Shapley values of a conditional expectation function of the original model. ... SHAP values attribute to each feature the change in the expected model prediction when conditioning on that feature. (Lundberg and Lee, 2017)
Наиболее важным свойством, которым обладают Shapley values, рассчитанные по формулам
Отличие SHAP values от Shapley regression values в том, что в последних характеристической функцией группы признаков
Проблемы и ограничения SHAP values
На практике рассчет SHAP values позволяет интерпретировать модель, выявлять скрытые проблемы в модели и данных и даже выполнять кластеризацию, что мы увидим далее в разделе "SHAP на практике". Однако такой подход имеет свои проблемы и ограничения. Проблемы SHAP можно поделить на три класса: вычислительные проблемы, проблемы ограниченной применимости и концептуальные проблемы.
Вычислительные проблемы. Определение SHAP не говорит о том, как именно рассчитывать
Проблемы ограниченной применимости. Shapley values являются достаточно гибким инструментом, который можно применять во многих случаях для оценки вклада "участников процесса" в результат. Но SHAP values не являются универсальным способом интерпретации как минимум потому, что выходные данные могут иметь сложный формат, а входные признаки могут быть не интерпретируемы.
Концептуальные проблемы возникают из вопроса о том, можно ли вообще SHAP values считать мерой важности признаков в модели? Дело в том, что SHAP values зависят не только от модели, но и от распределения данных, при этом даже признаки, которые никак не используются моделью, могут иметь ненулевые SHAP values. Об этом мы поговорим позже, так как этот вопрос требует отделного раздела.
Independent SHAP
Задачу оценки
feature independence and model linearity are two optional assumptions simplifying the computation of the expected values (Lundberg and Lee, 2017)
В формуле стоит знак приблизительного равенства потому, что линейность и независимость - это лишь предположения: чем ближе они к истине, тем точнее аппроксимация. С помощью данной формулы мы можем рассчитать
Не является ли линейность и независимость влияния признаков чрезмерно грубым упрощением? В некоторых случаях возможно является, но вспомним, что в методе LIME мы использовали такое же допущение, обучая линейную объясняющую модель
Kernel SHAP
Авторы сопоставляют SHAP с несколькими появившимися в 2010-х годах методами интерпретации моделей машинного обучения, которые используют локальную аппроксимацию, в первую очередь с LIME, а также с layer-wise relevance propagation (Bach et al., 2015) и activation difference propagation (DeepLIFT) (Shrikumar et al., 2017), которые мы сейчас не будем рассматривать.
Как LIME, так и DeepLIFT рассматривают локальное упрощенное представление в виде вектора
Важным является случай, когда
Вспомним, что в LIME при выборе линейной модели
- среднеквадратичное отклонение , где - биномиальный коэффициент
Основное отличие от примера, предложенного авторами LIME (Ribeiro et al., 2016), состоит именно в
Shapley kernel назначает большие веса примерам как с большим количеством единиц, так и с большим количеством нулей. Это означает, что мы обращаем основное внимание на примеры с (почти) максимальным и (почти) минимальным количеством компонентов (игроков). На рис. 4 показано отличие Shapley kernel от L2 distance и cosine similarity, которые предлагалось использовать в LIME.
Формулировка метода Kernel SHAP не говорит о том, как именно рассчитывать или аппроксимировать
Таким образом,
Kernel SHAP - это способ приблизительного расчета суммы
подсчетом не всех, а лишь части ее элементов Independent SHAP - это способ приблизительного расчета элемента суммы
, т. е.
Как видим, Kernel SHAP и Independent SHAP конкретизируют разные подзадачи и могут быть использованы совместно.
Tree SHAP
SHAP values основаны на условном мат. ождидании
Получить предсказание решающего дерева для примера с пропущенными значениями можно следующим образом. Рассмотрим пример
SHAP values можно посчитать по формуле
SHAP на практике
Для подсчета SHAP values существует python-библиотека shap, которая может работать со многими ML-моделями (XGBoost, CatBoost, TensorFlow, scikit-learn и др) и имеет документацию с большим количеством примеров. С помощью бибилиотеки SHAP можно строить различные схемы и графики, описывающие важность признаков в модели и их влияние на ответ. Рассмотрим примеры из документации.
Waterfall plot
На рис. 5 показан waterfall plot, объясняющий предсказание на первом тестовом примере из датасета Boston housing. SHAP values получены с помощью метода Tree SHAP. Схема читается снизу вверх, и признаки упорядочены по возрастанию их SHAP values. Например, SHAP value -0.43 для признака CRIM (имеющего значение 0.006) говорит о том, что значение CRIM=0.006 на данном примере уменьшает величину предсказания модели, по сравнению с отсутствием признака CRIM, при произвольном наличии других признаков (см. "Shapley values в теории игр").
Summary plot
Рассчитав SHAP value для каждого признака на каждом примере с помощью shap.Explainer или shap.KernelExplainer (есть и другие способы, см. документацию), мы можем построить summary plot, то есть summary plot объединяет информацию из waterfall plots для всех примеров.
На рис. 6 summary plot построен для модели, обученной на датасете, описывающем влияние различных медицинских анализов на вероятность смерти в течение следущих 12 лет (Cox et al., 1997). Рисунок взят из Lundberg et al., 2019. SHAP values при этом получены с помощью метода Tree SHAP.
Каждая горизонтальная линия соответствует одному признаку, и на этой линии отмечаются точки, соответствующие тестовым примерам: кордината точки на линии соответствует SHAP value, цвет точки - значению признака. Если в каком-то участке линии не хватает места для всех точек, линия начинает расти в ширину. Таким образом, для каждого признака схема представляет собой слившееся множество точек, по одной точке для каждого примера
Слева на рис. 6 показана важность признаков, рассчитанная как средний модуль величины SHAP values для данного признака.
Очевидное влияние на риск смерти имеет возраст, а также пол (женщины среднестатистически живут дольше). Мы видим, что чем больше возраст (красный цвет), тем большее SHAP value (горизонтальная ось) назначается этому признаку. Большое значение SHAP value, в свою очередь, означает, что удаление этого признака (замена значения возраста на неопределенное) существенно уменьшит предсказанную вероятность смерти в течение 12 лет.
Можно также заметить, что большинство SHAP values, соответствующих медицинским анализам (строки 3 и далее), имеют либо оклонулевые, либо положительные значения SHAP values. Это означает, что есть много значений анализов, увеличивающих предполагаемый риск смерти (для данной модели), но нет таких значений, которые бы его сильно уменьшали.
Interestingly, rare mortality effects always stretch to the right, which implies there are many ways to die abnormally early when medical measurements are out-of-range, but not many ways to live abnormally longer. (Lundberg et al., 2019)
Одно из преимуществ SHAP summary plot по сравнению с глобальными методами оценки важности признаков (такими, как mean impurity decrease или permutation importance) состоит в том, что на SHAP summary plot можно различить 2 случая: (А) признак имеет слабое влияние, но во многих примерах, (Б) признак имеет большое влияние, но в немногих примерах.
SHAP summary plots avoid conflating the magnitude and prevalence of an effect into a single number, and so reveal rare high magnitude effects. (Lundberg et al., 2019)
Dependence plot
На рис. 7C мы видим совместное распределение SHAP value для признака Systolic blood pressure и значения этого признака по тестовому датасету. Фактически это та же самая информация, что показана в summary plot для этого признака. На рис. 7D показаны SHAP interaction values (их способ рассчета мы не рассматривали в этом обзоре) для пары признаков: Systolic blood pressure + Age. На рис. 7B показана схема (SHAP dependence plot), объединяющая информацию из схем на рис. 7C и 7D. Рисунки взяты из Lundberg et al., 2019.
Как можно видеть, совместное распределение на рис. 7B имеет "два хвоста". Для возраста 30-40 (синий цвет) систолическое давление 160+ mmHg повышает предсказанную вероятность смерти в течение 12 лет, тогда как для возраста 60-70+ это же давление является нормальным (соответствующим возрасту) и дополнительно не повышает вероятность смерти в течение 12 лет.
early onset high blood pressure is more concerning to the model than late onset high blood pressure (Lundberg et al., 2019)
Следует помнить, что при этом мы изучаем обученную модель, а не только данные. Модель может ошибаться, и тогда выводы о целевой зависимости, сделанные на основе SHAP values, тоже будут неверны.
Диагностика сдвига данных с помощью SHAP loss values
Cдвиг данных является серьезной проблемой в машинном обучении. Он может быть вызван недостаточным разнообразием обучающих данных, изменениями в методах расчета признаков и ошибками в их обработке после развертывания модели.
Deploying machine learning models in practice is challenging because of the potential for input features to change after deployment. It is hard to detect when such changes occur, so many bugs in machine learning pipelines go undetected, even in core software at top tech companies. (Lundberg et al., 2019).
Для диагностики сдвига данных можно использовать Shapley values, считая результатом кооперативной игры не предсказание модели, а функцию потерь. Тогда мы сможем определить, какие признаки вносят положительный или отрицательный вклад в точность модели.
В работе "Explainable AI for Trees" (Lundberg et al., 2019) авторы проводят следующий эксперимент. В качестве данных используется датасет, целевым признаком в котором является длительность процедуры анастезии перед операцией. Датасет содержит данные за 4 года (2185 признаков и ок. 147000 пациентов). Данные за первый год используются для обучения, данные за следующие три года - для тестирования (симуляции работы системы по разначению). Отметим, что это не временной ряд: каждый пример независим.
График метрики качества на тестовых данных (в зависимости от даты) показан на рис. 8. Такие графики используют для мониторинга качества работы системы. Метрика качества на обучающих данных (первый год) намного лучше, что естественно.
На каждом тестовом примере можно рассчитать SHAP loss values, считая игроками наличие признаков, а характеристической функцией набора признаков - точность предсказания на данном примере. Поскольку каждый тестовый пример соответствует определенной дате, то мы можем построить для каждого признака график зависимости Shapley loss values от даты. На Рис. 9 показаны такие графики для трех бинарных признаков (цветом обозначено значение признака).
Первый признак "in room #6" означает, что процедура проводилась в комнате номер 6. При обучении этот признак понижал ошибку предсказания времени процедуры, но при симуляции работы по назначению с какого-то момента стал резко повышать ошибку, то есть наличие этого признака стало вредным. Причина кроется в том, что в коде обработки признаков была допущена ошибка: перепутаны номера комнат 6 и 13. Данная ошибка была допущена исследователями намеренно, чтобы показать эффективность SHAP loss values в обнаружении подобных проблем. При этом на графике функции потерь этой проблемы не видно, так как она затрагивает лишь небольшой процент данных.
Следующие две проблемы, напротив, были ненамеренными и обнаружены случайно. Признак "general anasthesia" в определенный момент резко снижал точность предсказания. Как выяснилось, проблема была связана с ошибкой в конфигурации электронного оборудования.
На признаке "atrial fibrillation" виден дрейф значений SHAP loss values: со временем этот признак становится все менее полезным, и в итоге начинает понижать точность предсказания времени процедуры. Как выяснилось, это вызвано изменениями в длительности процедуры абляции фибрилляции предсердий, которая связана с изменениями в технологиях и персонале.
Supervised-кластеризация данных с помощью SHAP
Из SHAP values можно составить SHAP-вектор для каждого обучающего или тестового примера. Lundberg et al., 2018 заметили, что SHAP-векторы можно использовать для кластеризации данных намного эффективнее, чем вектора исходных признаков.
Задача кластеризации данных достаточно нетривиальна. Как правило, мы не можем выполнить кластеризацию просто на основе евклидова расстояния между векторами признаков, так как признаки различаются по важности, имеют разный масштаб, и некоторые признаки могут дублировать друг друга.
Элементы SHAP-вектора соответствуют отдельным признакам, но при этом каждый элемент SHAP-вектора представлен в одной и той же шкале. При этом величина SHAP value означает важность признака (в контексте задачи предсказания целевого признака). Исходя из этого, можно выполнять supervised-кластеризацию в пространстве SHAP-векторов.
The distance metric does not account for the discrepancies among the units/meaning of features (e.g., weight vs. age), and there
is no way for an unsupervised approach to know which features are relevant for an outcome of interest, and so should be weighted more strongly. We can address both of these limitations by using local explanation embeddings to embed each sample into a new "explanation space." If we run clustering in this new space, we will get a supervised clustering where samples are grouped together based on their explanations. Supervised clustering naturally accounts for the differing units of various features, only highlighting changes that are relevant to a particular outcome. ... Analogously, we can also run PCA on local explanation embeddings... (Lundberg et al., 2019)
На рис. 10 показана кластеризация с помощью SHAP на датасете, описывающем риск смерти в течение 12 лет на основе медицинских анализов (об этом датасете см. также раздел "Summary plot"). Каждый столбец представляет собой SHAP-вектор для одного пациента, и эти векторы упорядочены (локально) по сходству друг с другом с помощью алгомеративной иерархической кластеризации и (глобально) по значению целевого признака, объединяясь в кластеры людей со сходной симптоматикой.
Другой пример из Lundberg et al., 2018 изображен в трехмерном формате (рис. 11). В данном случае показаны примеры из датасета, в котором целевой переменной является вероятность месячного заработка больше $50К. Примеры здесь тоже кластеризованы с помощью их SHAP-векторов ("sorted by explanation similarity"), то есть мы ищем группы примеров, предсказания на которых объясняются схожим образом. Полученным кластерам даны текстовые описания.
Проблемы SHAP values
Можно ли SHAP values считать адекватной мерой важности признаков в модели? Как мы увидим далее, SHAP values может быть не равно нулю даже для тех признаков, которые никак не используются в модели.
Если рассуждать более глобально, то проблема SHAP values в том, что выбор характеристической функции
the correct way to connect a machine learning model to a coalitional game has been a source of controversy (Chen et al., 2020)
SHAP values в условиях взаимной зависимости признаков
Ранее мы рассматривали определение SHAP values и видели, что значение
Tree SHAP рассчитывает непосредственно SHAP values:
Пусть два признака
Таким образом, не используемые моделью признаки могут иметь ненулевые SHAP values, потому что распределение данных таково, что эти признаки позволяют предсказать ожидаемый ответ модели. Поэтому интерпретировать SHAP values как важность признаков в модели не всегда корректно.
For instance, the popular SHAP algorithm’s formulation may give substantial attributions to features that play no role in the model (Merrick and Taly, 2019)
Say, in the context of an analysis of fairness, we require that a certain feature play no role in the prediction model, and indeed, it does not. If we use CES [Conditional Expectations Shapley - SHAP], it may still be assigned significant attribution, leading us to incorrectly believe that the function is sensitive to the variable. (Sundararajan and Najmi, 2019)
Independent SHAP аппроксимирует SHAP values следующим образом:
Соблюдение границ многообразия данных
Множество реальных данных как подмножество
Хотя у термина «многообразие» есть строгое математическое определение, в машинном обучении его используют менее формально для обозначения связного множества точек в пространстве высокой размерности, которое можно хорошо аппроксимировать, вводя в рассмотрение лишь небольшое число степеней свободы, или измерений. Каждое измерение соответствует локальному направлению изменения. (Deep Learning, раздел 5.11.3)
В предыдущем разделе мы рассматривали проблему ненулевых SHAP values для признаков, которые не используются в модели. Часто эту проблему рассматривают под таким углом (Chen et al., 2020): при локальной интерпретации модели
On one side, many argue that perturbing features independently reveals the functional dependence of the model, and is thus true to the model. However, independent perturbation of the data can create unrealistic or invalid sets of model input values. Thus, on the other side, researchers argue that one should perturb features while staying on the data manifold, and so be true to the data. (Wang et al., 2020)
Справедливости ради надо отметить, что не всегда следует избегать выхода за пределы многообразия обучающих данных. Конечно, при этом мы можем получить совершенно невозможные сочетания признаков, и на таких сочетаниях от модели не требуется корректная работа. За пределами многообразия реальных данных модель может вести себя как угодно (рис. 12), и ее интерпретация в этих областях неинформативна. Но с другой стороны, существует проблема сдвига данных, когда распределение данных меняется.
Резюме. Выйдя пределы многообразия обучающих данных, мы можем получить нереалистичные или некорректные данные, но оставаясь на многообразии, мы можем получить сильную взаимосвязь признаков, что создает сложности в оценке их независимого влияния на предсказания. Более подробно об этой проблеме можно почитать в статье "True to the Model or True to the Data?" (Chen et al., 2020).
Shapley Flow
Shapley Flow (Wang et al., 2020) - это еще один метод интерпретации предсказания модели на конкретном примере, являющийся обобщением метода SHAP. Его можно применять тогда, когда о многообразии данных известна какая-то информация. Рассмотрим алгоритм действий в методе Shapley Flow.
Программную реализацию Shapley Flow можно найти в данном репозитории, в нем же есть туториал.
Использование метода Shapley Flow
Шаг 1. Строится граф причинно-следственных связей (causal graph) во входных данных (рис. 13). Вершинами графа являются признаки, направленные ребра обозначают наличие причинно-следственной связи. К этому графу добавляется еще одна вершина - предсказание модели. Этот граф используется как входные данные для алгоритма Shapley Flow.
Шаг 2. Выбирается два примера:
Шаг 3. Алгоритм Shapley Flow оценивает вклад в
Принцип работы метода Shapley Flow
Здесь мы не будем углубляться в детали метода Shapley Flow, но рассмотрим общую идею. Согласно авторам метода Shapley Flow, дилемма "interventional" против "conditional" интерпретации связана с выбором "границ объяснения" (boundary of explanation). Границей объяснения называется деление причинно-следственного графа на две части
На рис. 15 показана простая модельная задача (Pearl and Russell, 2000). В задаче есть пять переменных:
- сезон года - идет ли дождь? - включен ли разбрызгиватель воды? - сыро ли на улице? - сколько ли на улице?
Красными стрелками показаны причинно-следственные статистические связи между признаками. С определенной долей вероятности можно утверждать следующее:
: если сезон сухой, то разбрызгиватель включен : если сезон влажный, то идет дождь : если разбрызгиватель включен, то покрытие мокрое : если идет дождь, то покрытие мокрое : если покрытие мокрое, то на улице скользко
Модель
На рис. 15 (a-c) проиллюстрирована работа трех методов: Independent SHAP, Assymetric Shapley values (ASV, Frye et al., 2019) и Shapley Flow. Метод Independent SHAP относится к классу "inverventional" (см. предыдущий раздел) и не учитывает границы многообразия данных: признаки в нем считаются независимыми. Этот метод назначит ненулевой вклад только признакам
Метод Assymetric Shapley values является обобщением SHAP, которое позволяет использовать информацию о причинно-следственных связях в исходных данных. Его можно рассматривать как "interventional" по отношению к "границе объяснения"
Авторы Shapley Flow стремятся объединить оба подхода. При этом рассматриваются все возможные "границы объяснения", и важность вклад назначается не вершинам, а ребрам. Таким образом, во-первых мы видим признаки, которые непосредственно влияют на ответ модели (
Алгоритм Shapley Flow, как и Shapley values, задается аксиоматически, и доказывается единственность решения. Если SHAP основан на Shapley values, то Shapley Flow основан на Owen values - расширении понятия Shapley values. Более детальное описание этого метода можно найти в Wang et al., 2020.
Заключение
Интерпретация моделей машинного обучения не является простой задачей, поэтому существенная часть этого обзора была посвящена различным проблемам при применении методов LIME и SHAP.
В LIME мы пытаемся найти локальную аппроксимацию модели (обычно линейную), но получившаяся аппроксимация может быть неточной и иногда вводить в заблуждение.
SHAP направлен на интерпретацию моделей, но сами результаты этого метода не всегда легко интерпретировать. SHAP values не имеют простого и интуитивно понятного определения, и при этом имеют разновидности (Tree SHAP, Independent SHAP, Kernel SHAP, Deep SHAP), которые существенно различаются:
Tree SHAP позиционируется как "high-speed exact algorithm", однако именно в нем результаты зависят от распределения данных, что контринтуитивно. При этом признаки, которые вообще не используются моделью, могут иметь ненулевые SHAP values.
Independent SHAP не имеет такой проблемы, но работает намного медленнее и иногда оценивает работу модели на некорректных сочетаниях признаков.
Несмотря на это, SHAP values могут быть очень полезны и могут помочь не только в интерпретации предсказаний, но и в отладке работы модели в условиях сдвига данных, а также в кластеризации данных.
Shapley Flow является наиболее общим, но и наиболее сложным методом, в котором требуется строить граф причинно-следственных связей в данных. Этим по-видимому и вызвана его пока что малая распространенность на практике.
Список источников
Akhtar and Mian, 2018. Threat of Adversarial Attacks on Deep Learning in Computer Vision: A Survey.
Bach et al., 2015. On Pixel-Wise Explanations for Non-Linear Classifier Decisions by Layer-Wise Relevance Propagation.
Battaglia et al., 2018. Relational inductive biases, deep learning, and graph networks.
Brendel and Bethge, 2019. Approximating CNNs with Bag-of-local-Features models works surprisingly well on ImageNet.
Brown et al., 2017. Adversarial Patch.
Carlsson, 2009. Topology and Data.
Chen et al., 2020. True to the Model or True to the Data?
Chollet, 2019. On the Measure of Intelligence.
Cox et al., 1997. Plan and operation of the NHANES I Epidemiologic Followup Study, 1992.
Goodfellow et al., 2016. Deep Learning.
Fefferman et al., 2013. Testing the Manifold Hypothesis.
Goyal and Bengio, 2020. Inductive Biases for Deep Learning of Higher-Level Cognition.
Janzing et al., 2019. Feature relevance quantification in explainable AI: A causal problem.
Kaufman et al., 2011. Leakage in Data Mining: Formulation, Detection, and Avoidance.
Kruskal, 1987. Relative Importance by Averaging Over Orderings.
Kumar et al., 2020. Problems with Shapley-value-based explanations as feature importance measures.
Li et al., 2021. Interpretable Deep Learning: Interpretation, Interpretability, Trustworthiness, and Beyond.
Linardatos et al., 2020. Explainable AI: A Review of Machine Learning Interpretability Methods.
Lundberg and Lee, 2017. A Unified Approach to Interpreting Model Predictions.
Lundberg et al., 2018. Consistent Individualized Feature Attribution for Tree Ensembles.
Lundberg et al., 2019. Explainable AI for Trees: From Local Explanations to Global Understanding.
Lipovetsky and Conklin, 2001. Analysis of Regression in Game Theory Approach.
Merrick and Taly, 2019. The Explanation Game: Explaining Machine Learning Models Using Shapley Values.
Pearl and Russell, 2000. Bayesian networks.
Ribeiro et al., 2016. "Why Should I Trust You?": Explaining the Predictions of Any Classifier.
Shapley, 1952. A Value for N-Person Games.
Shen et al., 2021. Towards Out-Of-Distribution Generalization: A Survey.
Shrikumar et al., 2017. Learning Important Features Through Propagating Activation Differences.
Simonyan et al., 2013. Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps.
Štrumbelj and Kononenko, 2014. Explaining prediction models and individual predictions with feature contributions.
Szegedy et al., 2014. Going Deeper with Convolutions.
Sundararajan et al., 2017. Axiomatic Attribution for Deep Networks.
Sundararajan and Najmi, 2019. The many Shapley values for model explanation.
Wang et al., 2020. Shapley Flow: A Graph-based Approach to Interpreting Model Predictions.
Yang et al., 2021. Generalized Out-of-Distribution Detection: A Survey.
Данный обзор первоначально размещен на сайте generalized.ru, где вы можете найти и другие обзоры.