Значения Шепли
Значения Шепли (Shapley values [1]) позволяют объяснить для выбранного объекта вклад значения каждого признака в прогноз модели . Оценка производится для конкретного объекта и конкретного значения выбранного признака. Вклад значений вс ех признаков и обеспечивает результирующий прогноз.
Рассмотрим в качестве примера задачу Titanic [2], в которой по описанию каждого пассажира (включающему класс билета, пол, возраст и т.д.) нужно предсказать, выжил он в результате кораблекрушения или нет. На рисунке ниже [3] показано объяснение прогнозируемой вероятности выживания для одного из пассажиров:
Видно, что высокая вероятность прогнозируемого выживания 0.93 обеспечивается тем, что пассажир - женщина, которая не путешествовала третьим классом. Однако то, что она не путешествовала первым классом (в one-hot кодировании индикаторы класса - разные признаки) несколько снизило оцениваемую вероятность выжить.
Псевдокод для приближённого расчёта значения Шепли, измеряющего вклад -го признака в прогноз приведён ниже.
Результат: значение Шепли для значения -го признака
Параметры: количество итераций , исследуемый объект , индекс при знака , матрица данных , модель машинного обучения .
-
Для всех :
-
Выбрать случайный объект из матрицы данных
-
Случайным образом выбрать перестановку признаков
-
Упорядочить объект :
-
Упорядочить объект :
-
Построить два новых объекта:
- С признаком :
- Без признака :
-
Вычислить маржинальный вклад:
-
-
Вычислить значение Шепли как среднее маржинальных вкладов:
Число повторов определяет точность полученной оценки: чем выше - тем она получится точнее.
По сути, происходит оценка, насколько в среднем вырастает прогноз, если оставить и заменить интересующее значение признака случайным значением из выборки при одновременной замене случайного подмножества других признаков. В итоге получим среднее изменение прогноза за счёт того, что интересующий признак принимает заданное значение.
Таким образом, значения Шепли оценивают важность признаков в контексте заданного объекта , а сумма их значений равна отклонению прогноза от среднего прогноза по всем объектам.
Недостатком метода, как для перестановочной важности признаков, является усреднение по малореальным объектам, поскольку в процедуре оценки генерируются синтетические объекты, для которых часть значений признаков взята из одного объекта, а другая часть - из другого, что может приводить к маловероятным комбинациям признаков, особенно когда признаки сильно скоррелированы.
С помощью значений Шепли можно вычислить и глобальную важность признака. Для этого абсолютные значения Шепли для этого признака усредняются по всем объектам выборки:
Детальнее о значениях Шепли, их теоретическом обосновании и свойствах можно прочитать в [4] и [5]. Пример практического расчёта этих значений в python, используя библиотеку shap, доступен в [6].