"Машинное обучение"

Объяснимые бустерные машины

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

Microsoft Research недавно разработала новую модель на основе бустинга, которая, по их утверждению, дает такие же точные прогнозы, как и современные методы, и в то же время предоставляет инновационный способ понять ее работу. Объяснимая повышающая машина, как она называется, уникальна тем, как она предоставляет новые знания и позволяет отлаживать и понимать данные, на которых она обучалась. Не пора ли попрощаться с XGBoosts этого мира? Давай выясним!

Несколько слов об объяснимости

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

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

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

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

Один из способов понять вывод модели — использовать один из многих пояснительных методов «черного ящика». Широко используются такие методы, как значения LIME или Shapley. Первый сводится к обучению объяснителя или суррогатной модели поверх модели черного ящика, чтобы аппроксимировать ее вокруг конкретного прогноза, а второй пытается объяснить прогноз как игру, в которую играют функции, используемые моделью. Оба эти метода имеют свои недостатки. LIME полагается на приближение, которое может быть точным, а может и нет, и может объяснить только одно предсказание за раз, в то время как вычисление значений Шепли очень дорого, особенно для моделей со многими функциями. Кроме того, эти и подобные методы работают поверх необъяснимых черных ящиков, пытаясь понять их, соотнося их входные данные с их выходными данными. Мне это кажется поверхностным и неглубоким пониманием.

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

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

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

От GAM к EMB

Чтобы понять EBM, нам нужно вернуться в 1990-е годы, к классическому статистическому обучению. В то время люди пытались обобщить простые модели регрессии, чтобы учесть различные предположения и типы данных. Так родились обобщенные аддитивные модели, или GAM. Модель GAM имеет следующий вид:

где мы хотим предсказать (или объяснить) ожидаемое значение нашей цели y, используя некоторые функции x. Функции f() представляют собой некоторые преобразования, через которые проходят наши входные объекты (для каждого объекта может быть свое преобразование), а функция связи g()выражает преобразование, применяемое к целям. Затем преобразованные цели моделируются как линейная комбинация преобразованных функций, отсюда и «добавка» в GAM.

Если мы выберем g в качестве функции тождества, а fsв качестве некоторых линейных функций, мы получим классическую линейную регрессию как результат. Замените g на логит-функцию, и мы получим логистическую регрессию. Другие варианты g и f позволят нам создать пробит-модель, регрессию Пуассона или некоторые сплайны регрессии.

Один из недостатков GAM, как я только что описал, заключается в том, что они игнорируют возможные взаимодействия между различными функциями. Итак, исследования включили их в так называемые обобщенные аддитивные модели с парными взаимодействиями (GA²M):

Итак, мы подошли к объяснимым бустерным машинам. В двух словах, они представляют собой реализацию GA²M с одной особенностью: преобразования f больше не предполагаются заранее, а скорее изучаются с помощью обычного повышения градиента.

EBM - это обобщенные регрессии, части которых изучаются с помощью повышения градиента.

Объяснимый алгоритм Boosting Machine

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

Во-первых, каждому строящемуся дереву разрешено использовать только одну функцию. Мы начинаем с дерева, которое может использовать только x₁, обновляем остатки традиционным способом повышения градиента и переходим ко второму дереву, которое может использовать только x₂, и так далее. Повторив все функции, что называется завершением одной итерации, мы снова начинаем с x₁.

Чтобы предотвратить смещение алгоритма в сторону конкретных признаков, используется очень маленькая скорость обучения (то есть вклад каждого дерева в текущую невязку масштабируется небольшим числом), так что порядок признаков не меняется. иметь значение. В результате требуется гораздо больше итераций по сравнению с традиционным повышением градиента. Во многих случаях вы можете получить разумную модель XGBoost после посадки 100 или 1000 деревьев, тогда как EBM может потребовать от вас до 10 000 итераций. Умножьте это на количество признаков, чтобы получить количество строящихся небольших деревьев с одним признаком. По этой причине EBM могут медленно обучаться (однако они невероятно быстры в выводах, которые мы обсудим далее).

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

А потом — подождите — удаляем все деревья! Они больше не нужны. Обученная модель состоит всего из пары графов вклада — по одному на функцию. Чтобы сделать прогноз во время вывода, мы считываем вклад каждой функции из ее таблицы поиска, суммируем их и передаем через функцию связи g для вычисления окончательного прогноза. Быстро и легко!

Теперь давайте рассмотрим пару примеров из практики, представленных в видео авторов на YouTube (посмотрите, если можете!), которые демонстрируют, как EBM помогает создавать новые знания, отлаживать данные и обнаруживать скрытые предубеждения.

EBM создает новые знания

Первый пример исходит из модели, построенной для прогнозирования риска пневмонии в зависимости от нескольких медицинских измерений у пациентов, одно из которых называется BUN. BUN означает азот мочевины крови. В общем, нам не нужен азот мочевины в нашей крови, поэтому более низкие значения лучше. Более высокий уровень АМК может быть связан с риском пневмонии. На приведенном ниже графике показана функция f для функции BUN, изученной EBM.

Если BUN меньше 40, кажется, что серьезного риска нет. Затем мы видим внезапное увеличение риска, которое стабилизируется на уровне 50. Затем происходит серьезный всплеск на уровне 100. Как так получилось? Оказывается, врачи склонны принимать решения о лечении на основе привычного порога, часто округляя числа. Пациенты с BUN ‹ 50 относятся к группе низкого риска и не получают лечения. АМК между 50 и 100 приводит к некоторому лечению светом, в то время как АМК > 100 требует диализа.

Увидев этот график, врачи обнаружили два новых знания:

  • Обычно используемый порог лечения 50, вероятно, слишком высок. Пациенты с BUN > 40 уже относятся к группе высокого риска и, вероятно, также нуждаются в лечении.
  • Пациенты с BUN 110 на самом деле имеют более низкий риск, чем те, у кого 95! Почему? Первому прописывают диализ, который снижает риск, а второму - нет, поскольку они еще не преодолели 100-магический порог. Быстрый анализ графика «что, если» позволяет предположить, что если бы диализ был назначен, скажем, при BUN=90, модель изучила бы отношение, изображенное красной линией. Это позволило бы спасти многих пациентов, которые сейчас находятся выше этой черты!

EBM помогает отлаживать данные

Еще один пример, на этот раз из модели, предсказывающей риск смерти в отделении интенсивной терапии. Одной из особенностей модели является так называемый коэффициент PF, мера того, насколько хорошо кислород из воздуха превращается в кислород в крови. У здоровых пациентов он должен быть около 1000 и более. Функция f, изученная EBM для этой функции, показывает странное падение при каком-то значении около 400.

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

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

EBM помогает понимать данные

Последний пример взят из исследования, направленного на диагностику того, насколько некоторые сопутствующие заболевания повышают риск смерти от COVID-19. На приведенном ниже графике суммированы f-функции, полученные с помощью EBM, для каждого заболевания, чтобы показать, насколько страдания от каждого из них способствуют риску COVID. Например, из последнего столбца мы видим, что пациенты с хроническим заболеванием почек чаще умирают от COVID, чем пациенты с любым другим сопутствующим заболеванием.

А как насчет первых двух столбцов? Защищают ли рак и ишемическая болезнь сердца от коронавируса? Конечно, нет! Но эти идеи помогли выявить систематическую ошибку выборки в данных.

Получается, что пациентов с этими заболеваниями чаще госпитализируют, даже если у них не такие тяжелые симптомы COVID, так как они воспринимаются врачами как очень опасные. В результате среди всех пациентов с COVID, находящихся в больнице, у больных раком вероятность заболеть доброкачественным COVID выше, чем у пациентов с другими заболеваниями. Это смещение выборки, обнаруженное благодаря EBM, — это то, на что следует обратить внимание, делая какие-либо выводы на основе этих данных!

EBM в Python: интерпретировать мл

EMB были реализованы в Python самими авторами в виде пакета под названием interpretml (хотя для его установки в pip достаточно использовать interpret). Пакет содержит пару моделей стеклянного ящика, в том числе EMB, а также несколько пояснений для черного ящика. Интерфейс очень похож на scikit-learn, что упрощает подбор моделей. На момент написания документация пакета оставляет желать лучшего, но, насколько я понимаю, она еще находится в разработке. Давайте подгоним EBM к печально известному набору данных о качестве вина.

Начнем с импорта и подготовим данные.

Мы преобразуем задачу многоклассовой классификации в бинарную, чтобы разрешить условия взаимодействия. EBM находит наилучший возможный набор взаимодействий для включения так же, как это делает GA²M (подробности в документе GA²M), но эта функциональность не работает с мультиклассовой классификацией. Затем мы подгоняем модель методом scikit-learn. Мы можем получить прогнозы, вероятности классов и оценки точности, как обычно.

Preds: [1 1 1 0 1] 
Preds proba: [[2.67903375e-11 1.00000000e+00]  
             [1.41780219e-05 9.99985822e-01]  
             [1.09045127e-12 1.00000000e+00]  
             [9.99999971e-01 2.86001626e-08]  
             [1.06279072e-10 1.00000000e+00]] 
Accuracy: 0.9444444444444444

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

Похоже, что содержание пролина и спирта — две самые важные характеристики, определяющие качество вина. Каково влияние алкоголя?

Вина с содержанием алкоголя более 12,75% имеют гораздо меньше шансов быть качественными, чем более слабые. Мы также можем посмотреть на взаимодействия, которые обрабатываются так же, как обычные функции (что ясно из формулы GA²M). Каково взаимодействие содержания алкоголя и оттенка вина?

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

Давайте теперь посмотрим на локальное объяснение, то есть на объяснение конкретных предсказаний.

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

Соображения о причинно-следственной связи

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

EBM основаны на корреляциях и не должны интерпретироваться как причинно-следственные связи!

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

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

Источники

Спасибо за прочтение!

Если вам понравился этот пост, почему бы вам не подписаться на обновления по электронной почте на мои новые статьи? А, став участником Medium, вы можете поддержать меня и получить неограниченный доступ ко всем историям других авторов и меня.

Нужна консультация? Вы можете спросить меня о чем угодно или заказать 1:1 здесь.

Вы также можете попробовать одну из других моих статей. Не можете выбрать? Выберите один из них: