- PVSM.RU - https://www.pvsm.ru -
Привет, друзья!
Признаки, которыми орудует модель ИИ, в чём-то похожи на группы лиц, соединяющихся, чтобы сыграть в игру и выйграть максимально много. Этой идеей в задаче оценки важности коэффициентов в модели вдохновлен метод SHAPley values, который объективно обладает рядом хороших свойств. Теперь он не один! Про метод, основанный на идее выборов в парламент в этой статье.
Необходимость
Про важность понимания какой вклад конкретный признак вносит в модель говорят достаточно давно. Так, в модели регрессии, при правильном построении у нас есть веса, в ансамблях — важность по мере разброса, в простых байесовских моделях — апостериорные вероятности.
Но вот проблема — методов, которые считают важность признаков в процессе построения модели недостаточно, потому что с признаками всё непросто. А именно, у них есть:
вероятность наличия взаимодействия между признаками
разный подход к оценки важности от модели к модели (важность признака в дереве важность признака в линейной модели)
факт – при обучении задача — максимизировать корректность прогноза (что пересекается с задачей использования наиболее валидных признаков, но не равно ей).
Решить эти проблемы стремятся методы отдельной области "Explanable Artificial Intelligence" (XAI). Один из популярных (и на самом деле объективно сильно сильных, о чем я писала, например, здесь [1]) — значения Шепли. Я выделяю его здесь не только из-за популярности, но и из-за идеи.
Оценка вкладов признаков на основе "групп лиц".
Значения Шепли
Про значения Шеппли есть ряд хороших статей на Хабр [2]. Если вы слышите про SHAP впервые, рекомендую ознакомиться, прежде чем идти дальше. Если нет, то просто вспомним основную теорию. Вычисление вклада признака задается согласно соотношению:
где разность прогноза модели без признака
и с ним;
— размер подмножества признаков;
— общее число признаков.
Для нас важно, что:
признаки рассматриваются как команды игроков ;
важность каждого признака есть его усредненный выгрыш при добавлении в команду;
Из используемых методов shap единственный смотрит на признаки как на "группы, играющие в игру". Также, как я уже сказала, стратегия оценки командного вклада показывает его сильным методом. Однако недавно мне попалась статья, где вдохновление "командным рассмотрением" привело к еще одному подходу — вычисление важности признаков на основе метода Д'Онта.
Метод Д’Ондта
Метод Д’Ондта [3](он же — метод Джефферсона) — способ распределения мест между партиями из политики. Что интересно, он используется в настоящее время в ряде стран. Он распределяет места между партиями, чтобы обеспечить представительство, пропорциональное доле голосов каждой партии.
При использовании метода Д’Ондта места распределяются последовательно, что в теории должно дать справедливость при назначении полномочий. В статье EXPLAINABLE AI THROUGH A DEMOCRATIC LENS: DHONDTXAI FOR PROPORTIONAL FEATURE IMPORTANCE USING THE D’HONDT METHOD [4] было предложено рассмотреть вклад признаков именно на основе такой истории. Расширив и адаптировав её под ML, конечно.
Предложена идея:
Рассматривается каждый конкретный признак . Его важность вычисляется по шагам:
Шаг 1. База — рассчет уменьшения неопределенности. Это некоторая отправная точка для измеренеия важности признака. Она считается аналогично важности, считаемой при построении деревьев:
где — число всех услов дерева, а
— число узлов, где фигурирует признак
, а
— уменьшение неопределенности в каждом узле, то есть:
де — мера чистоты узла до разбиения, а
— после разбиения.
А если у нас анасамбль, мы повторяем описанный процесс по каждому дереву и после усредняем на количество всех деревьев.
Шаг 2. Перевод на язык выборов. Для каждого признака считаем вес его "начального голоса" как:
где — общее число голосов, задаваемое пользователем.
Шаг 3. Применение порогов и перераспределение.
Признаки, чьи голоса ниже установленного порога, исключаются. Данный шаг достигается за счет разделения признаков на множества — признаки выше порога и
— ниже порога.
И дальше голоса перераспределяются между признаками в
где — признаки выше порога, а
— ниже порога.
Шаг 4. Когда получены голоса, на их основе идет распределение получаемых призныком мест. Считаются оценки:
где — текущее число мест у признака
.
Признак с максимальным получает место. Потом
перерасчитываются и процесс повторяется, пока все места не будут распределены.
Вот такой красивый метод! И если вы устали от формул и скипнули их до более текстового куска, то вот важные отличия идеи Метода Донта от значений Шепли:
Общая масса, которая распределяется между признаками, есть величина , задаваемая пользователем;
На месте признака может быть альянс признаков, что позволяет тестировать гипотезы и силе вклада конкретного подмножества;
Можно исключать признаки и не допускать их к голосованию (вычислению важности) вообще;
Эти пункты позволяют тестировать гипотезы о группах признаков, строя различиные подмножества и получая более понятную и практически удобную интерпретацию, чем при оценке shapley interactions. Проведем небольшой эксперимент.
Эксперимент
В библиотеке shap [5] для деревьев (и только для них) доступно вычисление shap interaction values — значений, которые оценивают взаимное влияние признаков. Мне не удалось найти хороших примеров, иллюстрирующих их на практике, и я провела простой эксперимент. Для обученного задаче классификации случайного леса, вычислила shap interactions для каждого наблюдения в тестовых данных и проссумировала их абсолютные значения.
Допустим, при этом мне важно было проверить — значима ли пара признаков mean radius и mean texture. Проанализировать ответ на свой вопрос я могу задействуя как раз DhontXAI — задав альянс (в терминах библиотеки) "mean radius and mean texture".
Согласно подсчету методом Донта — вклад моей пары 9й из 29. Полный код построения можете найти здесь [6] (Google collab).
Пример игрушечный, но если у нас пар или групп, которые хочется проанализировать, пример превращается в рабочий метод.
А что лучше?
Отлично. У нас есть целых два метода на основе кооперативного (то есть общего) вклада признака в группу. Что выбирать, а самое главное — что работает?
1. Что выбирать?
Авторы статьи утверждают, что методы коррелируют статистически значимо, что в теории позволяет выбрать один и идти дальше. Но несмотря на сравнение, предложенное авторами и утверждение о статистически значимой корреляции для важностей, присвоенных методами, нельзя сказать, что DhontXAI будет давать ответы в точности такие же как значения Шепли и наоборот.
Нельзя сказать, что сила корреляци в статье отражает абсолютную действительность. Я обучила случайный лес на том же наборе данных и сравнила важности по SHAP и DHONT, получив коэффициент корреляции Спирмена
, что даже чуть выше авторского
. Такая разница — чувствительность связи к гиперпараметрам модели и такая разница справедлива только для этого набора данных.
2. Что работает?
Отличный вопрос, который нужно проверять эмпирически. Если рассмотреть корреляцию Спирмена с важностью, вычисляемой при построении (она знакома вам по feature importances), методом Донта и SHAP, то , а
.
И может хочется сказать, что лучше метод Донта (тк как ранговая связь больше, да и возможности шире), но делать это нельзя в силу в целом открытого вопроса XAI — "какой метод лучше?".
Метод и все методы следует рассматривать как то, что имеет место быть, а истинность и связь с реальностью — тестировать и уточнять у предметной области.
Спасибо за чтение, друзья!
Мы рассмотрели ещё один подход к вычислению важности в древесных ансамблях на основе идеи "группового", который можно рассматривать в своем арсенале. Он удобен для задач тестирования гипотез о группах признаках тогда, когда shap молчит и красивой аналогии.
От автора:
Исследую область XAI уже два года и как же она прекрасна! В ней много неоднозначности, вопросов и способов, которые я стараюсь рассматривать под разным углом.
Если вам также нравится идея сделать машинное и глубокое обучение более "прозрачным", присоединяйтесь к моему каналу в Telegram! Там я делюсь своими наработками, интересными статьями и новым из мира XAI.
Ссылка на канал. [7]
Добро пожаловать!
Автор: sad__sabrina
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ml/403009
Ссылки в тексте:
[1] здесь: https://habr.com/ru/articles/853794/
[2] статей на Хабр: https://habr.com/ru/articles/428213/
[3] Метод Д’Ондта : https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%94%E2%80%99%D0%9E%D0%BD%D0%B4%D1%82%D0%B0
[4] EXPLAINABLE AI THROUGH A DEMOCRATIC LENS: DHONDTXAI FOR PROPORTIONAL FEATURE IMPORTANCE USING THE D’HONDT METHOD: https://arxiv.org/pdf/2411.05196
[5] shap: https://shap.readthedocs.io/en/latest/
[6] здесь: https://colab.research.google.com/drive/1Azt-KyWWfJuRUjgUWcRWGXM7f2QHyMyd?usp=sharing
[7] Ссылка на канал. : https://t.me/jdata_blog
[8] Источник: https://habr.com/ru/articles/860668/?utm_campaign=860668&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.