Открыть сервис

SHAP

SHAP (SHapley Additive exPlanations) — это метод объяснения предсказаний моделей машинного обучения, основанный на теории кооперативных игр и концепции значений Шепли. Он позволяет количественно оценить вклад каждого признака (фактора) в конкретное предсказание модели, обеспечивая интерпретируемость результатов «чёрных ящиков» (например, нейронных сетей, градиентного бустинга или случайного леса). SHAP сочетает в себе теоретическую обоснованность, локальную точность и согласованность, что делает его одним из наиболее популярных инструментов в области объяснимого искусственного интеллекта (XAI).

История и происхождение

Метод SHAP был предложен в 2017 году Скоттом Лундбергом (Scott Lundberg) и Су-Ин Ли (Suh-In Lee) из Вашингтонского университета. В своей работе «A Unified Approach to Interpreting Model Predictions» они объединили идеи из теории игр (значения Шепли, разработанные Ллойдом Шепли в 1953 году) и существующие методы объяснения, такие как LIME (Local Interpretable Model-agnostic Explanations), DeepLIFT и Layer-Wise Relevance Propagation. Основная цель заключалась в создании единого подхода, который гарантировал бы несколько ключевых свойств: локальную точность (сумма вкладов признаков равна предсказанию), отсутствие признака (нулевой вклад для неиспользуемых признаков) и согласованность (изменение модели, увеличивающее влияние признака, не уменьшает его вклад).

С момента публикации SHAP быстро завоевал популярность в сообществе data science. В 2018 году Лундберг и Ли выпустили библиотеку shap для Python, которая стала стандартом для объяснения моделей. В 2019 году метод был удостоен награды за лучшую работу на конференции NeurIPS.

Основные принципы и теория

Значения Шепли

В основе SHAP лежит концепция значений Шепли из теории кооперативных игр. В контексте машинного обучения «игроками» являются признаки, а «выигрышем» — предсказание модели. Значение Шепли для признака — это средний маржинальный вклад этого признака по всем возможным подмножествам признаков (коалициям). Формально, для модели \( f \) с множеством признаков \( N \) значение Шепли для признака \( i \) определяется как:

\[ \phi_i = \sum_{S \subseteq N \setminus \{i\}} \frac{|S|! (|N| - |S| - 1)!}{|N|!} \left[ f(S \cup \{i\}) - f(S) \right] \]

где \( S \) — подмножество признаков, \( f(S) \) — ожидаемое предсказание модели при условии, что известны только признаки из \( S \). Вычисление точных значений Шепли требует перебора всех \( 2^{|N|} \) подмножеств, что вычислительно нереализуемо для большого числа признаков. SHAP предлагает аппроксимации, основанные на аддитивной структуре.

Аддитивная модель объяснения

SHAP представляет предсказание модели как сумму базового значения (ожидаемого предсказания по всему датасету) и вкладов каждого признака:

\[ f(x) = \phi_0 + \sum_{i=1}^{M} \phi_i \]

где \( \phi_0 \) — базовое значение (обычно среднее предсказание по обучающей выборке), \( \phi_i \) — значение SHAP для признака \( i \), а \( M \) — количество признаков. Такая аддитивная форма гарантирует локальную точность и интерпретируемость.

Виды и реализации SHAP

В библиотеке shap реализовано несколько вариантов метода, различающихся по скорости и точности:

KernelSHAP

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

TreeSHAP

Специализированный метод для деревьев решений и ансамблей на их основе (например, XGBoost, LightGBM, CatBoost, Random Forest). TreeSHAP использует структуру дерева для эффективного вычисления значений Шепли за время, пропорциональное глубине дерева. Он значительно быстрее KernelSHAP и поддерживает обработку пропущенных значений.

DeepSHAP

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

LinearSHAP

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

Применение

SHAP широко используется в различных областях, где требуется интерпретируемость моделей машинного обучения:

Финансы и кредитный скоринг

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

Медицина и здравоохранение

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

Промышленность и производство

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

Маркетинг и рекомендательные системы

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

Научные исследования

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

Преимущества и недостатки

Преимущества

  • Теоретическая обоснованность: SHAP основан на математически строгих значениях Шепли, что гарантирует согласованность и локальную точность.
  • Универсальность: Метод применим к любой модели машинного обучения (через KernelSHAP).
  • Интерпретируемость: Визуализации SHAP (например, summary plot, force plot, dependence plot) интуитивно понятны и позволяют анализировать как отдельные предсказания, так и глобальные закономерности.
  • Согласованность: Если модель изменяется так, что влияние признака увеличивается, его значение SHAP не уменьшается.

Недостатки

  • Вычислительная сложность: Для точных значений Шепли требуется экспоненциальное время. Аппроксимации (KernelSHAP) могут быть медленными для больших датасетов.
  • Зависимость от базового значения: Выбор базового значения (например, среднего по датасету) влияет на интерпретацию. В некоторых случаях это может быть нерепрезентативно.
  • Предположение о независимости признаков: TreeSHAP и KernelSHAP предполагают, что признаки независимы, что может приводить к искажениям при сильных корреляциях.
  • Сложность для моделей с взаимодействиями: SHAP не всегда корректно разделяет вклад взаимодействий между признаками, хотя существуют расширения (SHAP interaction values).

Инструменты и библиотеки

Основная библиотека для работы с SHAP — shap (Python). Она поддерживает все основные типы моделей и предоставляет широкий набор визуализаций. Другие библиотеки, такие как XGBoost, LightGBM и CatBoost, имеют встроенную поддержку SHAP. В R аналогичную функциональность предоставляет пакет shapr (с 2020 года). Также существуют интеграции с платформами, такими как MLflow и H2O.

Критика и альтернативы

SHAP критикуется за вычислительную сложность и чувствительность к выбору базового значения. Некоторые исследователи отмечают, что значения Шепли могут быть неинтуитивными при наличии сильных взаимодействий между признаками. Альтернативными методами объяснения являются:

  • LIME (Local Interpretable Model-agnostic Explanations) — более быстрый, но менее теоретически обоснованный метод.
  • PDP (Partial Dependence Plots) и ICE (Individual Conditional Expectation) — для визуализации зависимости предсказаний от одного признака.
  • Permutation Feature Importance — для оценки глобальной важности признаков.
  • Anchors — метод, основанный на правилах «если-то».

Интересные факты

  • SHAP является одним из немногих методов объяснения, который удовлетворяет всем трём аксиомам, сформулированным в теории Шепли: эффективность, симметрия и аддитивность.
  • В 2020 году команда разработчиков shap выпустила версию 0.40, которая значительно улучшила производительность TreeSHAP.
  • SHAP активно используется в соревнованиях по машинному обучению (например, на Kaggle) для анализа и отбора признаков.
  • Метод поддерживает объяснение не только предсказаний, но и потерь (loss) модели, что полезно для отладки.

Источники

  • Lundberg, S. M., & Lee, S. I. (2017). A Unified Approach to Interpreting Model Predictions. NeurIPS.
  • Lundberg, S. M., Erion, G., Chen, H., et al. (2020). From Local Explanations to Global Understanding with Explainable AI for Trees. Nature Machine Intelligence.
  • Документация библиотеки shap (shap.readthedocs.io).
  • Molnar, C. (2022). Interpretable Machine Learning: A Guide for Making Black Box Models Explainable.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →