Depois de determinar que o Contrafactual Logit Pairing (CLP) é a técnica apropriada para o seu caso de uso, você pode aplicá-la seguindo as etapas a seguir:
- Crie uma instância de
CounterfactualPackedInputs
com os dados originais e contrafactuais. - Meça a taxa de flip e a contagem de flip para determinar se a intervenção é necessária.
- Se for necessária intervenção, passe os dados de entrada originais, dados contrafactuais, modelo original e perda contrafactual para o modelo contrafactual.
- Avalie o impacto do CLP medindo a taxa de flip e a contagem de flip.
Para ver um exemplo de aplicação do CLP a um modelo Keras, consulte o tutorial Use Counterfactual Logit Pairing with Keras .
Crie uma instância de CounterfactualPackedInputs
Para criar o conjunto de dados contrafactuais, comece determinando os termos e recursos que você deseja avaliar que, quando removidos ou substituídos, podem alterar a previsão do seu modelo.
Depois de entender os termos e recursos para avaliar, você precisará criar uma instância de CounterfactualPackedInputs
, que inclui a entrada original e os dados contrafactuais. A entrada original deve ser o conjunto de dados que você usou para treinar seu modelo Keras. Os dados contrafactuais têm um valor original_x
, um valor counterfactual_x
e um counterfactual_sample_weight
. O valor contrafactual deve ser quase idêntico ao valor original, com a diferença de que um ou mais dos atributos sensíveis são removidos ou substituídos. A qualidade do conjunto de dados contrafactuais é importante, pois é usado para emparelhar a função de perda entre o valor original e o valor contrafactual com o objetivo de garantir que a previsão do modelo não mude quando o atributo sensível for diferente.
Para obter detalhes sobre como desenvolver esse conjunto de dados contrafactual, consulte o notebook sobre como criar um conjunto de dados contrafactual personalizado .
Meça a contagem de flip e a taxa de flip
Um flip é definido como um classificador que dá uma decisão diferente quando o atributo sensível referenciado no exemplo muda. Ele captura a situação em que um classificador altera sua previsão na presença, ausência ou alteração de um atributo de identidade. Uma métrica mais contínua deve ser usada ao avaliar o valor real (pontuação) de um classificador.
Contagem de inversão
A contagem de inversão mede o número de vezes que o classificador dá uma decisão diferente se o termo de identidade em um determinado exemplo for alterado.
- Total Flip Count : Total de flips de uma previsão de positivo para negativo e vice-versa.
- Contagem de inversão de previsão positiva para negativa: número de inversões em que o rótulo de previsão mudou de positivo para negativo.
- Contagem de inversão de previsão negativa para positiva : Número de inversões em que o rótulo de previsão mudou de negativo para positivo.
Taxa de inversão
A taxa de inversão mede a probabilidade de que o classificador dê uma decisão diferente se o termo de identidade em um determinado exemplo for alterado.
- Taxa de inversão geral : contagem total de inversão sobre o número total de exemplos
- Taxa de inversão de previsão positiva para negativa: contagem de inversão positiva para negativa sobre exemplos positivos no conjunto de dados contrafactuais
- Taxa de inversão de previsão negativa para positiva: contagem de inversão negativa para positiva sobre exemplos negativos no conjunto de dados contrafactuais
Depois de calcular a taxa de inversão e a contagem de inversão com indicadores de imparcialidade , você pode determinar se o classificador está fazendo uma previsão diferente com base em um atributo sensível nos dados. Você pode usar a contagem de exemplo e os intervalos de confiança para determinar se você tem dados suficientes para aplicar o CLP e tirar conclusões da taxa de inversão. Uma alta taxa de inversão e contagem de inversão são indicativas da ocorrência desse comportamento e podem ser usadas para decidir se o CLP é apropriado para seu caso de uso. Essa decisão é específica para seu modelo e depende de fatores como o dano que pode ser causado aos usuários finais e o produto em que o modelo é usado.
Aplique o emparelhamento de logit contrafactual ao seu modelo Keras
Para usar o CLP, você precisa do modelo Keras original que deseja corrigir, do conjunto de dados de treinamento original e do conjunto de dados contrafactual. Determine qual counterfactual loss
deve ser aplicada para o emparelhamento de logit. Com isso, você pode construir o modelo Contrafactual com a função de perda contrafactual desejada e a função de perda do seu modelo original.
Depois de aplicar o CLP, você deve calcular a taxa de flip e a contagem de flip e quaisquer alterações em outras métricas, como precisão geral, para medir a melhoria resultante da aplicação dessa técnica.