1. Введение: магия модели декодирования

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

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

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

2. Отслаивание слоев модели: объяснимый ИИ (XAI)`

В мире машинного обучения поиск точных прогнозов часто приводит к разработке сложных моделей. Хотя эти модели могут давать замечательные результаты, их внутреннюю работу может быть трудно понять даже экспертам. Именно здесь вступает в игру важность интерпретируемости и объяснимости модели.

  • Объяснимость и интерпретируемость. Объяснимость — это способность описать, как модель делает свои прогнозы понятным для человека образом. С другой стороны, интерпретируемость связана с пониманием взаимосвязи между входными функциями и выходными данными модели. Обе концепции имеют решающее значение для укрепления доверия к моделям машинного обучения и обеспечения ответственного принятия решений. Значения SHAP помогают преодолеть разрыв между этими концепциями, предоставляя согласованный и интуитивно понятный способ количественной оценки влияния каждой функции на прогнозы модели.
  • Компромисс между интерпретируемостью и точностью. По мере того, как модели машинного обучения становятся все более сложными, они часто жертвуют интерпретируемостью ради повышения точности. Этот компромисс может затруднить проверку и обоснование прогнозов моделей, особенно в областях с высокими ставками, таких как финансы, здравоохранение или уголовное правосудие. Значения SHAP помогают решить эту проблему, предлагая универсальный метод понимания сложных моделей при сохранении высокого уровня точности.
  • Как значения SHAP приближаются к объяснимости модели.Значения SHAP решают проблему объяснимости модели, приписывая числовое значение каждой функции, представляя ее вклад в конкретный прогноз. Этот подход позволяет пользователям анализировать прогнозы моделей и понимать их обоснование даже для сложных моделей. Значения SHAP основаны на прочной теоретической основе теории кооперативных игр, которая гарантирует, что они обладают желаемыми свойствами, такими как согласованность, справедливость и эффективность при распределении важности функций.

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

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

Вы взволнованы? Давай начнем!

3. Рекомендации фильмов

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

Оценки: категориальные значения от 1 до 5.

Возраст : числовые значения, которые говорят нам о возрасте пользователей.

Пол: категориальные значения, где 0 – мужской, 1 – женский.

Профессия: существует 21 профессия, одна из которых будет закодирована горячим способом.

  • Обучение классификатора прогнозированию оценок

Импортируйте свои стандартные пакеты — вы знакомы с Drill, Pandas, NumPy и парой других, упомянутых ниже, чтобы оценить модель классификации.

Затем мы приступаем к предварительной обработке признаков — нормализуется возраст и пол, профессия в одном горячем закодированном коде.

Далее следует разбиение набора данных на тестовый поезд.

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

  • Ценности SHAP в действии

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

Теперь давайте деконструируем нашу модель с помощью SHAP!

  • Важность функции

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

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

  • Графики взаимодействия SHAP

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

  • Сюжеты с водопадом

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

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

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

б. Локальные объяснения:значения SHAP предлагают локальные объяснения для отдельных прогнозов, позволяя глубже понять, как определенные функции влияют на конкретную точку данных.

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

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

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

  • Ограничения SHAP

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

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

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

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

4. Мультивселенная SHAP-ности

Поздравляем! Теперь вы знаете, как сделать ваши модели машинного обучения интерпретируемыми и объяснимыми, используя вашу новую сверхспособность — SHAP. Вы были достаточно терпеливы, чтобы дочитать до этого места, поэтому я собираюсь оставить вас с бонусом, чтобы поднять вашу игру SHAP на новый уровень

Существует несколько объяснений SHAP для работы с различными типами моделей машинного обучения. Вот четыре общих объяснения вместе с краткими фрагментами кода для каждого:

а. KernelExplainer: подходит для любой модели с дифференцируемым выходом. Он использует специально взвешенную локальную линейную регрессию для оценки значений SHAP.

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

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

д. LinearExplainer: подходит для линейных моделей и предоставляет точные значения SHAP для моделей линейной регрессии.

5. Вывод

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

6. Ссылки

https://shap.readthedocs.io/en/latest/index.html

https://towardsdatascience.com/understand-the-working-of-shap-based-on-shapley-values-used-in-xai-in-the-most-simple-way-d61e4947aa4e

https://www.kaggle.com/code/bextuychiev/model-explainability-with-shap-only-guide-u-need

https://www.analyticsvidhya.com/blog/2020/10/unveiling-the-black-box-model-using-explainable-ai-lime-shap-industry-use-case/