Разница между значениями Шепли и SHAP для интерпретируемого машинного обучения
Документ о смертиshap
пакет дает формулу для значений Шепли в (4) и для значений SHAP, очевидно, в (8)
Тем не менее, я не совсем понимаю разницу между значениями Шепли и SHAP. Насколько я понимаю, для Шепли мне нужно переобучить мою модель на каждом возможном подмножестве параметров, а для SHAP я просто использую базовую модель, обученную по всем параметрам. Это оно? Итак, SHAP проще в вычислительном отношении?
2 ответа
SHAP сочетает в себе локальную интерпретируемость других агностических методов (sa LIME, где модель f(x) ЛОКАЛЬНО аппроксимируется объяснимой моделью g(x) для каждого экземпляра каждого фактора X) и теоретико-игровой подход Shapley Values. Это приводит к некоторым желательным свойствам (локальная точность, отсутствие информации, согласованность).
Напомним, что в формуле (4) отсутствует "локальный", и значения Шепли (регрессия) присваивают один балл вклада для фактора X (в целом). В формуле (8) мы видим, что SHAP теперь является функцией x. Это означает, что мы получаем вклад для каждого фактора и, в частности, для каждого реализованного экземпляра фактора Xi = xi, что делает его локально интерпретируемым И наследует желаемые свойства.
Таким образом, SHAP можно понимать как комбинацию LIME (или связанных понятий) и значений Шепли. В конце концов, значения SHAP - это просто "значения Шепли функции условного ожидания исходной модели" Lundberg and Lee (2017). По сути, значение Шепли определяется для любой функции значения, а SHAP - это просто частный случай значения Шепли посредством специального определения функции значения!
У меня был тот же вопрос, что и у вас, и это мое интуитивное понимание статьи Лундберга и Ли (2017). Надеюсь это поможет.
Ответ на ваш вопрос содержится в первых 3-х строках проекта SHAP github:
SHAP (SHapley Additive ex Planations ) — это теоретико -игровой подход к объяснению результатов любой модели машинного обучения. Он связывает оптимальное распределение кредитов с локальными объяснениями с использованием классических значений Шепли из теории игр и связанных с ними расширений.
История началась с того, что Скотт Лундеберг наблюдал за доступными методами объяснения ML и отмечал, что все они удовлетворяют аддитивному свойству ( определение 1 в вышеупомянутой статье ):
Методы атрибуции аддитивных признаков имеют модель объяснения, которая является линейной функцией бинарных переменных.
Кроме того, он добавил еще 3 желательных свойства:
Свойство 1 : локальная точность (локальные объяснения должны в сумме соответствовать предсказаниям модели, что эквивалентно исходной эффективности Шепли )
Свойство 2 : Отсутствие (отсутствие элемента ничего не дает, близко к исходным фиктивным свойствам)
Свойство 3 : согласованность (при изменении модели желаемые значения объяснения должны изменяться в том же направлении, близко к исходной аддитивности )
Оказывается, что:
- Значения Шепли удовлетворяют всем свойствам 1,2,3 ("удовлетворение" означает, что здесь сохраняются все 4 исходных свойства Шепли, как только выполняется свойство 1,2,3)
- Предложите уникальное решение (уникальный набор предельных вкладов), которое было математически доказано еще Янгом, 1985 г.
Затем, когда мы зафиксировали значения Шепли как решение проблемы объяснимости модели с желаемыми свойствами 1,2,3, возникает вопрос:
Как рассчитать значения Шепли с / без функции?
Каждый практикующий ML знает, что модель меняется, если мы удаляем/добавляем функцию. Кроме того, для нелинейной модели важен порядок, в котором мы добавляем функции. Таким образом, точное вычисление значений Шепли путем перебора всех возможных комбинаций функций «2^M» при переобучении моделей неэффективно (или слишком сложно для вычислений).
Теперь, чтобы ответить на ваш вопрос «Разница между значениями Шепли и»:
обеспечить вычислительно эффективный, теоретически надежный способ расчета значений Шепли для ML с помощью:
- Использование модели, обученной только один раз (не относится к
а также ) - Усреднение по выпавшим функциям путем выборки фоновых данных.
В качестве примечания,