Укрепите доверие к машинному обучению с помощью XAI, Guide to SHAP & SHapley Values

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

Что такое XAI и его преимущества?

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

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

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

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

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

  1. Повышение уверенности в бизнес-решениях, принимаемых на основе ИИ.Объяснимый ИИ поможет создать доверие и уверенность в бизнес-решениях. Вывод из систем объяснимого ИИ, как правило, повышает доверие к системе, поскольку можно увидеть основные факторы этих решений.
  2. Прозрачные и подотчетные системы ИИ.По мере того, как ИИ берет на себя все более важные проекты, объяснимость обеспечит прозрачность исследований и принятия решений. Следовательно, будет легче заставить инженеров/команды/организации нести ответственность за решения.
  3. Снизить юридические, комплаенс- и репутационные риски.Использования ИИ недостаточно, необходимо использовать его справедливо. Сохранение моделей ИИ объяснимыми и прозрачными может значительно снизить влияние ошибочных результатов, а организации могут снизить риски со стороны регулирующих и регулирующих органов.
  4. Устранение предубеждений и обеспечение справедливости. С помощью объяснимого ИИ легче увидеть закономерности в данных, влияющие на результаты моделей машинного обучения. Следовательно, объяснимые системы могут уменьшить влияние предвзятых прогнозов, снизить их риск и способствовать справедливости и доверию к прогнозам.

Компромисс между сложностью и объяснимостью модели

При создании модели машинного обучения всегда существует компромисс между точностью/сложностью модели и объяснимостью модели.

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

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

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

Методы XAI

Методы XAI можно разделить на две категории:

  1. Прозрачные методы
  2. Апостериорные методы

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

Апостериорные методы полезны, когда в данных есть сложные границы решений, а сложность модели трудно интерпретировать. Апостериорные методы делятся на две категории:

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

На рисунке ниже показаны различные методы XAI.

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

  1. Область применения — глобальная или локальная
  2. Доступ — метод объяснения имеет ограниченный или полный доступ к модели.
  3. Стадия объяснения. Объяснения применяются во время разработки модели (обучения) или после обучения.

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

ШАП

Метод SHAP (Shapley Additive exPlanations) — это теоретико-игровой подход в python для объяснения вывода любой модели машинного обучения с использованием значений Шепли.

Чтобы понять SHAP, давайте сначала узнаем, что такое ценности Шепли.

Ценности Шепли

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

Давайте сначала поймем, почему важны ценности Шепли. Возьмем пример прогнозирования доходов, где мы должны классифицировать, если доход составляет ≤50 000 или > 50 000. Мы использовали классификатор xgboost для прогнозирования дохода (полный код вы можете найти здесь). Теперь нам нужно проверить, какие функции повлияли на прогноз, мы можем проверить это с помощью метода plot_importance. Этот метод plot_importance имеет параметр с именем Important_type, который вычисляет важность функции на основе веса ​​(количество раз, когда функция появляется в дереве), коэффициента усиления (средний прирост разбиений с использованием функции) и охвата (среднее покрытие разбиений с использованием функции). ).

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

Метод SHAP в Python может помочь нам решить обе эти проблемы. Но прежде чем рассматривать реализацию SHAP и способы решения этих проблем, сначала давайте разберемся, что такое значения Шепли и как они рассчитываются с помощью одного и того же метода. Пример прогноза дохода.

Хотя метод SHAP полезен для определения важности функции для прогнозирования модели, он не является мерой для оценки самого прогноза.

Чтобы предсказать, будет ли доход > 50 000 или нет, предположим, что есть вклад этих трех характеристик — возраста, семейного положения и прироста капитала. Теперь давайте разберемся с предельным вкладом этих функций. Как показано на рисунке ниже, здесь-

  • возраст вносит: 25 тысяч долларов
  • семейное положение вносит: 45 тысяч долларов
  • прирост капитала способствует: $ 70K
  • вклад возраста и семейного положения: 32 тысячи долларов
  • вклад возраста и прироста капитала: 60 ​​тысяч долларов
  • вклад в прирост капитала и семейное положение: 75 тысяч долларов
  • возраст, семейное положение и прирост капитала: $95 тыс.

Чтобы найти предельный вклад возраста, мы должны вычислить предельный вклад возраста с учетом

  1. Группа дохода 50 000 долл. США
  2. Группа по возрасту и семейному положению
  3. Группа по возрасту и приросту капитала
  4. Возраст, семейное положение и группа прироста капитала

Это показано на рисунке ниже. Таким же образом мы можем рассчитать предельный вклад всех признаков.

Теперь давайте посчитаем веса для каждого уровня.

  • На 1-м уровне 3 ребра, поэтому вес каждого ребра на этом уровне будет равен 1/3 — назовем его w1.
  • На втором уровне 6 ребер, поэтому вес каждого ребра на этом уровне будет равен 1/6 — назовем его w2.
  • На 3-м уровне 3 ребра, поэтому вес каждого ребра на этом уровне будет равен 1/3 — назовем его w3.

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

Это показывает, что возраст вносит -7,5 тыс. долларов в прогноз доходов, поэтому -7,5 тыс. долларов — это значение Шепли для возраста.

Таким же образом мы можем рассчитать значения Шепли для семейного положения и прироста капитала.

SHAP(возраст) = -7,5 тысяч долларов США

SHAP(семейное положение) = $11,5 тыс.

SHAP(прирост капитала) = 38 000 долларов США

Если суммировать значения Шепли по этим трем характеристикам, получится 42 000 долларов (-7,5 000 долларов + 11,5 000 долларов + 38 000 долларов), что равно пути от дохода в 50 000 долларов к доходу в 92 000 долларов (92 000–50 000 долларов США).

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

Реализация Python

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

Теперь давайте разберемся с глобальной и локальной интерпретируемостью с помощьюзначений Шепли.

Глобальная интерпретируемость

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

Сводная диаграмма. Сводная диаграмма также показывает важность функции в порядке убывания, а также показывает влияние и корреляцию каждой функции с целевой переменной. Для каждого наблюдения мы можем видеть высокое/низкое влияние с изменением цвета с синего (низкий) на красный (высокий). Мы можем видеть корреляцию, поскольку высокий прирост капитала (красный) оказывает положительное влияние (перемещаясь по оси +ve) на доход, тогда как возраст имеет отрицательную корреляцию с доходом.

График зависимости. График зависимости показывает влияние функции на прогнозы модели. Переменная оси Y выбирается автоматически, чаще всего именно эта переменная является той, с которой функция чаще взаимодействует для прогнозирования модели.

Мы также можем изменить переменную оси Y и изменить график взаимодействия функций, используя параметр interaction_index и предоставив другую переменную для оси Y.

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

Локальная интерпретируемость

Гистограмма. На этом графике показан вклад объектов в это конкретное наблюдение. На приведенном ниже графике показано, что потери капитала, отношения и образование являются наиболее важными характеристиками этого наблюдения.

График водопада.График потока — это еще один способ отобразить вклад объекта в конкретное наблюдение, как показано ниже.

График силы.Для конкретного наблюдения график силы показывает, какие функции вносят наибольший вклад.

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

Последние мысли

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

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

Чтобы получить доступ к полному коду для прогнозирования дохода с помощью Xgboost и объяснить его с помощью SHAP, перейдите по ссылке GitHub.





Спасибо за чтение. Если вам нравится история, ставьте лайк, делитесь и подписывайтесь на другие подобные материалы. Как всегда, обращайтесь за любыми вопросами/комментариями/отзывами.

Github:https://github.com/charumakhijani
LinkedIn:
https://www.linkedin.com/in/charumakhijani/

Ссылка-

https://towardsdatascience.com/shap-explained-the-way-i-wish-someone-explained-it-to-me-ab81cc69ef30