Концепция ценности Шепли в интерпретации моделей машинного обучения

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

В этом обсуждении есть две основные части:

Раздел 1. Понятие ценности Шепли вместе с примером.

Раздел 2. Иллюстрация концепции применения Шепли к модели.

Раздел 1:

Концепция ценности Шепли

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

· Возможно, удастся достичь равновесия (поэтому внутри страны все ездят по одной и той же стороне дороги)

· Может быть, это равновесие будет хуже для всех игроков (поэтому люди мусорят или загрязняют общие ресурсы)

· Каждый будет стараться быть максимально непредсказуемым в своих действиях (как это может случиться с вводом войск на войне)

Ценность Шепли – это концепция теории кооперативных игр. Она была названа в честь Ллойда Шепли, который представил ее в 1951 году и получил за нее Нобелевскую премию по экономике в 2012 году. Каждой кооперативной игре присваивается уникальное распределение (между игроками) общего излишка, генерируемого коалицией всех игроки.

Установка следующая: коалиция игроков сотрудничает и получает определенный общий выигрыш от этого сотрудничества. Поскольку некоторые игроки могут вносить в коалицию больший вклад, чем другие, или могут обладать разной переговорной силой (например, угрожать уничтожением всего излишка), какое окончательное распределение созданного излишка между игроками должно происходить в каждой конкретной игре? Или, сформулировав иначе: насколько важен каждый игрок для общего сотрудничества и на какую отдачу он или она может разумно рассчитывать? Значение Шепли дает один из возможных ответов на этот вопрос. Подводя итог, можно сказать, что значение Шепли для каждой переменной (выплаты) в основном пытается найти правильный вес, чтобы сумма всех значений Шепли представляла собой разницу между прогнозами и средним значением модели. Другими словами, значения Шепли соответствуют вкладу каждой функции в отклонение прогноза от ожидаемого значения.

Основным преимуществом использования значений Shapley является гарантия справедливой выплаты, т. е. наличие следующих свойств:

· Разница между средним прогнозом и суммой вкладов признаков равна. (Эффективность)

· Если два объекта вносят одинаковый вклад во все сопоставления, их результирующие значения вклада будут эквивалентны. (Симметрия)

· Если функция не внесла изменений ни в какое прогнозируемое значение при любом сопоставлении, то функция будет иметь значение Шепли, равное 0. (Фиктивное)

· Средний вклад функции во всех итерациях равен сумме средних вкладов. (Добавка). Общий вклад каждой функции должен суммироваться с общим вкладом всей модели.

Здесь стоит упомянуть три преимущества:

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

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

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

Пример:

Расчет стоимости проезда на такси от офиса до дома для трех человек с использованием значения Шепли

Давайте рассмотрим пример, когда Пратик, Рохан и Нупур делят такси. Обычно для различных комбинаций 3 человек это стоит следующее:

· Дорога до дома Pratik стоит 700 индийских рупий.

· Дорога домой в Рохане стоит 800 индийских рупий.

· Поездка до дома Nupur стоит 560 индийских рупий.

· Дорога домой Пратика и Рохана стоит 850 индийских рупий.

· Дорога домой Рохана и Нупура стоит 800 индийских рупий.

· Стоимость проезда Nupur и Pratik до дома составляет 720 индийских рупий.

· Дорога до дома Нупура, Пратика и Рохана стоит 900 индийских рупий.

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

Вклады, сделанные каждым игроком или набором игроков по всем перестановкам игрока:

Используя это, наблюдались различные возможные перестановки игроков (различные порядки, предполагающие, что люди могут заплатить, прежде чем они физически выйдут из кабины). Глядя на 1-ю коалицию, когда Пратик выходит из такси, он платит 700 индийских рупий, чтобы составить коалицию, которую он сформировал, учитывая, что коалиция пока что Рохан должен заплатить оставшиеся 150 индийских рупий, а, наконец, Нупур платит 50 индийских рупий. Теперь меняем порядок, представляя людей могли бы заплатить до того, как они физически сойдут с такси. Во второй коалиции Пратик платит 700 индийских рупий, теперь коалиция Пратика и Нупура имеет стоимость 720, поэтому Нупур платит оставшиеся 20 индийских рупий, а Рохан платит 180. Каждый такой заказ рассматривается, и рассчитывается предельный вклад каждого игрока, и, наконец, среднее значение принимаются все эти значения.

Способ расчета значения Шепли: это среднее значение предельных вкладов по всем перестановкам.

Таким образом, значение Шепли для:

1. Пратик =(700+700+50+100+160+100)/6=301

2. Рохан = (150+180+800+800+180+240)/6 = 392

3. Нупур = (50+20+50+0+560+560)/6 = 207

Раздел 2:

Применение ценности Шепли

· Значение Шепли используется для интерпретации сложной модели машинного обучения. Его также можно использовать в различных работах, связанных с НЛП, таких как анализ настроений, генерация текста, а также в данных изображений для классификации изображений.

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

· Используя эту концепцию, аналитика CRM может гиперперсонализировать свои коммуникации в зависимости от факторов, ответственных за конечный результат.

Интерпретация модели с использованием SHAP в Python

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

В независимом от модели объяснителе SHAP использует значения Шепли следующим образом. Чтобы получить важность функции X{i}:

  1. Получить все подмножества объектов S, которые не содержат X{i}
  2. Вычислить влияние на наши прогнозы добавления X{i} ко всем этим подмножествам
  3. Объедините все вклады, чтобы вычислить предельный вклад функции.

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

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

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

  1. График важности переменной:

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

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

2. Краткий сюжет:

Каждая точка на сводном графике представляет собой значение Шепли для объекта и экземпляра. Положение по оси Y определяется функцией, а по оси X — значением Шепли. Цвет представляет значение признака от низкого до высокого. Перекрывающиеся точки колеблются в направлении оси Y, поэтому мы получаем представление о распределении значений Шепли по функциям. Функции упорядочены в соответствии с их важностью.
Здесь все значения слева представляют наблюдения, которые сдвигают прогнозируемое значение в отрицательном направлении, а точки справа способствуют сдвигу прогноза в положительном направлении.

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

3. График зависимости:

  • Каждая точка — это отдельный экземпляр (строка) из набора данных.
  • Ось X — это значение признака.
  • Ось Y — это значение SHAP для этой функции, которое показывает, как значение функции изменяет выходные данные модели при наличии другой функции для прогноза этой выборки.

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

4. Принудительный сюжет:

График силы объясняет предсказание экземпляра.

В сюжете предусмотрено:

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

Здесь мы видим красные и синие стрелки, связанные с каждой функцией.
Каждая из этих стрелок указывает:

  • Влияние функции на модель: чем больше стрелка, тем сильнее влияние.
  • Как функция влияет на модель: красная стрелка смещает результат вправо (увеличивает выходное значение модели), а синяя стрелка смещает результат модели влево (уменьшает выходное значение модели).

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

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

Оставайтесь в безопасности! Заботиться ! Наслаждайтесь обучением !!

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







https://archive.ics.uci.edu/ml/datasets/statlog+(немецкий+кредит+данные)