SHAP-значения
SHAP-значения (от англ. SHapley Additive exPlanations) — это метод объяснения предсказаний моделей машинного обучения, основанный на кооперативной теории игр. SHAP-значения позволяют количественно оценить вклад каждого признака (фактора) в конкретное предсказание модели, обеспечивая интерпретируемость «чёрных ящиков» — сложных алгоритмов, таких как градиентный бустинг, нейронные сети или ансамблевые методы. Метод был предложен в 2017 году Скоттом Лундбергом и Су-Ин Ли и с тех пор стал одним из стандартов в области объяснимого искусственного интеллекта (XAI).
История и происхождение
Теоретической основой SHAP-значений является концепция значений Шепли (Shapley value), разработанная американским математиком Ллойдом Шепли в 1953 году в рамках теории кооперативных игр. Значение Шепли — это способ распределения общей выгоды между игроками в коалиции, при котором каждый игрок получает долю, пропорциональную его вкладу в общий результат. В контексте машинного обучения «игроками» выступают признаки, а «выигрышем» — предсказание модели.
В 2017 году Лундберг и Ли адаптировали эту концепцию для задач машинного обучения, создав универсальный метод, который объединяет несколько существовавших ранее подходов к объяснению (LIME, DeepLIFT, Layer-Wise Relevance Propagation) в единую теоретически обоснованную рамку. Работа «A Unified Approach to Interpreting Model Predictions» была представлена на конференции NeurIPS 2017 и получила широкое признание.
Математическая основа
SHAP-значение для признака \( i \) в предсказании модели \( f \) для конкретного объекта \( x \) вычисляется как среднее маргинального вклада этого признака по всем возможным подмножествам признаков (коалициям). Формально:
\[ \phi_i(f, x) = \sum_{S \subseteq N \setminus \{i\}} \frac{|S|! (|N| - |S| - 1)!}{|N|!} \left[ f_x(S \cup \{i\}) - f_x(S) \right] \]
где:
- \( N \) — множество всех признаков,
- \( S \) — подмножество признаков, не включающее \( i \),
- \( f_x(S) \) — ожидаемое предсказание модели при условии, что известны только признаки из \( S \).
Ключевое свойство SHAP-значений — аддитивность: сумма всех SHAP-значений для данного предсказания равна разности между предсказанием модели и средним предсказанием по обучающей выборке (базовым значением). Это позволяет интерпретировать SHAP-значения как вклад каждого признака в отклонение от среднего.
Свойства и аксиомы
SHAP-значения удовлетворяют трём аксиомам, которые делают их единственным методом с такими свойствами:
- Локальная точность (Local Accuracy): сумма значений Шепли для всех признаков плюс базовое значение равна предсказанию модели.
- Отсутствие (Missingness): признак, отсутствующий в модели, имеет нулевое значение Шепли.
- Согласованность (Consistency): если модель изменяется так, что маргинальный вклад признака возрастает или остаётся неизменным, его SHAP-значение не уменьшается.
Эти аксиомы гарантируют, что SHAP-значения дают справедливое и непротиворечивое распределение вклада признаков.
Типы SHAP-значений
В зависимости от способа аппроксимации и области применения выделяют несколько вариантов SHAP:
- KernelSHAP: универсальный метод, использующий ядерную аппроксимацию. Работает с любой моделью, но требует множества вызовов модели, что может быть вычислительно затратно.
- TreeSHAP: оптимизированная версия для деревьев решений и ансамблей на их основе (Random Forest, XGBoost, LightGBM, CatBoost). Использует структуру дерева для точного и быстрого вычисления значений.
- DeepSHAP: адаптация для глубоких нейронных сетей, основанная на обратном распространении ошибки.
- LinearSHAP: точное решение для линейных моделей.
- PartitionSHAP: для моделей, где признаки можно сгруппировать в иерархические структуры.
Применение
SHAP-значения широко используются в различных областях, где требуется интерпретация моделей машинного обучения:
- Медицина: объяснение решений диагностических моделей (например, почему модель предсказала высокий риск заболевания). Врачи могут видеть, какие симптомы или показатели анализов повлияли на предсказание.
- Финансы: интерпретация кредитных скоринговых моделей, обнаружение предвзятости (bias) и соответствие регуляторным требованиям (например, GDPR в Европе, требующий объяснения автоматизированных решений).
- Промышленность: анализ причин отказов оборудования, интерпретация моделей прогнозирования износа.
- Маркетинг: объяснение предсказаний оттока клиентов, сегментации, оценки пожизненной ценности.
Инструменты и программная реализация
Основная библиотека для вычисления SHAP-значений — shap (Python), разработанная Скоттом Лундбергом. Она поддерживает все основные фреймворки машинного обучения (scikit-learn, XGBoost, LightGBM, CatBoost, TensorFlow, PyTorch). Библиотека предоставляет функции для визуализации: summary plot (глобальная важность признаков), waterfall plot (локальное объяснение одного предсказания), dependence plot (зависимость SHAP-значения от значения признака).
Альтернативные реализации существуют в R (пакет fastshap), а также встроенные функции в некоторых коммерческих платформах (DataRobot, H2O Driverless AI).
Ограничения и критика
Несмотря на широкое распространение, SHAP-значения имеют ряд ограничений:
- Вычислительная сложность: точное вычисление SHAP-значений требует экспоненциального числа вызовов модели, поэтому на практике используются аппроксимации, которые могут быть неточными.
- Зависимость от распределения данных: SHAP-значения зависят от способа оценки отсутствующих признаков (обычно — маргинализация по обучающей выборке), что может приводить к нереалистичным сценариям.
- Интерпретация не всегда интуитивна: для неспециалистов SHAP-значения могут быть сложны для понимания, особенно в случаях, когда признаки коррелированы.
- Не учитывает взаимодействия признаков явно: хотя SHAP-значения косвенно учитывают взаимодействия через маргинальные вклады, существуют отдельные методы (SHAP interaction values) для их прямого анализа.
Сравнение с другими методами
SHAP-значения часто сравнивают с методом LIME (Local Interpretable Model-agnostic Explanations). Основное отличие: LIME строит локальную аппроксимирующую модель (например, линейную) и интерпретирует её коэффициенты, тогда как SHAP предоставляет теоретически обоснованное распределение вклада, удовлетворяющее аксиомам. SHAP считается более надёжным, но и более вычислительно затратным.
Интересные факты
- SHAP-значения были использованы для выявления расовых и гендерных предубеждений в моделях машинного обучения, в частности, в системах прогнозирования рецидивов преступлений (COMPAS).
- Метод лёг в основу нескольких коммерческих продуктов, включая интерпретаторы моделей в облачных платформах AWS, Google Cloud и Azure.
- В 2020 году библиотека
shapбыла включена в репозиторий scikit-learn-contrib, что подтверждает её статус в сообществе.
Источники
- Lundberg, S. M., & Lee, S. I. (2017). A Unified Approach to Interpreting Model Predictions. Advances in Neural Information Processing Systems, 30.
- Shapley, L. S. (1953). A Value for n-Person Games. Contributions to the Theory of Games, 2(28), 307–317.
- Molnar, C. (2022). Interpretable Machine Learning: A Guide for Making Black Box Models Explainable. Leanpub.
- Lundberg, S. M., Erion, G., & Lee, S. I. (2018). Consistent Individualized Feature Attribution for Tree Ensembles. arXiv preprint arXiv:1802.03888.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →