Перейти к основному содержимому

Значения Шепли

Значения Шепли (Shapley values) позволяют объяснить для каждого объекта x\mathbf{x} вклад значения каждого признака в прогноз модели f(x)f\left(\mathbf{x}\right). Т.е. оценка производится для конкретного объекта и конкретного значения выбранного признака. Вклад значений всех признаков и обеспечивает результирующий прогноз.

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

Shapley-values.png

Видно, что высокая вероятность прогнозируемого выживания 0.93 была обеспечивается тем, что пассажир - женщина, которая не путешествовала третьим классом. Однако то, что она не путешествовала первым классом (в one-hot кодировании индикаторы класса-разные признаки) несколько снизило оцениваемую вероятность выжить.

Для расчёта вклада значения jj-го признака в прогноз на объекте x\mathbf{x} значение Шепли приближённо вычисляется по следующей формуле:

ϕj(x)1Mm=1M(f(xm+j)f(xmj)),\phi_{j}\left(\mathbf{x}\right)\approx\frac{1}{M}\sum_{m=1}^{M}\left(f\left(\mathbf{x}_{m}^{+j}\right)-f\left(\mathbf{x}_{m}^{-j}\right)\right),

где MM - число повторов (чем выше, тем точнее оценка), zmz_{m} - случайный объект из выборки, а xm+j,xmj\mathbf{x}_{m}^{+j},\mathbf{x}_{m}^{-j} версии x\mathbf{x}, в которых для одинакового случайного подмножества признаков вместо исходных значений из x\mathbf{x} подставлены значения признаков из zmz_{m}, при этом

  • в xm+j\mathbf{x}_{m}^{+j} jj-й признак равен xj\mathbf{x}^{j} (исходное значение)

  • в xmj\mathbf{x}_{m}^{-j} - jj-й признак равен zjz^{j} (подставлен из zmz_{m})

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

Таким образом, значения Шепли оценивают важность признаков в контексте заданного объекта x\mathbf{x}, а сумма их значений равна отклонению прогноза f(x)f(\mathbf{x}) от среднего прогноза по всем объектам.

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

С помощью значений Шепли можно вычислить и глобальную важность каждого признака. Для этого абсолютные значения Шепли для интересуемого признака усредняются по всем объектам выборки:

Importance(j)=1Nn=1Nϕj(xn)\text{Importance}(j)=\frac{1}{N}\sum_{n=1}^N |\phi_j(\mathbf{x}_n)|

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