Публикация в рамках курса визуализации информации NUS CS5346.

Модели машинного обучения могут быть непрозрачными, иногда тревожными. Некоторые классы моделей, такие как случайные леса и глубокие нейронные сети, не дают четкого пути к пониманию того, как входные данные модели влияют на ее выходные данные. Эта непрозрачность имеет реальные последствия. В то время, когда модели машинного обучения принимают последовательные решения, например, одобрять жилищный кредит или нет, у граждан нет возможности обжаловать и обсудить решение, если компания не может объяснить, как ее модель пришла к такому выводу. Другими словами, интерпретируемость машинного обучения — это не просто академическое упражнение; это этическая необходимость.

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

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

Набор данных

Используемый здесь набор данных — это набор данных о диабете индейцев пима, взятый из Kaggle. Цель этого набора данных состоит в том, чтобы предсказать, будет ли у группы женщин в возрасте 21 года и индейского происхождения пима диагностирован диабет. Входные переменные включают такие характеристики, как количество беременностей, ИМТ, уровень инсулина и возраст. Выходная переменная представляет собой двоичный результат 0 или 1. 0 указывает на отсутствие диагноза диабета, а 1 указывает на положительный диагноз.

Сначала мы обучаем модель XGBoost на данных, используя параметры, показанные на рисунке 2.

Наша оценочная метрика для модели — это logloss, который составляет около 0,51794. Однако на данный момент у нас нет понимания того, как модель приходит к своим прогнозам, если ей нужно будет дать новую точку данных. Именно здесь наши визуализации значений SHAP становятся важными. Здесь мы рассмотрим четыре визуализации:

  • Принудительные графики
  • Графики силы с несколькими выходами
  • Графики зависимости

Силовой сюжет

Цель:

Визуализируйте, как конкретная функция подталкивает прогнозы модели к базовому уровню или от него (среднее значение всех прогнозов). В этом случае функции, окрашенные в красный цвет, такие как «Кровавое давление», увеличивают прогнозируемые значения, а функции, окрашенные в синий цвет, такие как «Беременность», уменьшают прогнозируемые значения. Совокупный эффект всех функций дает окончательный результат модели, в данном случае вероятность 0,96 того, что у пациента будет диагностирован диабет.

Визуальные кодировки:

Цвет . Красные столбцы представляют функции, которые увеличивают прогнозируемое значение выше базового уровня, а синие столбцы представляют функции, которые уменьшают прогнозируемое значение.
Длина стрелки: представляет величину влияния функции на выходные данные модели. На рисунке выше ИМТ оказывает большее влияние по сравнению с кровяным давлением.

Ось. На оси X представлены необработанные выходные данные модели (логиты) до того, как они будут преобразованы в вероятности в диапазоне от 0 до 1. На оси также указано базовое значение (среднее значение всех прогнозов). как окончательный результат модели.

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

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

Преимущества силового заговора

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

Недостатки силового заговора

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

График силы с несколькими выходами

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

Цель

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

Из этого примера мы видим, что слева уровни глюкозы увеличивают логит-значения модели (поскольку они выделены красным), а справа уровни глюкозы уменьшают логит-значения (поскольку они выделены синим цветом). Когда мы наводим указатель мыши на график, мы видим, что значения глюкозы слева высокие (>100), а значения глюкозы справа низкие (‹100). Это наблюдение связано с нашими знаниями о диабете — пациенты с более низким уровнем глюкозы менее подвержены риску.

Визуальные кодировки:

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

Каналы: ось X кодирует отдельные точки данных, упорядоченные по их сходству, а ось Y кодирует необработанные значения прогноза, прежде чем они будут преобразованы в вероятности.

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

Преимущества графика силы с несколькими выходами

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

Недостатки графика силы с несколькими выходами

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

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

Цель

Посмотрите, как разные значения входной переменной влияют на значение SHAP этой переменной.

Визуальные кодировки

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

Каналы: ось X кодирует распределение рассматриваемого объекта (например, все возможные значения глюкозы в наборе данных).
По оси Y кодируются значения SHAP.

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

Цвет.Цвет можно использовать для передачи того, как переменная на оси X взаимодействует с третьей переменной (например, возрастом), вызывая изменчивость значений SHAP по оси Y. На рисунке 4 ниже мы видим, что для диапазона уровня глюкозы от 100 до 125 пожилой возраст имеет тенденцию к увеличению значения SHAP, связанного с глюкозой.

Преимущества графика зависимости

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

Недостатки графика зависимости

  • Шаблоны в эффектах взаимодействия между переменной оси X и другим объектом иногда трудно интерпретировать с помощью цветового кодирования. Например, на рисунке 4 для значений уровня глюкозы между 125 и 150 трудно увидеть различимую закономерность между возрастом и уровнем глюкозы.
  • Для одного признака необходимо построить один график зависимости. В модели со многими функциями можно по-разному расположить и сравнить все разные графики.

Вывод

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

Использованная литература: