J'ai cherché SHAP.
En me concentrant sur l'article 1 montré dans les références, j'expliquerai ce qu'est SHAP en référence à 6, 7 et 8. Puisque l'explication des termes est abstraite dans l'article 1, il est plus facile à comprendre en regardant les exemples concrets de l'article 7.
Comment est-ce? Proposition de valeurs SHAP (SHapley Additive exPlanations), qui est un cadre intégré d'interprétation des prévisions.
Qu'est-ce qui est étonnant par rapport aux recherches précédentes? Il existe de nombreuses méthodes pour définir l'importance des quantités de caractéristiques, mais les relations entre les méthodes n'étaient pas bien comprises. La méthode proposée dans cet article peut trouver une solution unique basée sur une certaine théorie, et la nouvelle classe intègre six méthodes existantes.
Où est le «kimo» de la technologie et de la méthode? (1) Une nouvelle classe d'échelles d'importance des caractéristiques additives a été identifiée. (2) Il a été montré que cette classe a une solution unique et possède certaines propriétés souhaitables.
Disons que le modèle que vous voulez décrire est $ f (\ boldsymbol {x}) $.
y = f(\boldsymbol{x})
Soit le modèle explicable $ g (\ boldsymbol {x '}) $. Dans la méthode ci-dessous, la quantité de caractéristiques pour expliquer le $ f (\ boldsymbol {x}) $ attendu, qui est la sortie, pour chaque entrée $ \ boldsymbol {x} $, et non l'importance de la quantité de caractéristiques pour l'ensemble des données. Trouvez l'importance de. Ces méthodes sont appelées méthodes locales. Par exemple, LIME est des méthodes locales.
Les modèles explicables utilisent souvent des fonctions de carte pour simplifier l'entrée $ \ boldsymbol {x} $ du modèle d'origine à l'entrée $ \ boldsymbol {x '} $ du modèle explicable.
\boldsymbol{x} = h_{\boldsymbol{x}}(\boldsymbol{x}')
Ici, la fonction map est une fonction qui dépend de la valeur d'entrée, car elle a l'indice $ \ boldsymbol {x} $. Cette simplification le traduit en un format d'entrée de $ \ boldsymbol {x '} $ qui vous permet d'interpréter quelle partie de l'entrée du modèle original $ \ boldsymbol {x} $ contribue à la prédiction. Par exemple, si l'entrée est Bag of Words (BOW) et que vous voulez savoir quels mots contribuent à la prédiction, il vous suffit de saisir la présence ou l'absence du mot dans l'entrée $ \ boldsymbol {x} $. Par conséquent, la simplification consiste à convertir une valeur de fréquence non nulle en 1. De plus, l'entrée simplifiée $ \ boldsymbol {x '} $ peut être retournée à l'entrée d'origine avec $ h_ {\ boldsymbol {x}} $. C'est parce que $ h_ {\ boldsymbol {x}} $ a des informations sur l'entrée locale $ \ boldsymbol {x} $.
Simplification: [1, 2, 1, 1, 2, 1, 1, 0, 0, 0] \rightarrow [1, 1, 1, 1, 1, 1, 1, 0, 0, 0] \\
h_{\boldsymbol{x}}: [1, 1, 1, 1, 1, 1, 1, 0, 0, 0] \rightarrow [1, 2, 1, 1, 2, 1, 1, 0, 0, 0] = \boldsymbol{x} \odot \boldsymbol{x'}
Si l'entrée est une image et que vous souhaitez savoir quelle partie de l'image contribue à la prédiction, corrigez les parties continues adjacentes et exprimez la présence ou l'absence du patch en 1/0. Lors du retour à l'espace d'entrée d'origine avec $ h_ {\ boldsymbol {x}} $, la partie patch (1 partie) doit être convertie en l'image d'origine. La partie autre que le patch (partie 0) est retournée avec une couleur de fond appropriée, qui sera expliquée plus loin. Pour l'explication de ce domaine, le blog de Référence 8 est très utile.
Les méthodes locales sont $ g (\ boldsymbol {z '}) \ simeq f (h_ {\ boldsymbol {x}} (\ boldsymbol {\ quand il devient $ \ boldsymbol {x}' \ simeq \ boldsymbol {z} '$ x} ')) Détermine le poids de $ g $ pour qu'il soit $.
Dans l'article 1 , nous allons construire un modèle explicable par une méthode appelée méthodes d'attribution de caractéristiques additives. La simplification se limite à la conversion en variables binaires. Par conséquent, le modèle explicable est une fonction linéaire de variables binaires.
g(z') = \phi_0 + \sum_{i=1}^M\phi_i z_i'
Où $ z '\ in \ {0,1 \} ^ M $ est une entité simplifiée et $ \ phi_i \ in \ mathbb {R} $ est un coefficient qui représente l'effet de l'entité. Dans ce modèle, l'effet de chaque caractéristique est représenté par $ \ phi_i $, et les effets de toutes les caractéristiques sont additionnés pour approximer la sortie du modèle d'origine.
Le coefficient $ \ phi_i $ peut être déterminé de manière unique afin de satisfaire les conditions suivantes.
\begin{aligned}
f(\boldsymbol{x}) = g(\boldsymbol{x}') &= \phi_0 + \sum_{i=1}^M\phi_i x_i' \\
\boldsymbol{x} &= h_\boldsymbol{x}(\boldsymbol{x}') \\
\end{aligned}
x' = 0 \Rightarrow\phi_i=0
$ f_x (\ boldsymbol {z} ') = f (h_ \ boldsymbol {x} (\ boldsymbol {z}')) $, abrégé en $ z_i '= 0 $, $ \ boldsymbol {z}' J'écrirai \ backslash i $. Pour deux modèles quelconques $ f, f '$
f_\boldsymbol{x}'(\boldsymbol{z}') - f_\boldsymbol{x}'(\boldsymbol{z}'\backslash i)
\geq f_\boldsymbol{x}(\boldsymbol{z}') - f_\boldsymbol{x}(\boldsymbol{z}'\backslash i) \ \ \mathrm{for \ all \ inputs } \ \boldsymbol{z}' \in \{0,1\}^M
Lorsque cale, alors $ \ phi_i (f ', \ boldsymbol {x}) \ geq \ phi_i (f, \ boldsymbol {x}) $ tient. Cela nécessite que $ \ phi_i $ augmente également ou reste le même si le modèle est modifié de sorte que la contribution marginale de la fonctionnalité $ i $ augmente ou reste la même (indépendamment des autres fonctionnalités). Je suis.
On sait que le seul modèle explicable peut être déterminé en imposant les trois conditions ci-dessus.
\phi_i(f, \boldsymbol{x}) = \sum_{\boldsymbol{z}'\subseteq \boldsymbol{x}'}\frac{|\boldsymbol{z}'|!(M-|\boldsymbol{z}'|-1)!}{M!}[f_\boldsymbol{x}(\boldsymbol{z}')-f_\boldsymbol{x}(\boldsymbol{z}'\backslash i)]
ici
\phi_i = \sum_{\mathcal{S}\subseteq \mathcal{N}\backslash i}\frac{1}{\frac{N!}{S!(N-S-1)!}}\left( v\left(\mathcal{S}\cup\{i\}\right) - v\left(\mathcal{S}\right) \right)
ici
D'après les résultats ci-dessus, il a été constaté que les méthodes d'attribution de fonctionnalités additives sont uniques à un $ h_ \ boldsymbol {x} $ donné. À l'inverse, les indicateurs qui ne sont pas basés sur les valeurs de Shapley sont considérés comme indésirables car ils ne remplissent pas les trois conditions que devrait avoir l'importance des caractéristiques.
SHAP (SHapley Additive exPlanation) Values
Considérez la valeur SHAP comme une mesure unifiée de l'importance des fonctionnalités. Ceci est une approximation du modèle original $ f $ dans l'équation des valeurs de Shapley à une fonction d'espérance conditionnelle.
f_\boldsymbol{x}(\boldsymbol{z}') \equiv f(h_\boldsymbol{x}(\boldsymbol{z}')) \rightarrow E[f(\boldsymbol{z})|z_S] \\
Expliquez pourquoi vous devez le remplacer par une fonction attendue. La fonction de mappage $ h_ \ boldsymbol {x} (\ boldsymbol {z} ') = z_S $ est une opération qui supprime strictement les fonctionnalités qui ne sont pas incluses dans l'index $ S $. En effet, lors du mappage de l'espace d'entrée du modèle explicable vers l'espace des fonctionnalités d'origine, il peut être judicieux de remplacer la pièce non incluse dans l'index $ S $ par une autre valeur. Parce qu'il y a. Par exemple, dans le cas d'une image, faut-il remplacer toutes les parties qui ne correspondent pas au patch par 0? Ou devrait-il être remplacé par 255? .. D'autre part, dans le cas d'une analyse de régression multiple, le défaut de la quantité de caractéristiques peut être remplacé par 0 car la suppression du terme de la quantité de caractéristiques du modèle équivaut à définir la quantité de caractéristiques sur 0, mais la plupart des modèles sont comme ça. Les valeurs manquantes ne peuvent pas être traitées naturellement. Par conséquent, la fonction de mappage ne fait pas de la partie non incluse dans l'index $ S $ une valeur manquante, mais alloue la valeur aléatoirement en fonction de la distribution des données. Cela permet au modèle de saisir des données. Cela fait de la valeur prédite $ f $ du modèle une fonction attendue conditionnelle à $ z_S $.
Le calcul de la valeur SHapley telle que définie est difficile car cela coûte beaucoup d'argent. ($ \ Sum_ {\ boldsymbol {z} '\ subseteq \ boldsymbol {x}'} $ est l'ordre exponentiel). Cependant, vous pouvez approximer les valeurs SHAP en combinant les informations des méthodes d'attribution des fonctionnalités additives. Utilisez l'indépendance des fonctions et la linéarité du modèle lors des approximations.
\begin{aligned}
E[f(\boldsymbol{z})|z_S] =& E[f(\boldsymbol{z})|z_S]\\
=& E_{\bar z_S}[f(z_S, \bar z_S)] \because \mathrm{Quantité de fonction indépendante} \\
=& f(z_S, E[\bar z_S]) \because \mathrm{Le modèle est linéaire}
\end{aligned}
Dans l'article, six méthodes sont présentées comme le résultat d'approximation de SHAP, ce qui signifie que ces méthodes sont intégrées.
Shapley sampling values Le document est ici. Abandonné pour cause de charge.
Kernel SHAP
Le noyau SHAP est calculé en 5 étapes.
Le noyau SHAP est défini par l'expression suivante:
\pi_\boldsymbol{x}(\boldsymbol{z}') = \frac{M-1}{_MC_{|\boldsymbol{z}'|}|\boldsymbol{z}'|(M-|\boldsymbol{z}'|)}
Résolvez le problème d'optimisation avec une fonction de perte pondérée.
L(f, g, \pi_\boldsymbol{x}) = \sum_{\boldsymbol{z}'\in Z}\left[ f(h_\boldsymbol{x}(\boldsymbol{z}')) - g(\boldsymbol{z}') \right]^2 \pi_\boldsymbol{x}(\boldsymbol{z}')
Linear SHAP
Dans le modèle linéaire $ f (\ boldsymbol {x}) = \ sum_ {j = 1} w_j x_j + b $, si les caractéristiques sont indépendantes, la valeur SHAP sera la suivante. La dérivation est détaillée dans l'annexe dans cet article.
\begin{aligned}
\phi_0(f, \boldsymbol{x}) &= b \\
\phi_i(f, \boldsymbol{x}) &= w_i(x_i - E[x_i])
\end{aligned}
Low-Order SHAP (Je ne sais pas de quoi tu parles) Même dans le cas de la régression linéaire, si Kernel SHAP est utilisé, seul $ \ mathcal O (2 ^ M + M ^ 3) $ doit être calculé, il est donc plus efficace de faire une approximation qui rend les caractéristiques indépendantes (cette approximation est Low- Commandez SHAP?).
Max SHAP Il dit qu'il y a des documents joints, mais n'est-ce pas? Alors je ne sais pas. Il est écrit aux critiques que c'est faux.
Deep SHAP Il prétend que SHAP peut être calculé pour la couche Dense et la couche Maxpool, et cela signifie que SHAP peut être calculé par propagation arrière (est-ce possible dans la partie non linéaire?).
L'arbre de décision peut calculer SHAP efficacement. Avec LightGBM et Xgboost, vous pouvez facilement générer SHAP avec la bibliothèque de la référence 4.
Recommended Posts