Une fois que vous avez déterminé que le couplage logit contrefactuel (CLP) est la technique appropriée pour votre cas d'utilisation, vous pouvez l'appliquer en suivant les étapes suivantes :
- Créez une instance de
CounterfactualPackedInputs
avec les données originales et contrefactuelles. - Mesurez le taux de retournement et le nombre de retournements pour déterminer si une intervention est nécessaire.
- Si une intervention est nécessaire, transmettez les données d'entrée d'origine, les données contrefactuelles, le modèle d'origine et la perte contrefactuelle au modèle contrefactuel.
- Évaluez l’impact du CLP en mesurant le taux de retournement et le nombre de retournements.
Pour voir un exemple d'application du CLP à un modèle Keras, consultez le didacticiel Utiliser le couplage logit contrefactuel avec Keras .
Créer une instance de CounterfactualPackedInputs
Pour créer l'ensemble de données contrefactuelles, commencez par déterminer les termes et caractéristiques que vous souhaitez évaluer et qui, une fois supprimés ou remplacés, peuvent modifier la prédiction de votre modèle.
Une fois que vous avez compris les termes et les fonctionnalités à évaluer, vous devrez créer une instance de CounterfactualPackedInputs
, qui inclut les données d'entrée d'origine et les données contrefactuelles. L'entrée d'origine doit être l'ensemble de données que vous avez utilisé pour entraîner votre modèle Keras. Les données contrefactuelles ont une valeur original_x
, une valeur counterfactual_x
et un counterfactual_sample_weight
. La valeur contrefactuelle doit être presque identique à la valeur d'origine, la différence étant qu'un ou plusieurs des attributs sensibles sont supprimés ou remplacés. La qualité de l'ensemble de données contrefactuelles est importante car elle est utilisée pour associer la fonction de perte entre la valeur d'origine et la valeur contrefactuelle dans le but de garantir que la prédiction du modèle ne change pas lorsque l'attribut sensible est différent.
Pour plus de détails sur la façon de développer cet ensemble de données contrefactuelles, consultez le bloc-notes sur la création d'un ensemble de données contrefactuelles personnalisées .
Mesurer le nombre de retournements et le taux de retournements
Un flip est défini comme un classificateur donnant une décision différente lorsque l'attribut sensible référencé dans l'exemple change. Il capture la situation dans laquelle un classificateur modifie sa prédiction en présence, en absence ou en changement d'un attribut d'identité. Une métrique plus continue doit être utilisée lors de l’évaluation de la valeur réelle (score) d’un classificateur.
Nombre de retournements
Le nombre de retournements mesure le nombre de fois que le classificateur donne une décision différente si le terme d'identité dans un exemple donné était modifié.
- Nombre global de retournements : nombre total de retournements d'une prédiction du positif au négatif et vice versa.
- Nombre de retournements de prédiction positifs à négatifs : nombre de retournements où l'étiquette de prédiction est passée de positive à négative.
- Nombre de retournements de prédiction négatifs à positifs : nombre de retournements où l'étiquette de prédiction est passée de négative à positive.
Taux de retournement
Le taux de retournement mesure la probabilité que le classificateur donne une décision différente si le terme d'identité dans un exemple donné était modifié.
- Taux de retournement global : nombre total de retournements sur le nombre total d'exemples
- Taux de retournement de prédiction positif à négatif : nombre de retournements positifs à négatifs sur des exemples positifs dans un ensemble de données contrefactuelles
- Taux de retournement de prédiction négatif à positif : nombre de retournements négatifs à positifs sur des exemples négatifs dans un ensemble de données contrefactuelles
Après avoir calculé le taux de retournement et le nombre de retournements avec les indicateurs d'équité , vous pouvez déterminer si le classificateur fait une prédiction différente en fonction d'un attribut sensible dans les données. Vous pouvez utiliser l'exemple de nombre et d'intervalles de confiance pour déterminer si vous disposez de suffisamment de données pour appliquer le CLP et tirer des conclusions du taux de retournement. Un taux de retournement et un nombre de retournements élevés indiquent que ce comportement se produit et peuvent être utilisés pour décider si le CLP est approprié pour votre cas d'utilisation. Cette décision est spécifique à votre modèle et dépend de facteurs tels que le préjudice pouvant être causé aux utilisateurs finaux et le produit dans lequel le modèle est utilisé.
Appliquer le couplage Logit contrefactuel à votre modèle Keras
Pour utiliser CLP, vous avez besoin du modèle Keras d'origine que vous souhaitez corriger, de l'ensemble de données de formation d'origine et de l'ensemble de données contrefactuels. Déterminez quelle counterfactual loss
doit être appliquée pour l’appariement logit. Avec cela, vous pouvez créer le modèle contrefactuel avec la fonction de perte contrefactuelle souhaitée et la fonction de perte à partir de votre modèle d'origine.
Après avoir appliqué le CLP, vous devez calculer le taux de retournements et le nombre de retournements, ainsi que tout changement dans d'autres mesures telles que la précision globale pour mesurer l'amélioration résultant de l'application de cette technique.