Uso del emparejamiento logit contrafactual

Una vez que haya determinado que el emparejamiento logit contrafactual (CLP) es la técnica adecuada para su caso de uso, puede aplicarla siguiendo los siguientes pasos:

  1. Cree una instancia de CounterfactualPackedInputs con los datos originales y contrafácticos.
  2. Mida la tasa de volteo y el conteo de volteo para determinar si se necesita intervención.
  3. Si se necesita intervención, pase los datos de entrada originales, los datos contrafactuales, el modelo original y la pérdida contrafactual al modelo contrafactual.
  4. Evalúe el impacto de CLP midiendo la tasa de cambio y el conteo de cambios.

Para ver un ejemplo de cómo aplicar el CLP a un modelo de Keras, consulte el tutorial Usar emparejamiento logit contrafactual con Keras .

Crear una instancia de CounterfactualPackedInputs

Para crear el conjunto de datos contrafactuales, comience por determinar los términos y características que desea evaluar que, cuando se eliminan o reemplazan, pueden alterar la predicción de su modelo.

Una vez que comprenda los términos y las funciones para evaluar, deberá crear una instancia de CounterfactualPackedInputs , que incluye la entrada original y los datos contrafácticos. La entrada original debe ser el conjunto de datos que usó para entrenar su modelo de Keras. Los datos contrafactuales tienen un valor original_x , un valor counterfactual_x y un counterfactual_sample_weight . El valor contrafactual debe ser casi idéntico al valor original, con la diferencia de que uno o más de los atributos sensibles se eliminan o reemplazan. La calidad del conjunto de datos contrafactuales es importante, ya que se utiliza para emparejar la función de pérdida entre el valor original y el valor contrafactual con el objetivo de garantizar que la predicción del modelo no cambie cuando el atributo sensible sea diferente.

Para obtener detalles sobre cómo desarrollar este conjunto de datos contrafactuales, consulte el cuaderno sobre cómo crear un conjunto de datos contrafactuales personalizado .

Medir el número de vueltas y la tasa de vueltas

Un flip se define como un clasificador que da una decisión diferente cuando cambia el atributo sensible al que se hace referencia en el ejemplo. Captura la situación en la que un clasificador cambia su predicción en presencia, ausencia o cambio de un atributo de identidad. Se debe utilizar una métrica más continua al evaluar el valor real (puntuación) de un clasificador.

Cuenta de vueltas

Flip count mide la cantidad de veces que el clasificador da una decisión diferente si se cambia el término de identidad en un ejemplo dado.

  • Total Flip Count : Total de cambios de una predicción de positivo a negativo y viceversa.
  • Recuento de cambios de predicción de positivo a negativo: número de cambios en los que la etiqueta de predicción cambió de positivo a negativo.
  • Recuento de cambios de predicción de negativo a positivo: número de cambios en los que la etiqueta de predicción cambió de negativo a positivo.

Tasa de volteo

La tasa de cambio mide la probabilidad de que el clasificador dé una decisión diferente si se cambia el término de identidad en un ejemplo dado.

  • Tasa general de cambios: recuento total de cambios sobre el número total de ejemplos
  • Tasa de cambio de predicción de positivo a negativo: Recuento de cambio de positivo a negativo sobre ejemplos positivos en un conjunto de datos contrafactuales
  • Tasa de volteo de predicción de negativo a positivo: Recuento de volteo de negativo a positivo sobre ejemplos negativos en un conjunto de datos contrafactuales

Después de calcular la tasa de cambio y el conteo de cambios con los indicadores de equidad , puede determinar si el clasificador está haciendo una predicción diferente en función de un atributo sensible dentro de los datos. Puede usar el conteo de ejemplo y los intervalos de confianza para determinar si tiene datos suficientes para aplicar CLP y sacar conclusiones de la tasa de inversión. Una alta tasa de cambios y un conteo de cambios son indicativos de este comportamiento y se pueden usar para decidir si CLP es apropiado para su caso de uso. Esta decisión es específica de su modelo y depende de factores como el daño que se puede causar a los usuarios finales y el producto en el que se utiliza el modelo.

Aplique emparejamiento logit contrafactual a su modelo de Keras

Para usar CLP, necesita el modelo de Keras original que desea remediar, el conjunto de datos de entrenamiento original y el conjunto de datos contrafácticos. Determine qué counterfactual loss debe aplicarse para el emparejamiento logit. Con esto, puede construir el modelo contrafactual con la función de pérdida contrafactual deseada y la función de pérdida de su modelo original.

Después de aplicar CLP, debe calcular la tasa de cambio y el conteo de cambios, y cualquier cambio en otras métricas, como la precisión general, para medir la mejora que resultó de aplicar esta técnica.